PathOpsExtendedTest.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. #include "include/core/SkBitmap.h"
  10. #include "include/core/SkPath.h"
  11. #include "include/core/SkStream.h"
  12. #include "src/pathops/SkPathOpsTypes.h"
  13. #include "tests/Test.h"
  14. struct PathOpsThreadState;
  15. struct TestDesc {
  16. void (*fun)(skiatest::Reporter*, const char* filename);
  17. const char* str;
  18. };
  19. //extern int comparePaths(const SkPath& one, const SkPath& two);
  20. extern int comparePaths(skiatest::Reporter* reporter, const char* filename,
  21. const SkPath& one, const SkPath& two, SkBitmap& bitmap);
  22. inline int comparePaths(skiatest::Reporter* reporter, const char* filename,
  23. const SkPath& one, const SkPath& two) {
  24. SkBitmap bitmap;
  25. return comparePaths(reporter, filename, one, two, bitmap);
  26. }
  27. extern bool drawAsciiPaths(const SkPath& one, const SkPath& two, bool drawPaths);
  28. extern void markTestFlakyForPathKit();
  29. extern void showOp(const SkPathOp op);
  30. extern bool testPathOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
  31. const SkPathOp , const char* testName);
  32. extern bool testPathOpCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
  33. const SkPathOp , const char* testName, bool checkFail);
  34. extern bool testPathOpFail(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
  35. const SkPathOp, const char* testName);
  36. extern bool testPathOpFuzz(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
  37. const SkPathOp , const char* testName);
  38. extern bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state,
  39. const char* pathStr);
  40. extern bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char* filename);
  41. extern bool testSimplifyCheck(skiatest::Reporter* reporter, const SkPath& path,
  42. const char* filename, bool checkFail);
  43. extern bool testSimplifyFail(skiatest::Reporter* reporter, const SkPath& path,
  44. const char* filename);
  45. extern bool testSimplifyFuzz(skiatest::Reporter* reporter, const SkPath& path,
  46. const char* filename);
  47. void initializeTests(skiatest::Reporter* reporter, const char* testName);
  48. void RunTestSet(skiatest::Reporter* reporter, TestDesc tests[], size_t count,
  49. void (*firstTest)(skiatest::Reporter* , const char* filename),
  50. void (*skipTest)(skiatest::Reporter* , const char* filename),
  51. void (*stopTest)(skiatest::Reporter* , const char* filename), bool reverse);
  52. void ShowTestName(PathOpsThreadState* data, int a, int b, int c, int d);
  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);
  56. #endif