diff options
-rw-r--r-- | drawinglayer/source/processor2d/vclprocessor2d.cxx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx index 38cb499163fa..cf1ea90aa228 100644 --- a/drawinglayer/source/processor2d/vclprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx @@ -785,6 +785,17 @@ void VclProcessor2D::RenderPolyPolygonGraphicPrimitive2D( } } +namespace +{ +bool isRectangles(const basegfx::B2DPolyPolygon& rPolyPoly) +{ + for (sal_uInt32 i = 0, nCount = rPolyPoly.count(); i < nCount; ++i) + if (!basegfx::utils::isRectangle(rPolyPoly.getB2DPolygon(i))) + return false; + return true; +} +} + // mask group void VclProcessor2D::RenderMaskPrimitive2DPixel(const primitive2d::MaskPrimitive2D& rMaskCandidate) { @@ -799,7 +810,7 @@ void VclProcessor2D::RenderMaskPrimitive2DPixel(const primitive2d::MaskPrimitive aMask.transform(maCurrentTransformation); // Unless smooth edges are needed, simply use clipping. - if (basegfx::utils::isRectangle(aMask) || !SvtOptionsDrawinglayer::IsAntiAliasing()) + if (isRectangles(aMask) || !SvtOptionsDrawinglayer::IsAntiAliasing()) { mpOutputDevice->Push(vcl::PushFlags::CLIPREGION); mpOutputDevice->IntersectClipRegion(vcl::Region(aMask)); |