[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