[Libreoffice-commits] core.git: Branch 'feature/skia' - vcl/skia

Luboš Luňák (via logerrit) logerrit at kemper.freedesktop.org
Wed Oct 23 13:14:17 UTC 2019


Rebased ref, commits from common ancestor:
commit 31028570059b06c4140a3abb0bf43893ccd7aa49
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Wed Oct 23 13:25:12 2019 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Wed Oct 23 15:13:10 2019 +0200

    finish Skia toSkRegion()
    
    vcldemo now starts without aborting
    
    Change-Id: Ic9cd382d0f638f2040a0ac5fc204bce13f6768a9

diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index c9d5d05ea433..1ae116c1fd29 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -234,7 +234,15 @@ static SkRegion toSkRegion(const vcl::Region& region)
         return SkRegion();
     if (region.IsRectangle())
         return SkRegion(toSkIRect(region.GetBoundRect()));
-    if (!region.HasPolyPolygonOrB2DPolyPolygon())
+    if (region.HasPolyPolygonOrB2DPolyPolygon())
+    {
+        SkPath path;
+        lclPolyPolygonToPath(region.GetAsB2DPolyPolygon(), path);
+        SkRegion skRegion;
+        skRegion.setPath(path, SkRegion(path.getBounds().roundOut()));
+        return skRegion;
+    }
+    else
     {
         SkRegion skRegion;
         RectangleVector rectangles;
@@ -243,7 +251,6 @@ static SkRegion toSkRegion(const vcl::Region& region)
             skRegion.op(toSkIRect(rect), SkRegion::kUnion_Op);
         return skRegion;
     }
-    abort();
 }
 
 bool SkiaSalGraphicsImpl::setClipRegion(const vcl::Region& region)


More information about the Libreoffice-commits mailing list