caryclark@google.com | cd4421d | 2012-03-01 19:16:31 +0000 | [diff] [blame] | 1 | |
| 2 | |
caryclark@google.com | d88e089 | 2012-03-27 13:23:51 +0000 | [diff] [blame] | 3 | #include "ShapeOps.h" |
caryclark@google.com | 78e1713 | 2012-04-17 11:40:34 +0000 | [diff] [blame] | 4 | #include "SkBitmap.h" |
caryclark@google.com | 03f9706 | 2012-08-21 13:13:52 +0000 | [diff] [blame] | 5 | #include "SkStream.h" |
caryclark@google.com | 78e1713 | 2012-04-17 11:40:34 +0000 | [diff] [blame] | 6 | #include <pthread.h> |
caryclark@google.com | cd4421d | 2012-03-01 19:16:31 +0000 | [diff] [blame] | 7 | |
caryclark@google.com | 198e054 | 2012-03-30 18:47:02 +0000 | [diff] [blame] | 8 | class SkCanvas; |
caryclark@google.com | 59823f7 | 2012-08-09 18:17:47 +0000 | [diff] [blame] | 9 | struct State4; |
caryclark@google.com | 198e054 | 2012-03-30 18:47:02 +0000 | [diff] [blame] | 10 | |
| 11 | //extern int comparePaths(const SkPath& one, const SkPath& two); |
caryclark@google.com | 1577e8f | 2012-05-22 17:01:14 +0000 | [diff] [blame] | 12 | extern int comparePaths(const SkPath& one, const SkPath& two, SkBitmap& bitmap, |
| 13 | SkCanvas* canvas); |
caryclark@google.com | cd4421d | 2012-03-01 19:16:31 +0000 | [diff] [blame] | 14 | extern void comparePathsTiny(const SkPath& one, const SkPath& two); |
caryclark@google.com | 752b60e | 2012-03-22 21:11:17 +0000 | [diff] [blame] | 15 | extern bool drawAsciiPaths(const SkPath& one, const SkPath& two, |
caryclark@google.com | 2e7f4c8 | 2012-03-20 21:11:59 +0000 | [diff] [blame] | 16 | bool drawPaths); |
caryclark@google.com | 2e7f4c8 | 2012-03-20 21:11:59 +0000 | [diff] [blame] | 17 | extern void showPath(const SkPath& path, const char* str = NULL); |
caryclark@google.com | 198e054 | 2012-03-30 18:47:02 +0000 | [diff] [blame] | 18 | extern bool testSimplify(const SkPath& path, bool fill, SkPath& out, |
| 19 | SkBitmap& bitmap, SkCanvas* canvas = 0); |
caryclark@google.com | 24bec79 | 2012-08-20 12:43:57 +0000 | [diff] [blame] | 20 | extern bool testSimplifyx(SkPath& path, bool useXor, SkPath& out, |
caryclark@google.com | 59823f7 | 2012-08-09 18:17:47 +0000 | [diff] [blame] | 21 | State4& state, const char* pathStr); |
caryclark@google.com | 8dcf114 | 2012-07-02 20:27:02 +0000 | [diff] [blame] | 22 | extern bool testSimplifyx(const SkPath& path); |
caryclark@google.com | 78e1713 | 2012-04-17 11:40:34 +0000 | [diff] [blame] | 23 | |
| 24 | struct State4 { |
| 25 | State4(); |
caryclark@google.com | 2ddff93 | 2012-08-07 21:25:27 +0000 | [diff] [blame] | 26 | static pthread_mutex_t addQueue; |
| 27 | static pthread_cond_t checkQueue; |
| 28 | pthread_cond_t initialized; |
| 29 | static State4* queue; |
caryclark@google.com | 2ddff93 | 2012-08-07 21:25:27 +0000 | [diff] [blame] | 30 | pthread_t threadID; |
| 31 | int index; |
| 32 | bool done; |
| 33 | bool last; |
caryclark@google.com | 78e1713 | 2012-04-17 11:40:34 +0000 | [diff] [blame] | 34 | int a; |
| 35 | int b; |
| 36 | int c; |
caryclark@google.com | 59823f7 | 2012-08-09 18:17:47 +0000 | [diff] [blame] | 37 | int d; // sometimes 1 if abc_is_a_triangle |
caryclark@google.com | 27c449a | 2012-07-27 18:26:38 +0000 | [diff] [blame] | 38 | int testsRun; |
caryclark@google.com | 4758069 | 2012-07-23 12:14:49 +0000 | [diff] [blame] | 39 | char filename[256]; |
rmistry@google.com | d6176b0 | 2012-08-23 18:14:13 +0000 | [diff] [blame^] | 40 | |
caryclark@google.com | 78e1713 | 2012-04-17 11:40:34 +0000 | [diff] [blame] | 41 | SkCanvas* canvas; |
| 42 | SkBitmap bitmap; |
caryclark@google.com | 78e1713 | 2012-04-17 11:40:34 +0000 | [diff] [blame] | 43 | }; |
| 44 | |
| 45 | void createThread(State4* statePtr, void* (*test)(void* )); |
caryclark@google.com | 59823f7 | 2012-08-09 18:17:47 +0000 | [diff] [blame] | 46 | int dispatchTest4(void* (*testFun)(void* ), int a, int b, int c, int d); |
| 47 | void initializeTests(const char* testName, size_t testNameSize); |
caryclark@google.com | 24bec79 | 2012-08-20 12:43:57 +0000 | [diff] [blame] | 48 | void outputProgress(const State4& state, const char* pathStr, SkPath::FillType ); |
| 49 | void outputToStream(const State4& state, const char* pathStr, SkPath::FillType, SkWStream& outFile); |
caryclark@google.com | 59823f7 | 2012-08-09 18:17:47 +0000 | [diff] [blame] | 50 | bool runNextTestSet(State4& state); |
| 51 | int waitForCompletion(); |