[X2Go-Commits] [pale-moon] 102/102: Don't trust convexity when applying transforms.

git-admin at x2go.org git-admin at x2go.org
Mon Feb 25 23:25:58 CET 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch upstream/28.4.0
in repository pale-moon.

commit 915ae7981a0fa998f244780549bb14822f765126
Author: wolfbeast <mcwerewolf at wolfbeast.com>
Date:   Mon Feb 18 11:49:00 2019 +0100

    Don't trust convexity when applying transforms.
    
    In theory, a convex shape transformed by an affine matrix should still
    be convex. However, due to numerical imprecision of floats, when we try
    to determine if something is convex, we can get different answers pre
    and post a transformation (think of two line segments nearly co-linear).
    
    Convex paths take a faster scan converter, but it is only well behaved
    if the path is, in fact, convex. Thus we have to be conservative about
    which paths we mark as convex, and cant's trust transformed paths to
    retain their convexity. We re-calculate when a transform is applied.
---
 gfx/skia/skia/src/core/SkPath.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gfx/skia/skia/src/core/SkPath.cpp b/gfx/skia/skia/src/core/SkPath.cpp
index b7d3920..fc3db3e 100644
--- a/gfx/skia/skia/src/core/SkPath.cpp
+++ b/gfx/skia/skia/src/core/SkPath.cpp
@@ -1744,7 +1744,7 @@ void SkPath::transform(const SkMatrix& matrix, SkPath* dst) const {
 
         if (this != dst) {
             dst->fFillType = fFillType;
-            dst->fConvexity = fConvexity;
+            dst->fConvexity = kUnknown_Convexity;
             dst->fIsVolatile = fIsVolatile;
         }
 

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git


More information about the x2go-commits mailing list