diff options
author | caryclark <caryclark@google.com> | 2015-04-20 08:31:59 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-20 08:31:59 -0700 |
commit | 1049f1246e7be4ccb68001361efceb8933e6f81c (patch) | |
tree | 9c71ceb245856cbe2173913eaec3b0ebb490dd74 /src/pathops/SkOpAngle.h | |
parent | 5c476fb2776639bdbf0e974dd38d1c5d4c4ff1aa (diff) |
Now, path ops natively intersect conics, quads, and cubics in any combination. There are still a class of cubic tests that fail and a handful of undiagnosed failures from skps and fuzz tests, but things are much better overall.
Extended tests (150M+) run to completion in release in about 6 minutes; the standard test suite exceeds 100K and finishes in a few seconds on desktops.
TBR=reed
BUG=skia:3588
Review URL: https://codereview.chromium.org/1037953004
Diffstat (limited to 'src/pathops/SkOpAngle.h')
-rw-r--r-- | src/pathops/SkOpAngle.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/pathops/SkOpAngle.h b/src/pathops/SkOpAngle.h index 84b37010c9..9947b43471 100644 --- a/src/pathops/SkOpAngle.h +++ b/src/pathops/SkOpAngle.h @@ -8,6 +8,7 @@ #define SkOpAngle_DEFINED #include "SkLineParameters.h" +#include "SkPathOpsCurve.h" #if DEBUG_ANGLE #include "SkString.h" #endif @@ -38,7 +39,7 @@ struct SkOpAngle { SkOpContour* debugContour(int id); int debugID() const { - return PATH_OPS_DEBUG_RELEASE(fID, -1); + return SkDEBUGRELEASE(fID, -1); } #if DEBUG_SORT @@ -75,7 +76,7 @@ struct SkOpAngle { SkOpSpanBase* lastMarked() const; bool loopContains(const SkOpAngle* ) const; int loopCount() const; - void markStops(); + bool markStops(); bool merge(SkOpAngle* ); double midT() const; bool midToSide(const SkOpAngle* rh, bool* inside) const; @@ -102,7 +103,7 @@ struct SkOpAngle { void setCurveHullSweep(); void setID(int id) { - PATH_OPS_DEBUG_CODE(fID = id); + SkDEBUGCODE(fID = id); } void setLastMarked(SkOpSpanBase* marked) { @@ -124,7 +125,7 @@ struct SkOpAngle { return fUnorderable; } - SkDCubic fCurvePart; // the curve from start to end + SkDCurve fCurvePart; // the curve from start to end double fSide; SkLineParameters fTangentHalf; // used only to sort a pair of lines or line-like sections SkOpAngle* fNext; @@ -143,7 +144,7 @@ struct SkOpAngle { bool fComputeSector; bool fComputedSector; bool fCheckCoincidence; - PATH_OPS_DEBUG_CODE(int fID); + SkDEBUGCODE(int fID); }; |