| 
 |  | 
   XIntersectRegion(sra, srb, dr_return)
         Region sra, srb, dr_return;
   
   XUnionRegion(sra, srb, dr_return)
         Region sra, srb, dr_return;
   
   XUnionRectWithRegion(rectangle, src_region, dest_region_return)
         XRectangle *rectangle;
         Region src_region;
         Region dest_region_return;
   
   XSubtractRegion(sra, srb, dr_return)
         Region sra, srb, dr_return;
   
   XXorRegion(sra, srb, dr_return)
         Region sra, srb, dr_return;
   
   XOffsetRegion(r, dx, dy)
         Region r;
         int dx, dy;
   
   XShrinkRegion(r, dx, dy)
         Region r;
         int dx, dy;
The XUnionRegion function computes the union of two regions.
The XUnionRectWithRegion function updates the destination region from a union of the specified rectangle and the specified source region.
The XSubtractRegion function subtracts srb from sra and stores the results in dr_return.
The XXorRegion function calculates the difference between the union and intersection of two regions.
The XOffsetRegion function moves the specified region by a specified amount.
The XShrinkRegion function reduces the specified region by a specified amount. Positive values shrink the size of the region, and negative values expand the region.