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

git-admin at x2go.org git-admin at x2go.org
Sat Apr 27 08:57:46 CEST 2019


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

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

commit 27f45bc243b45a13c65fb42db0369fd8b8317675
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