Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Side by Side Diff: experimental/Intersection/EdgeWalkerQuadratics_Test.cpp

Issue 867213004: remove prototype pathops code (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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 #include "EdgeWalker_Test.h"
8 #include "Intersection_Tests.h"
9 #include "SkBitmap.h"
10
11 static SkBitmap bitmap;
12
13 static void testSimplifyQuadratic1() {
14 SkPath path, out;
15 path.moveTo(0, 0);
16 path.quadTo(1, 0, 1, 1);
17 path.close();
18 path.moveTo(1, 0);
19 path.quadTo(0, 0, 0, 1);
20 path.close();
21 testSimplify(path, true, out, bitmap);
22 }
23
24 static void testSimplifyQuadratic2() {
25 SkPath path, out;
26 path.moveTo(0, 0);
27 path.quadTo(20, 0, 20, 20);
28 path.close();
29 path.moveTo(20, 0);
30 path.quadTo(0, 0, 0, 20);
31 path.close();
32 testSimplify(path, true, out, bitmap);
33 }
34
35 static void testSimplifyQuadratic3() {
36 SkPath path, out;
37 path.moveTo(0, 0);
38 path.quadTo(20, 0, 20, 20);
39 path.close();
40 path.moveTo(0, 20);
41 path.quadTo(0, 0, 20, 0);
42 path.close();
43 testSimplify(path, true, out, bitmap);
44 }
45
46 static void testSimplifyQuadratic4() {
47 SkPath path, out;
48 path.moveTo(0, 20);
49 path.quadTo(20, 0, 40, 20);
50 path.close();
51 path.moveTo(40, 10);
52 path.quadTo(20, 30, 0, 10);
53 path.close();
54 testSimplify(path, true, out, bitmap);
55 drawAsciiPaths(path, out, true);
56 }
57
58 static void testSimplifyQuadratic5() {
59 SkPath path, out;
60 path.moveTo(0, 0);
61 path.quadTo(0, 0, 0, 0);
62 path.lineTo(0, 0);
63 path.close();
64 path.moveTo(0, 0);
65 path.lineTo(0, 0);
66 path.quadTo(0, 0, 0, 1);
67 path.close();
68 testSimplify(path, true, out, bitmap);
69 drawAsciiPaths(path, out, true);
70 }
71
72 static void testSimplifyQuadratic6() {
73 SkPath path, out;
74 path.moveTo(0, 0);
75 path.quadTo(0, 0, 0, 0);
76 path.lineTo(1, 0);
77 path.close();
78 path.moveTo(0, 0);
79 path.lineTo(0, 0);
80 path.quadTo(1, 0, 0, 1);
81 path.close();
82 testSimplify(path, true, out, bitmap);
83 drawAsciiPaths(path, out, true);
84 }
85
86 static void testSimplifyQuadratic7() {
87 SkPath path, out;
88 path.moveTo(0, 0);
89 path.quadTo(0, 0, 0, 0);
90 path.lineTo(0, 1);
91 path.close();
92 path.moveTo(0, 0);
93 path.lineTo(0, 0);
94 path.quadTo(1, 0, 0, 2);
95 path.close();
96 testSimplify(path, true, out, bitmap);
97 drawAsciiPaths(path, out, true);
98 }
99
100 static void testSimplifyQuadratic8() {
101 SkPath path, out;
102 path.moveTo(0, 0);
103 path.quadTo(0, 0, 0, 0);
104 path.lineTo(0, 0);
105 path.close();
106 path.moveTo(0, 0);
107 path.lineTo(0, 0);
108 path.quadTo(1, 0, 0, 2);
109 path.close();
110 testSimplify(path, true, out, bitmap);
111 drawAsciiPaths(path, out, true);
112 }
113
114 static void testSimplifyQuadratic9() {
115 SkPath path, out;
116 path.moveTo(0, 0);
117 path.quadTo(0, 0, 0, 0);
118 path.lineTo(1, 1);
119 path.close();
120 path.moveTo(0, 0);
121 path.lineTo(0, 0);
122 path.quadTo(1, 0, 2, 2);
123 path.close();
124 testSimplify(path, true, out, bitmap);
125 drawAsciiPaths(path, out, true);
126 }
127
128 static void testSimplifyQuadratic10() {
129 SkPath path, out;
130 path.moveTo(0, 0);
131 path.quadTo(0, 0, 0, 0);
132 path.lineTo(0, 0);
133 path.close();
134 path.moveTo(0, 0);
135 path.lineTo(0, 1);
136 path.quadTo(1, 1, 1, 2);
137 path.close();
138 testSimplify(path, true, out, bitmap);
139 drawAsciiPaths(path, out, true);
140 }
141
142 static void testSimplifyQuadratic11() {
143 SkPath path, out;
144 path.moveTo(0, 0);
145 path.quadTo(0, 0, 0, 0);
146 path.lineTo(0, 2);
147 path.close();
148 path.moveTo(0, 0);
149 path.lineTo(2, 1);
150 path.quadTo(2, 2, 3, 3);
151 path.close();
152 testSimplify(path, true, out, bitmap);
153 drawAsciiPaths(path, out, true);
154 }
155
156 static void testSimplifyQuadratic12() {
157 SkPath path, out;
158 path.moveTo(0, 0);
159 path.lineTo(0, 2);
160 path.lineTo(0, 0);
161 path.close();
162 path.moveTo(3, 0);
163 path.quadTo(1, 1, 0, 2);
164 path.lineTo(3, 0);
165 path.close();
166 testSimplify(path, true, out, bitmap);
167 drawAsciiPaths(path, out, true);
168 }
169
170 static void testSimplifyQuadratic13() {
171 SkPath path, out;
172 path.moveTo(0, 0);
173 path.quadTo(0, 0, 1, 0);
174 path.lineTo(1, 1);
175 path.lineTo(0, 0);
176 path.close();
177 path.moveTo(0, 0);
178 path.quadTo(3, 0, 1, 1);
179 path.lineTo(0, 0);
180 path.close();
181 testSimplify(path, true, out, bitmap);
182 drawAsciiPaths(path, out, true);
183 }
184
185 static void testSimplifyQuadratic14() {
186 SkPath path, out;
187 path.moveTo(0, 0);
188 path.quadTo(0, 0, 0, 0);
189 path.lineTo(1, 1);
190 path.close();
191 path.moveTo(0, 0);
192 path.lineTo(0, 0);
193 path.quadTo(0, 1, 2, 1);
194 path.close();
195 testSimplify(path, true, out, bitmap);
196 drawAsciiPaths(path, out, true);
197 }
198
199 static void testSimplifyQuadratic15() {
200 SkPath path, out;
201 path.moveTo(0, 0);
202 path.quadTo(0, 0, 1, 3);
203 path.lineTo(3, 3);
204 path.close();
205 path.moveTo(0, 1);
206 path.lineTo(1, 1);
207 path.quadTo(0, 3, 3, 3);
208 path.close();
209 testSimplify(path, true, out, bitmap);
210 drawAsciiPaths(path, out, true);
211 }
212
213 static void testSimplifyQuadratic16() {
214 SkPath path, out;
215 path.moveTo(0, 0);
216 path.quadTo(0, 0, 0, 0);
217 path.lineTo(0, 1);
218 path.close();
219 path.moveTo(0, 0);
220 path.lineTo(0, 0);
221 path.quadTo(1, 0, 0, 1);
222 path.close();
223 testSimplify(path, true, out, bitmap);
224 drawAsciiPaths(path, out, true);
225 }
226
227 static void testSimplifyQuadratic17() {
228 SkPath path, out;
229 path.moveTo(0, 0);
230 path.quadTo(0, 0, 0, 0);
231 path.lineTo(2, 2);
232 path.close();
233 path.moveTo(0, 1);
234 path.lineTo(0, 1);
235 path.quadTo(2, 1, 3, 3);
236 path.close();
237 testSimplify(path, true, out, bitmap);
238 drawAsciiPaths(path, out, true);
239 }
240
241 static void (*simplifyTests[])() = {
242 testSimplifyQuadratic17,
243 testSimplifyQuadratic16,
244 testSimplifyQuadratic15,
245 testSimplifyQuadratic14,
246 testSimplifyQuadratic13,
247 testSimplifyQuadratic12,
248 testSimplifyQuadratic11,
249 testSimplifyQuadratic10,
250 testSimplifyQuadratic9,
251 testSimplifyQuadratic8,
252 testSimplifyQuadratic7,
253 testSimplifyQuadratic6,
254 testSimplifyQuadratic5,
255 testSimplifyQuadratic4,
256 testSimplifyQuadratic3,
257 testSimplifyQuadratic2,
258 testSimplifyQuadratic1,
259 };
260
261 static size_t simplifyTestsCount = sizeof(simplifyTests) / sizeof(simplifyTests[ 0]);
262
263 static void (*firstTest)() = testSimplifyQuadratic14;
264 static bool skipAll = false;
265
266 void SimplifyQuadraticPaths_Test() {
267 if (skipAll) {
268 return;
269 }
270 size_t index = 0;
271 if (firstTest) {
272 while (index < simplifyTestsCount && simplifyTests[index] != firstTest) {
273 ++index;
274 }
275 }
276 bool firstTestComplete = false;
277 for ( ; index < simplifyTestsCount; ++index) {
278 (*simplifyTests[index])();
279 if (simplifyTests[index] == testSimplifyQuadratic1) {
280 SkDebugf("%s last fast quad test\n", __FUNCTION__);
281 }
282 firstTestComplete = true;
283 }
284 }
OLDNEW
« no previous file with comments | « experimental/Intersection/EdgeWalkerQuadratic4x4_Test.cpp ('k') | experimental/Intersection/EdgeWalkerRectangles_Test.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698