Code

Don't clip mask surface to mask bounding box.
authortavmjong <tavmjong@users.sourceforge.net>
Sat, 20 Sep 2008 13:14:01 +0000 (13:14 +0000)
committertavmjong <tavmjong@users.sourceforge.net>
Sat, 20 Sep 2008 13:14:01 +0000 (13:14 +0000)
The mask bounding box is the geometric bounding box which dosn't allow
for filters that can extend outside the box. Partial fix for bug 208217.

src/extension/internal/cairo-renderer.cpp

index 25cbc14ade165cbfa3cd2ff5286702967039cc31..2b74c6f7ca95830eea40b4b705d71c1fec72c065 100644 (file)
@@ -748,8 +748,10 @@ CairoRenderer::applyMask(CairoRenderContext *ctx, SPMask const *mask)
         ctx->setTransform(&t);
     }
 
-    // clip mask contents
-    ctx->addClippingRect(mask_bbox.x0, mask_bbox.y0, mask_bbox.x1 - mask_bbox.x0, mask_bbox.y1 - mask_bbox.y0);
+    // Clip mask contents... but...
+    // The mask's bounding box is the "geometric bounding box" which doesn't allow for
+    // filters which extend outside the bounding box. So don't clip.
+    // ctx->addClippingRect(mask_bbox.x0, mask_bbox.y0, mask_bbox.x1 - mask_bbox.x0, mask_bbox.y1 - mask_bbox.y0);
 
     ctx->pushState();