vcl/skia/gdiimpl.cxx | 6 ++++++ 1 file changed, 6 insertions(+) New commits: commit 19a1ec8cba304bc95bb7130ce4dfa5733c9c97f5 Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Wed Oct 30 09:57:46 2019 +0100 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Wed Oct 30 09:59:33 2019 +0100
use SkPath::kEvenOdd_FillType for polypolygon paths in Skia Apparently that is the rule LO code uses, seeing e.g. the last screen in visualbackendtest. Change-Id: I88da7e96df9748cc6ffb3fbb6901512f59210cab diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index 1565f23c98ca..0f07ebd5a1d9 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -260,6 +260,7 @@ static SkRegion toSkRegion(const vcl::Region& region) { SkPath path; lclPolyPolygonToPath(region.GetAsB2DPolyPolygon(), path); + path.setFillType(SkPath::kEvenOdd_FillType); SkRegion skRegion; skRegion.setPath(path, SkRegion(path.getBounds().roundOut())); return skRegion; @@ -298,6 +299,7 @@ bool SkiaSalGraphicsImpl::setClipRegion(const vcl::Region& region) { SkPath path; lclPolyPolygonToPath(region.GetAsB2DPolyPolygon(), path); + path.setFillType(SkPath::kEvenOdd_FillType); canvas->clipPath(path); } else @@ -459,6 +461,7 @@ bool SkiaSalGraphicsImpl::drawPolyPolygon(const basegfx::B2DHomMatrix& rObjectTo basegfx::B2DPolyPolygon aPolyPolygon(rPolyPolygon); aPolyPolygon.transform(rObjectToDevice); lclPolyPolygonToPath(aPolyPolygon, aPath); + aPath.setFillType(SkPath::kEvenOdd_FillType); SkPaint aPaint; if (mFillColor != SALCOLOR_NONE) @@ -561,6 +564,7 @@ bool SkiaSalGraphicsImpl::drawPolyLine(const basegfx::B2DHomMatrix& rObjectToDev SkPath aPath; lclPolygonToPath(rPolyLine, aPath); + aPath.setFillType(SkPath::kEvenOdd_FillType); SkMatrix matrix = SkMatrix::MakeTrans(0.5, 0.5); { SkAutoCanvasRestore autoRestore(mSurface->getCanvas(), true); @@ -729,6 +733,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl { SkPath aPath; lclPolygonToPath(rPoly, aPath); + aPath.setFillType(SkPath::kEvenOdd_FillType); SkPaint aPaint; aPaint.setStrokeWidth(2); float intervals[] = { 4.0f, 4.0f }; @@ -743,6 +748,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl { SkPath aPath; lclPolygonToPath(rPoly, aPath); + aPath.setFillType(SkPath::kEvenOdd_FillType); SkPaint aPaint; aPaint.setColor(SkColorSetARGB(255, 255, 255, 255)); aPaint.setStyle(SkPaint::kFill_Style); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits