caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2012 Google Inc. |
| 3 | * |
| 4 | * Use of this source code is governed by a BSD-style license that can be |
| 5 | * found in the LICENSE file. |
| 6 | */ |
| 7 | #ifndef PathOpsExtendedTest_DEFINED |
| 8 | #define PathOpsExtendedTest_DEFINED |
| 9 | |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 10 | #include "SkBitmap.h" |
| 11 | #include "SkPath.h" |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 12 | #include "SkPathOpsTypes.h" |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 13 | #include "SkStream.h" |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 14 | #include "Test.h" |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 15 | |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 16 | struct PathOpsThreadState; |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 17 | |
| 18 | struct TestDesc { |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 19 | void (*fun)(skiatest::Reporter*, const char* filename); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 20 | const char* str; |
| 21 | }; |
| 22 | |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 23 | //extern int comparePaths(const SkPath& one, const SkPath& two); |
caryclark | 5435929 | 2015-03-26 07:52:43 -0700 | [diff] [blame] | 24 | extern int comparePaths(skiatest::Reporter* reporter, const char* filename, |
| 25 | const SkPath& one, const SkPath& two, SkBitmap& bitmap); |
caryclark | 4e1a4c9 | 2015-05-18 12:56:57 -0700 | [diff] [blame] | 26 | |
| 27 | inline int comparePaths(skiatest::Reporter* reporter, const char* filename, |
| 28 | const SkPath& one, const SkPath& two) { |
| 29 | SkBitmap bitmap; |
| 30 | return comparePaths(reporter, filename, one, two, bitmap); |
| 31 | } |
| 32 | |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 33 | extern bool drawAsciiPaths(const SkPath& one, const SkPath& two, bool drawPaths); |
| 34 | extern void showOp(const SkPathOp op); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 35 | extern bool testPathOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b, |
caryclark | 65f5531 | 2014-11-13 06:58:52 -0800 | [diff] [blame] | 36 | const SkPathOp , const char* testName); |
| 37 | extern bool testPathOpCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b, |
| 38 | const SkPathOp , const char* testName, bool checkFail); |
Cary Clark | 59d5a0e | 2017-01-23 14:38:52 +0000 | [diff] [blame] | 39 | extern bool testPathOpFail(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b, |
| 40 | const SkPathOp, const char* testName); |
caryclark | 30b9fdd | 2016-08-31 14:36:29 -0700 | [diff] [blame] | 41 | extern bool testPathOpFuzz(skiatest::Reporter* reporter, const SkPath& a, |
| 42 | const SkPath& b, const SkPathOp , const char* testName); |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 43 | extern bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state, |
| 44 | const char* pathStr); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 45 | extern bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char* filename); |
caryclark | 5435929 | 2015-03-26 07:52:43 -0700 | [diff] [blame] | 46 | extern bool testSimplifyCheck(skiatest::Reporter* reporter, const SkPath& path, |
| 47 | const char* filename, bool checkFail); |
caryclark | 30b9fdd | 2016-08-31 14:36:29 -0700 | [diff] [blame] | 48 | extern bool testSimplifyFuzz(skiatest::Reporter* reporter, const SkPath& path, |
Cary Clark | 59d5a0e | 2017-01-23 14:38:52 +0000 | [diff] [blame] | 49 | const char* filename); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 50 | |
mtklein | 406654b | 2014-09-03 15:34:37 -0700 | [diff] [blame] | 51 | void initializeTests(skiatest::Reporter* reporter, const char* testName); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 52 | |
| 53 | void RunTestSet(skiatest::Reporter* reporter, TestDesc tests[], size_t count, |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 54 | void (*firstTest)(skiatest::Reporter* , const char* filename), |
caryclark | 5435929 | 2015-03-26 07:52:43 -0700 | [diff] [blame] | 55 | void (*skipTest)(skiatest::Reporter* , const char* filename), |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 56 | void (*stopTest)(skiatest::Reporter* , const char* filename), bool reverse); |
caryclark@google.com | 0361032 | 2013-04-18 15:58:21 +0000 | [diff] [blame] | 57 | void ShowTestName(PathOpsThreadState* data, int a, int b, int c, int d); |
caryclark@google.com | 07e97fc | 2013-07-08 17:17:02 +0000 | [diff] [blame] | 58 | void ShowFunctionHeader(const char* name); |
| 59 | void ShowPath(const SkPath& path, const char* pathName); |
| 60 | void ShowOp(SkPathOp op, const char* pathOne, const char* pathTwo); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 61 | |
| 62 | #endif |