Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions | Variables
PathOpsSimplifyQuadThreadedTest.cpp File Reference
#include "include/core/SkPath.h"
#include "include/core/SkPathTypes.h"
#include "include/core/SkScalar.h"
#include "include/core/SkString.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkTDArray.h"
#include "tests/PathOpsExtendedTest.h"
#include "tests/PathOpsThreadedCommon.h"
#include "tests/Test.h"

Go to the source code of this file.

Functions

static void testSimplifyQuadsMain (PathOpsThreadState *data)
 
 DEF_TEST (PathOpsSimplifyQuadsThreaded, reporter)
 

Variables

static int quadTest = 66
 

Function Documentation

◆ DEF_TEST()

DEF_TEST ( PathOpsSimplifyQuadsThreaded  ,
reporter   
)

Definition at line 83 of file PathOpsSimplifyQuadThreadedTest.cpp.

83 {
84 initializeTests(reporter, "testQuads");
86 int a = 0;
87 for (; a < 16; ++a) {
88 for (int b = a ; b < 16; ++b) {
89 for (int c = b ; c < 16; ++c) {
90 for (int d = c; d < 16; ++d) {
91 *testRunner.fRunnables.append() = new PathOpsThreadedRunnable(
92 &testSimplifyQuadsMain, a, b, c, d, &testRunner);
93 }
94 if (!reporter->allowExtendedTest()) goto finish;
95 }
96 }
97 }
98finish:
99 testRunner.render();
100}
reporter
void initializeTests(skiatest::Reporter *reporter, const char *test)
static void testSimplifyQuadsMain(PathOpsThreadState *data)
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d
Definition main.cc:19
static bool b
struct MyStruct a[10]

◆ testSimplifyQuadsMain()

static void testSimplifyQuadsMain ( PathOpsThreadState data)
static

Definition at line 19 of file PathOpsSimplifyQuadThreadedTest.cpp.

20{
21 SkASSERT(data);
23 SkString pathStr;
24 int ax = state.fA & 0x03;
25 int ay = state.fA >> 2;
26 int bx = state.fB & 0x03;
27 int by = state.fB >> 2;
28 int cx = state.fC & 0x03;
29 int cy = state.fC >> 2;
30 int dx = state.fD & 0x03;
31 int dy = state.fD >> 2;
32 for (int e = 0 ; e < 16; ++e) {
33 int ex = e & 0x03;
34 int ey = e >> 2;
35 for (int f = e ; f < 16; ++f) {
36 int fx = f & 0x03;
37 int fy = f >> 2;
38 for (int g = f ; g < 16; ++g) {
39 int gx = g & 0x03;
40 int gy = g >> 2;
41 for (int h = g ; h < 16; ++h) {
42 int hx = h & 0x03;
43 int hy = h >> 2;
45 path.moveTo(SkIntToScalar(ax), SkIntToScalar(ay));
46 path.quadTo(SkIntToScalar(bx), SkIntToScalar(by),
48 path.lineTo(SkIntToScalar(dx), SkIntToScalar(dy));
49 path.close();
50 path.moveTo(SkIntToScalar(ex), SkIntToScalar(ey));
51 path.lineTo(SkIntToScalar(fx), SkIntToScalar(fy));
52 path.quadTo(SkIntToScalar(gx), SkIntToScalar(gy),
54 path.close();
55 if (state.fReporter->verbose()) {
56 pathStr.printf("static void testQuads%d(skiatest::Reporter* reporter,"
57 "const char* filename) {\n", quadTest);
58 pathStr.appendf(" SkPath path;\n");
59 pathStr.appendf(" path.moveTo(%d, %d);\n", ax, ay);
60 pathStr.appendf(" path.quadTo(%d, %d, %d, %d);\n", bx, by, cx, cy);
61 pathStr.appendf(" path.lineTo(%d, %d);\n", dx, dy);
62 pathStr.appendf(" path.close();\n");
63 pathStr.appendf(" path.moveTo(%d, %d);\n", ex, ey);
64 pathStr.appendf(" path.lineTo(%d, %d);\n", fx, fy);
65 pathStr.appendf(" path.quadTo(%d, %d, %d, %d);\n", gx, gy, hx, hy);
66 pathStr.appendf(" path.close();\n");
67 pathStr.appendf(" testSimplify(reporter, path, filename);\n");
68 pathStr.appendf("}\n");
69 state.outputProgress(pathStr.c_str(), SkPathFillType::kWinding);
70 }
71 testSimplify(path, false, out, state, pathStr.c_str());
72 path.setFillType(SkPathFillType::kEvenOdd);
73 if (state.fReporter->verbose()) {
74 state.outputProgress(pathStr.c_str(), SkPathFillType::kEvenOdd);
75 }
76 testSimplify(path, true, out, state, pathStr.c_str());
77 }
78 }
79 }
80 }
81}
bool testSimplify(SkPath &path, bool useXor, SkPath &out, PathOpsThreadState &state, const char *pathStr)
#define SkASSERT(cond)
Definition SkAssert.h:116
#define SkIntToScalar(x)
Definition SkScalar.h:57
void printf(const char format[],...) SK_PRINTF_LIKE(2
Definition SkString.cpp:534
const char * c_str() const
Definition SkString.h:133
void void void appendf(const char format[],...) SK_PRINTF_LIKE(2
Definition SkString.cpp:550
AtkStateType state
skia_private::AutoTArray< sk_sp< SkImageFilter > > filters TypedMatrix matrix TypedMatrix matrix SkScalar dx
Definition SkRecords.h:208
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
Definition switches.h:57
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot data
Definition switches.h:41
SkScalar h

Variable Documentation

◆ quadTest

int quadTest = 66
static

Definition at line 17 of file PathOpsSimplifyQuadThreadedTest.cpp.