aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/PathOpsExtendedTest.h
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2014-10-28 10:33:09 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-10-28 10:33:09 -0700
commit6f726addf3178b01949bb389ef83cf14a1d7b6b2 (patch)
treef075358dcfe429a50ba7b3c67e26c95d4dc9277d /tests/PathOpsExtendedTest.h
parent8f0d69e48eef2b87d0149729adcfa058e8c42c81 (diff)
These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions.
The fixes include - detect when finding the active top loops between two possible answers - preflight chasing winding to ensure answer is consistent - binary search more often when quadratic intersection fails - add more failure paths when an intersect is missed While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed. TBR= BUG=421132 Review URL: https://codereview.chromium.org/633393002
Diffstat (limited to 'tests/PathOpsExtendedTest.h')
-rw-r--r--tests/PathOpsExtendedTest.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/tests/PathOpsExtendedTest.h b/tests/PathOpsExtendedTest.h
index 49ac80451c..5f7e972f49 100644
--- a/tests/PathOpsExtendedTest.h
+++ b/tests/PathOpsExtendedTest.h
@@ -30,11 +30,13 @@ extern int comparePaths(const SkPath& one, const SkPath& two, SkBitmap& bitmap);
extern bool drawAsciiPaths(const SkPath& one, const SkPath& two, bool drawPaths);
extern void showOp(const SkPathOp op);
extern bool testPathOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
+ const SkPathOp , const char* testName);
+extern bool testPathOpCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
+ const SkPathOp , const char* testName, bool checkFail);
extern bool testPathFailOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
+ const SkPathOp , const char* testName);
extern bool testThreadedPathOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
+ const SkPathOp , const char* testName);
extern bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state,
const char* pathStr);
extern bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char* filename);