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" |
caryclark | 65b427c | 2014-09-18 10:32:57 -0700 | [diff] [blame] | 11 | #include "SkCommandLineFlags.h" |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 12 | #include "SkPath.h" |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 13 | #include "SkPathOpsTypes.h" |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 14 | #include "SkStream.h" |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 15 | #include "SkThread.h" |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 16 | #include "SkThreadUtils.h" |
| 17 | #include "Test.h" |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 18 | |
caryclark | 65b427c | 2014-09-18 10:32:57 -0700 | [diff] [blame] | 19 | DECLARE_bool(runFail); |
| 20 | |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 21 | struct PathOpsThreadState; |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 22 | |
| 23 | struct TestDesc { |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 24 | void (*fun)(skiatest::Reporter*, const char* filename); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 25 | const char* str; |
| 26 | }; |
| 27 | |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 28 | //extern int comparePaths(const SkPath& one, const SkPath& two); |
| 29 | extern int comparePaths(const SkPath& one, const SkPath& two, SkBitmap& bitmap); |
| 30 | extern bool drawAsciiPaths(const SkPath& one, const SkPath& two, bool drawPaths); |
| 31 | extern void showOp(const SkPathOp op); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 32 | extern bool testPathOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b, |
caryclark | 65f5531 | 2014-11-13 06:58:52 -0800 | [diff] [blame] | 33 | const SkPathOp , const char* testName); |
| 34 | extern bool testPathOpCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b, |
| 35 | const SkPathOp , const char* testName, bool checkFail); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 36 | extern bool testPathFailOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b, |
caryclark | 65f5531 | 2014-11-13 06:58:52 -0800 | [diff] [blame] | 37 | const SkPathOp , const char* testName); |
caryclark@google.com | 8d0a524 | 2013-07-16 16:11:16 +0000 | [diff] [blame] | 38 | extern bool testThreadedPathOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b, |
caryclark | 65f5531 | 2014-11-13 06:58:52 -0800 | [diff] [blame] | 39 | const SkPathOp , const char* testName); |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 40 | extern bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state, |
| 41 | const char* pathStr); |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 42 | extern bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char* filename); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 43 | |
mtklein | 406654b | 2014-09-03 15:34:37 -0700 | [diff] [blame] | 44 | void initializeTests(skiatest::Reporter* reporter, const char* testName); |
caryclark@google.com | 66089e4 | 2013-04-10 15:55:37 +0000 | [diff] [blame] | 45 | void outputProgress(char* ramStr, const char* pathStr, SkPath::FillType ); |
| 46 | void outputProgress(char* ramStr, const char* pathStr, SkPathOp op); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 47 | |
| 48 | void RunTestSet(skiatest::Reporter* reporter, TestDesc tests[], size_t count, |
commit-bot@chromium.org | 4431e77 | 2014-04-14 17:08:59 +0000 | [diff] [blame] | 49 | void (*firstTest)(skiatest::Reporter* , const char* filename), |
| 50 | void (*stopTest)(skiatest::Reporter* , const char* filename), bool reverse); |
| 51 | void ShowTestArray(); |
caryclark@google.com | 0361032 | 2013-04-18 15:58:21 +0000 | [diff] [blame] | 52 | 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] | 53 | void ShowFunctionHeader(const char* name); |
| 54 | void ShowPath(const SkPath& path, const char* pathName); |
| 55 | void ShowOp(SkPathOp op, const char* pathOne, const char* pathTwo); |
caryclark@google.com | 818b0cc | 2013-04-08 11:50:46 +0000 | [diff] [blame] | 56 | |
| 57 | #endif |