[cairo-commit] libpixman/src icimage.c, 1.25, 1.26 icrect.c, 1.13, 1.14

Owen Taylor commit at pdx.freedesktop.org
Thu Apr 28 11:16:54 PDT 2005


Committed by: otaylor

Update of /cvs/cairo/libpixman/src
In directory gabe:/tmp/cvs-serv24936/src

Modified Files:
	icimage.c icrect.c 
Log Message:
2005-04-27  Owen Taylor  <otaylor at redhat.com>

        * src/icimage.c (pixman_image_set_clip_region): Set
        image->pCompositeClip here.
        (IcComputeCompositeRegion) src/icrect.c (pixman_color_rects):
        Remove workaround clipping to the clientClip.


Index: icimage.c
===================================================================
RCS file: /cvs/cairo/libpixman/src/icimage.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- icimage.c	3 Mar 2005 22:27:31 -0000	1.25
+++ icimage.c	28 Apr 2005 18:16:52 -0000	1.26
@@ -283,6 +283,22 @@
 	pixman_region_copy (image->clientClip, region);
 	image->clientClipType = CT_REGION;
     }
+    
+    image->pCompositeClip = pixman_region_create();
+    pixman_region_union_rect (image->pCompositeClip, image->pCompositeClip,
+			      0, 0, image->pixels->width, image->pixels->height);
+    if (region) {
+	pixman_region_translate (image->pCompositeClip,
+				 - image->clipOrigin.x,
+				 - image->clipOrigin.y);
+	pixman_region_intersect (image->pCompositeClip,
+				 image->pCompositeClip,
+				 region);
+	pixman_region_translate (image->pCompositeClip,
+				 image->clipOrigin.x,
+				 image->clipOrigin.y);
+    }
+    
     image->stateChanges |= CPClipMask;
     return 0;
 }
@@ -629,13 +645,6 @@
 	    return 0;
 	}
     }
-    if (iDst->clientClipType != CT_NONE) {
-	if (!IcClipImageReg (region, iDst->clientClip, 0, 0))
-        {
-	    pixman_region_destroy (region);
-	    return 0;
-        }
-    }
     return 1;
 }
 

Index: icrect.c
===================================================================
RCS file: /cvs/cairo/libpixman/src/icrect.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- icrect.c	2 Mar 2005 15:43:33 -0000	1.13
+++ icrect.c	28 Apr 2005 18:16:52 -0000	1.14
@@ -146,8 +146,6 @@
 				 clipPict->alphaOrigin.x,
 				 clipPict->alphaOrigin.y);
     }
-    if (clipPict->clientClipType != CT_NONE)
-	pixman_region_intersect (clip, clip, clipPict->clientClip);
 
     if (xoff || yoff)
     {




More information about the cairo-commit mailing list