diff options
Diffstat (limited to 'chromium/third_party/skia/experimental/Intersection/EdgeWalker_Test.h')
-rw-r--r-- | chromium/third_party/skia/experimental/Intersection/EdgeWalker_Test.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/chromium/third_party/skia/experimental/Intersection/EdgeWalker_Test.h b/chromium/third_party/skia/experimental/Intersection/EdgeWalker_Test.h new file mode 100644 index 00000000000..5e8e7b7bf0c --- /dev/null +++ b/chromium/third_party/skia/experimental/Intersection/EdgeWalker_Test.h @@ -0,0 +1,59 @@ +/* + * Copyright 2012 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ +#include "ShapeOps.h" +#include "SkBitmap.h" +#include "SkStream.h" +#include <pthread.h> + +struct State4; + +//extern int comparePaths(const SkPath& one, const SkPath& two); +extern int comparePaths(const SkPath& one, const SkPath& two, SkBitmap& bitmap); +extern void comparePathsTiny(const SkPath& one, const SkPath& two); +extern bool drawAsciiPaths(const SkPath& one, const SkPath& two, + bool drawPaths); +extern void showOp(const ShapeOp op); +extern void showPath(const SkPath& path, const char* str); +extern void showPath(const SkPath& path); +extern void showPathData(const SkPath& path); +extern bool testSimplify(const SkPath& path, bool fill, SkPath& out, + SkBitmap& bitmap); +extern bool testSimplifyx(SkPath& path, bool useXor, SkPath& out, + State4& state, const char* pathStr); +extern bool testSimplifyx(const SkPath& path); +extern bool testShapeOp(const SkPath& a, const SkPath& b, const ShapeOp ); + +struct State4 { + State4(); + static pthread_mutex_t addQueue; + static pthread_cond_t checkQueue; + pthread_cond_t initialized; + static State4* queue; + pthread_t threadID; + int index; + bool done; + bool last; + int a; + int b; + int c; + int d; // sometimes 1 if abc_is_a_triangle + int testsRun; + char filename[256]; + + SkBitmap bitmap; +}; + +void createThread(State4* statePtr, void* (*test)(void* )); +int dispatchTest4(void* (*testFun)(void* ), int a, int b, int c, int d); +void initializeTests(const char* testName, size_t testNameSize); +void outputProgress(const State4& state, const char* pathStr, SkPath::FillType ); +void outputProgress(const State4& state, const char* pathStr, ShapeOp op); +void outputToStream(const State4& state, const char* pathStr, const char* pathPrefix, + const char* nameSuffix, + const char* testFunction, SkWStream& outFile); +bool runNextTestSet(State4& state); +int waitForCompletion(); |