[Libreoffice-commits] core.git: 2 commits - canvas/source scp2/source

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Wed Aug 19 14:56:22 UTC 2020


 canvas/source/vcl/canvashelper.cxx |   44 ++++++++++++++++++++++---------------
 scp2/source/ooo/common_brand.scp   |    9 -------
 2 files changed, 27 insertions(+), 26 deletions(-)

New commits:
commit 6ee46adb446f5350df2b1efc7fc3ffe2506dfaa0
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Wed Aug 19 15:10:55 2020 +0200
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Wed Aug 19 16:55:46 2020 +0200

    Remove BuildVersion from installation set version ini files
    
    ...after 5fdf2009d21fa220dfee70ea755bd698c16257a7 "tdf#134522 remove
    --with-build-version ./configure flag" had already removed it from the
    instdir/ version ini file (but apparently forgot to also remove it from
    installation set version ini files) and 00fa759dc9f13eb4618a7762be9ca6eaf3fd37f7
    "tdf#135133: Don't try to read BuildVersion" removed its last consumer now
    
    Change-Id: I98fd71e218fc0ede74ebc1b2e649011616d559ad
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100997
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 5f989c65cdf2..5eba313cdbc6 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -599,15 +599,6 @@ ProfileItem gid_Brand_Profileitem_Version_Vendor
     Value = "<vendor>";
 End
 
-ProfileItem gid_Brand_Profileitem_Version_BuildVersion
-    ProfileID = gid_Brand_Profile_Version_Ini;
-    ModuleID = gid_Module_Root_Brand;
-    Section = "Version";
-    Order = 17;
-    Key = "BuildVersion";
-    Value = "<buildversion>";
-End
-
 ProfileItem gid_Brand_Profileitem_Version_Extensionupdateurl
     ProfileID = gid_Brand_Profile_Version_Ini;
     ModuleID = gid_Module_Root_Brand;
commit b0788ff11481568b413ff6e4c3ea4871984af974
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Wed Aug 19 11:10:12 2020 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Wed Aug 19 16:55:37 2020 +0200

    don't split polypolygon in canvas if not needed (tdf#135395)
    
    Those polygons will be merged back in Skia because of
    12147e0322e0fdd1b561c94e7ebd3fdd69ceaac0, which is costly with
    tdf#135395. And if the only reason for the splitting is that
    the polygon requires a winding rule but DrawPolyPolygon() uses
    evenodd rule, then simply convert the polygon to the evenodd rule.
    
    Change-Id: Iba5ec31d6d6407f734b20badc80c846071068d40
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100976
    Tested-by: Jenkins
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/canvas/source/vcl/canvashelper.cxx b/canvas/source/vcl/canvashelper.cxx
index 78a0ae336b96..fcfabb8e033d 100644
--- a/canvas/source/vcl/canvashelper.cxx
+++ b/canvas/source/vcl/canvashelper.cxx
@@ -25,6 +25,7 @@
 #include <basegfx/polygon/b2dlinegeometry.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
+#include <basegfx/polygon/b2dpolypolygoncutter.hxx>
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <basegfx/range/b2drectangle.hxx>
 #include <basegfx/utils/canvastools.hxx>
@@ -394,24 +395,33 @@ namespace vclcanvas
             // user coordinates.
             aStrokedPolyPoly.transform( aMatrix );
 
-            // TODO(F2): When using alpha here, must handle that via
-            // temporary surface or somesuch.
-
-            // Note: the generated stroke poly-polygon is NOT free of
-            // self-intersections. Therefore, if we would render it
-            // via OutDev::DrawPolyPolygon(), on/off fill would
-            // generate off areas on those self-intersections.
-            for( sal_uInt32 i=0; i<aStrokedPolyPoly.count(); ++i )
+            if(aStrokedPolyPoly.isClosed())
             {
-                const basegfx::B2DPolygon& polygon = aStrokedPolyPoly.getB2DPolygon( i );
-                if( polygon.isClosed()) {
-                    mpOutDevProvider->getOutDev().DrawPolygon( polygon );
-                    if( mp2ndOutDevProvider )
-                        mp2ndOutDevProvider->getOutDev().DrawPolygon( polygon );
-                } else {
-                    mpOutDevProvider->getOutDev().DrawPolyLine( polygon );
-                    if( mp2ndOutDevProvider )
-                        mp2ndOutDevProvider->getOutDev().DrawPolyLine( polygon );
+                // Note: the generated stroke poly-polygon is NOT free of
+                // self-intersections. Therefore, if we would render it
+                // directly via OutDev::DrawPolyPolygon(), on/off fill would
+                // generate off areas on those self-intersections.
+                aStrokedPolyPoly = basegfx::utils::createNonzeroConform( aStrokedPolyPoly );
+                mpOutDevProvider->getOutDev().DrawPolyPolygon( aStrokedPolyPoly );
+                if( mp2ndOutDevProvider )
+                    mp2ndOutDevProvider->getOutDev().DrawPolyPolygon( aStrokedPolyPoly );
+            }
+            else
+            {
+                // TODO(F2): When using alpha here, must handle that via
+                // temporary surface or somesuch.
+                for( sal_uInt32 i=0; i<aStrokedPolyPoly.count(); ++i )
+                {
+                    const basegfx::B2DPolygon& polygon = aStrokedPolyPoly.getB2DPolygon( i );
+                    if( polygon.isClosed()) {
+                        mpOutDevProvider->getOutDev().DrawPolygon( polygon );
+                        if( mp2ndOutDevProvider )
+                            mp2ndOutDevProvider->getOutDev().DrawPolygon( polygon );
+                    } else {
+                        mpOutDevProvider->getOutDev().DrawPolyLine( polygon );
+                        if( mp2ndOutDevProvider )
+                            mp2ndOutDevProvider->getOutDev().DrawPolyLine( polygon );
+                    }
                 }
             }
         }


More information about the Libreoffice-commits mailing list