// Computes the difference between aR1 and aR2, limited to aBounds. static void AccumulateRectDifference(const nsRect& aR1, const nsRect& aR2, const nsRect& aBounds, nsRegion* aOut) { if (aR1.IsEqualInterior(aR2)) return; nsRegion r; r.Xor(aR1, aR2); r.And(r, aBounds); aOut->Or(*aOut, r); }