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 <[email protected]> AuthorDate: Wed Aug 19 15:10:55 2020 +0200 Commit: Stephan Bergmann <[email protected]> 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 <[email protected]> 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 <[email protected]> AuthorDate: Wed Aug 19 11:10:12 2020 +0200 Commit: Luboš Luňák <[email protected]> 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 <[email protected]> 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 ); + } } } } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
