diff options
author | caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-04-17 15:49:16 +0000 |
---|---|---|
committer | caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-04-17 15:49:16 +0000 |
commit | b3f0921fba9457ba7ea79f220d8c1ec9345bfd3a (patch) | |
tree | 88e4c5e6b5f7622e4949073f8de141c2685a503e /src/pathops/SkIntersections.h | |
parent | 319baf99636c39f41d93c8808b7be3d198aa27b4 (diff) |
shape ops work in progress
Try to fix the 32 bit build by making some math
decisions more robust.
Rewrite the cubic intersection special case that
detects if only end points are shared.
Rewrite the angle sort setup that computes whether
a cubic bends to the left or right.
git-svn-id: http://skia.googlecode.com/svn/trunk@8726 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/pathops/SkIntersections.h')
-rw-r--r-- | src/pathops/SkIntersections.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/pathops/SkIntersections.h b/src/pathops/SkIntersections.h index c2f05fe936..a677a38b43 100644 --- a/src/pathops/SkIntersections.h +++ b/src/pathops/SkIntersections.h @@ -36,6 +36,15 @@ public: }; TArray operator[](int n) const { return TArray(fT[n]); } + void set(const SkIntersections& i) { + memcpy(fPt, i.fPt, sizeof(fPt)); + memcpy(fT, i.fT, sizeof(fT)); + memcpy(fIsCoincident, i.fIsCoincident, sizeof(fIsCoincident)); + fUsed = i.fUsed; + fSwap = i.fSwap; + SkDEBUGCODE(fDepth = i.fDepth); + } + int cubic(const SkPoint a[4]) { SkDCubic cubic; cubic.set(a); |