aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pathops/SkOpAngle.h
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2015-04-20 08:31:59 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-04-20 08:31:59 -0700
commit1049f1246e7be4ccb68001361efceb8933e6f81c (patch)
tree9c71ceb245856cbe2173913eaec3b0ebb490dd74 /src/pathops/SkOpAngle.h
parent5c476fb2776639bdbf0e974dd38d1c5d4c4ff1aa (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.h11
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);
};