[Libreoffice-commits] .: drawinglayer/source

Michael Stahl mst at kemper.freedesktop.org
Wed Apr 18 13:18:25 PDT 2012


 drawinglayer/source/primitive2d/borderlineprimitive2d.cxx |   22 ++++++++++----
 1 file changed, 16 insertions(+), 6 deletions(-)

New commits:
commit 49bd0e4e6bb0ed0671de72d84700ddcc49828f69
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Apr 18 22:15:19 2012 +0200

    fdo#48647: drawinglayer: fix double hairline borders:
    
    Clipping the border polygon to the region defined by the Extends is
    sufficient to create a nice looking 1 twip double border in Writer.
    (regression from 0f0896c26fb260d1bbf31d7a886df3f61837f0f2)

diff --git a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
index 1834d36..86f58d6 100644
--- a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
@@ -114,9 +114,14 @@ namespace drawinglayer
                             aLeft.append(aTmpStart);
                             aLeft.append(aTmpEnd);
 
-                            xRetval[nInsert++] = Primitive2DReference(new PolygonHairlinePrimitive2D(
-                                aLeft,
-                                getRGBColorLeft()));
+                            basegfx::B2DPolyPolygon const aClipped =
+                                basegfx::tools::clipPolygonOnPolyPolygon(
+                                    aLeft, aClipRegion, true, true);
+
+                            xRetval[nInsert++] =
+                                new PolyPolygonHairlinePrimitive2D(
+                                    aClipped,
+                                    getRGBColorLeft());
 
                             aGap.append( getStart() - getExtendLeftStart() * aVector );
                             aGap.append( getEnd() + getExtendLeftEnd() * aVector );
@@ -159,9 +164,14 @@ namespace drawinglayer
                             aRight.append(aTmpStart);
                             aRight.append(aTmpEnd);
 
-                            xRetval[nInsert++] = Primitive2DReference(new PolygonHairlinePrimitive2D(
-                                aRight,
-                                getRGBColorRight()));
+                            basegfx::B2DPolyPolygon const aClipped =
+                                basegfx::tools::clipPolygonOnPolyPolygon(
+                                    aRight, aClipRegion, true, true);
+
+                            xRetval[nInsert++] =
+                                new PolyPolygonHairlinePrimitive2D(
+                                    aClipped,
+                                    getRGBColorRight());
 
                             aGap.append( getStart() - getExtendRightStart() * aVector );
                             aGap.append( getEnd() + getExtendRightEnd() * aVector );


More information about the Libreoffice-commits mailing list