OLD | NEW |
| (Empty) |
1 <!-- path visualizer --> | |
2 <html> | |
3 <head> | |
4 <div style="height:0"> | |
5 | |
6 <div id="testSimplifyQuadratic1"> | |
7 SkPath path, out; | |
8 path.moveTo(0, 0); | |
9 path.quadTo(1, 0, 1, 1); | |
10 path.close(); | |
11 path.moveTo(1, 0); | |
12 path.quadTo(0, 0, 0, 1); | |
13 path.close(); | |
14 testSimplify(path, true, out, bitmap); | |
15 } | |
16 </div> | |
17 | |
18 <div id="testSimplifyQuadratic2"> | |
19 SkPath path, out; | |
20 path.moveTo(0, 0); | |
21 path.quadTo(20, 0, 20, 20); | |
22 path.close(); | |
23 path.moveTo(20, 0); | |
24 path.quadTo(0, 0, 0, 20); | |
25 path.close(); | |
26 testSimplify(path, true, out, bitmap); | |
27 } | |
28 </div> | |
29 | |
30 <div id="testSimplifyQuadratic3"> | |
31 SkPath path, out; | |
32 path.moveTo(0, 0); | |
33 path.quadTo(20, 0, 20, 20); | |
34 path.close(); | |
35 path.moveTo(0, 20); | |
36 path.quadTo(0, 0, 20, 0); | |
37 path.close(); | |
38 testSimplify(path, true, out, bitmap); | |
39 } | |
40 </div> | |
41 | |
42 <div id="testSimplifyQuadratic4"> | |
43 SkPath path, out; | |
44 path.moveTo(0, 20); | |
45 path.quadTo(20, 0, 40, 20); | |
46 path.close(); | |
47 path.moveTo(40, 10); | |
48 path.quadTo(20, 30, 0, 10); | |
49 path.close(); | |
50 testSimplify(path, true, out, bitmap); | |
51 drawAsciiPaths(path, out, true); | |
52 } | |
53 </div> | |
54 | |
55 <div id="testSimplifyQuadratic5"> | |
56 SkPath path, out; | |
57 path.moveTo(0, 0); | |
58 path.quadTo(0, 0, 0, 0); | |
59 path.lineTo(0, 0); | |
60 path.close(); | |
61 path.moveTo(0, 0); | |
62 path.lineTo(0, 0); | |
63 path.quadTo(0, 0, 0, 1); | |
64 path.close(); | |
65 testSimplify(path, true, out, bitmap); | |
66 drawAsciiPaths(path, out, true); | |
67 } | |
68 </div> | |
69 | |
70 <div id="testSimplifyQuadratic6"> | |
71 SkPath path, out; | |
72 path.moveTo(0, 0); | |
73 path.quadTo(0, 0, 0, 0); | |
74 path.lineTo(1, 0); | |
75 path.close(); | |
76 path.moveTo(0, 0); | |
77 path.lineTo(0, 0); | |
78 path.quadTo(1, 0, 0, 1); | |
79 path.close(); | |
80 testSimplify(path, true, out, bitmap); | |
81 drawAsciiPaths(path, out, true); | |
82 } | |
83 </div> | |
84 | |
85 <div id="testSimplifyQuadratic7"> | |
86 SkPath path, out; | |
87 path.moveTo(0, 0); | |
88 path.quadTo(0, 0, 0, 0); | |
89 path.lineTo(0, 1); | |
90 path.close(); | |
91 path.moveTo(0, 0); | |
92 path.lineTo(0, 0); | |
93 path.quadTo(1, 0, 0, 2); | |
94 path.close(); | |
95 testSimplify(path, true, out, bitmap); | |
96 drawAsciiPaths(path, out, true); | |
97 } | |
98 </div> | |
99 | |
100 <div id="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 </div> | |
114 | |
115 <div id="testSimplifyQuadratic9"> | |
116 SkPath path, out; | |
117 path.moveTo(0, 0); | |
118 path.quadTo(0, 0, 0, 0); | |
119 path.lineTo(1, 1); | |
120 path.close(); | |
121 path.moveTo(0, 0); | |
122 path.lineTo(0, 0); | |
123 path.quadTo(1, 0, 2, 2); | |
124 path.close(); | |
125 testSimplify(path, true, out, bitmap); | |
126 drawAsciiPaths(path, out, true); | |
127 } | |
128 </div> | |
129 | |
130 <div id="testSimplifyQuadratic10"> | |
131 SkPath path, out; | |
132 path.moveTo(0, 0); | |
133 path.quadTo(0, 0, 0, 0); | |
134 path.lineTo(0, 0); | |
135 path.close(); | |
136 path.moveTo(0, 0); | |
137 path.lineTo(0, 1); | |
138 path.quadTo(1, 1, 1, 2); | |
139 path.close(); | |
140 testSimplify(path, true, out, bitmap); | |
141 drawAsciiPaths(path, out, true); | |
142 } | |
143 </div> | |
144 | |
145 <div id="testSimplifyQuadratic11"> | |
146 SkPath path, out; | |
147 path.moveTo(0, 0); | |
148 path.quadTo(0, 0, 0, 0); | |
149 path.lineTo(0, 2); | |
150 path.close(); | |
151 path.moveTo(0, 0); | |
152 path.lineTo(2, 1); | |
153 path.quadTo(2, 2, 3, 3); | |
154 path.close(); | |
155 testSimplify(path, true, out, bitmap); | |
156 drawAsciiPaths(path, out, true); | |
157 } | |
158 </div> | |
159 | |
160 <div id="testSimplifyQuadratic12"> | |
161 SkPath path, out; | |
162 path.moveTo(0, 0); | |
163 path.lineTo(0, 2); | |
164 path.lineTo(0, 0); | |
165 path.close(); | |
166 path.moveTo(3, 0); | |
167 path.quadTo(1, 1, 0, 2); | |
168 path.lineTo(3, 0); | |
169 path.close(); | |
170 testSimplify(path, true, out, bitmap); | |
171 drawAsciiPaths(path, out, true); | |
172 } | |
173 </div> | |
174 | |
175 <div id="testSimplifyQuadratic13"> | |
176 SkPath path, out; | |
177 path.moveTo(0, 0); | |
178 path.quadTo(0, 0, 1, 0); | |
179 path.lineTo(1, 1); | |
180 path.lineTo(0, 0); | |
181 path.close(); | |
182 path.moveTo(0, 0); | |
183 path.quadTo(3, 0, 1, 1); | |
184 path.lineTo(0, 0); | |
185 path.close(); | |
186 testSimplify(path, true, out, bitmap); | |
187 drawAsciiPaths(path, out, true); | |
188 } | |
189 </div> | |
190 | |
191 <div id="testSimplifyQuadratic14"> | |
192 SkPath path, out; | |
193 path.moveTo(0, 0); | |
194 path.quadTo(0, 0, 0, 0); | |
195 path.lineTo(1, 1); | |
196 path.close(); | |
197 path.moveTo(0, 0); | |
198 path.lineTo(0, 0); | |
199 path.quadTo(0, 1, 2, 1); | |
200 path.close(); | |
201 testSimplify(path, true, out, bitmap); | |
202 drawAsciiPaths(path, out, true); | |
203 } | |
204 </div> | |
205 | |
206 <div id="testSimplifyQuadratic15"> | |
207 SkPath path, out; | |
208 path.moveTo(0, 0); | |
209 path.quadTo(0, 0, 1, 3); | |
210 path.lineTo(3, 3); | |
211 path.close(); | |
212 path.moveTo(0, 1); | |
213 path.lineTo(1, 1); | |
214 path.quadTo(0, 3, 3, 3); | |
215 path.close(); | |
216 testSimplify(path, true, out, bitmap); | |
217 drawAsciiPaths(path, out, true); | |
218 } | |
219 </div> | |
220 | |
221 <div id="testSimplifyQuadratic16"> | |
222 SkPath path, out; | |
223 path.moveTo(0, 0); | |
224 path.quadTo(0, 0, 0, 0); | |
225 path.lineTo(0, 1); | |
226 path.close(); | |
227 path.moveTo(0, 0); | |
228 path.lineTo(0, 0); | |
229 path.quadTo(1, 0, 0, 1); | |
230 path.close(); | |
231 testSimplify(path, true, out, bitmap); | |
232 drawAsciiPaths(path, out, true); | |
233 } | |
234 </div> | |
235 | |
236 <div id="testSimplifyQuadratic17"> | |
237 SkPath path, out; | |
238 path.moveTo(8, 8); | |
239 path.quadTo(10, 10, 8, -10); | |
240 path.close(); | |
241 path.moveTo(8, 8); | |
242 path.quadTo(12, 12, 14, 4); | |
243 path.close(); | |
244 path.moveTo(8, 8); | |
245 path.quadTo(9, 9, 10, 8); | |
246 path.close(); | |
247 testSimplify(path, true, out, bitmap); | |
248 drawAsciiPaths(path, out, true); | |
249 } | |
250 </div> | |
251 | |
252 <div id="testSimplifyQuadratic18"> | |
253 SkPath path, out; | |
254 path.moveTo(8.0000000000000071, 8.0000000000000071); | |
255 path.quadTo(8.7289570079366854, 8.7289570079366889, 9.3914917259458743, 9.05
93802763083691); | |
256 path.close(); | |
257 path.moveTo(8.0000000000000142, 8.0000000000000142); | |
258 path.quadTo(8.1250000000000107, 8.1250000000000071, 8.2500000000000071, 8.21
87500000000053); | |
259 path.close(); | |
260 testSimplify(path, true, out, bitmap); | |
261 drawAsciiPaths(path, out, true); | |
262 </div> | |
263 | |
264 <div id="testSimplifyQuadratic19"> | |
265 SkPath path, simple; | |
266 path.moveTo(0,4); | |
267 path.lineTo(6,4); | |
268 path.lineTo(3,1); | |
269 path.close(); | |
270 path.moveTo(2,3); | |
271 path.lineTo(3,2); | |
272 path.lineTo(4,3); | |
273 path.close(); | |
274 testSimplifyx(path); | |
275 </div> | |
276 | |
277 <div id="testSimplifyQuadratic20"> | |
278 SkPath path, simple; | |
279 path.moveTo(0,4); | |
280 path.lineTo(6,4); | |
281 path.lineTo(3,1); | |
282 path.close(); | |
283 path.moveTo(2,3); | |
284 path.lineTo(4,3); | |
285 path.lineTo(3,2); | |
286 path.close(); | |
287 testSimplifyx(path); | |
288 </div> | |
289 | |
290 <div id="testSimplifyQuadratic21"> | |
291 SkPath path, simple; | |
292 path.moveTo(0,4); | |
293 path.lineTo(8,4); | |
294 path.lineTo(4,0); | |
295 path.close(); | |
296 path.moveTo(2,2); | |
297 path.lineTo(3,3); | |
298 path.lineTo(4,2); | |
299 path.close(); | |
300 testSimplifyx(path); | |
301 </div> | |
302 | |
303 <div id="testLine5"> | |
304 path.moveTo(3,0); | |
305 path.lineTo(6,2); | |
306 path.lineTo(0,2); | |
307 path.close(); | |
308 path.moveTo(3,0); | |
309 path.lineTo(6,2); | |
310 path.lineTo(0,2); | |
311 path.close(); | |
312 </div> | |
313 | |
314 <div id="testLine6"> | |
315 SkPath path, simple; | |
316 path.moveTo(0,0); | |
317 path.lineTo(4,0); | |
318 path.lineTo(2,2); | |
319 path.close(); | |
320 path.moveTo(2,0); | |
321 path.lineTo(6,0); | |
322 path.lineTo(4,2); | |
323 path.close(); | |
324 testSimplifyx(path); | |
325 </div> | |
326 | |
327 <div id="testLine7"> | |
328 SkPath path, simple; | |
329 path.moveTo(0,0); | |
330 path.lineTo(4,0); | |
331 path.lineTo(2,2); | |
332 path.close(); | |
333 path.moveTo(6,0); | |
334 path.lineTo(2,0); | |
335 path.lineTo(4,2); | |
336 path.close(); | |
337 testSimplifyx(path); | |
338 </div> | |
339 | |
340 <div id="testLine7b"> | |
341 path.moveTo(0,0); | |
342 path.lineTo(4,0); | |
343 path.close(); | |
344 path.moveTo(6,0); | |
345 path.lineTo(2,0); | |
346 path.lineTo(4,2); | |
347 path.close(); | |
348 </div> | |
349 | |
350 <div id="testLine9"> | |
351 SkPath path, simple; | |
352 path.moveTo(0,4); | |
353 path.lineTo(4,4); | |
354 path.lineTo(2,2); | |
355 path.close(); | |
356 path.moveTo(6,4); | |
357 path.lineTo(2,4); | |
358 path.lineTo(4,2); | |
359 path.close(); | |
360 testSimplifyx(path); | |
361 </div> | |
362 | |
363 <div id="testLine12"> | |
364 path.moveTo(0,4); | |
365 path.lineTo(6,4); | |
366 path.lineTo(3,1); | |
367 path.close(); | |
368 path.moveTo(2,3); | |
369 path.lineTo(3,2); | |
370 path.lineTo(4,3); | |
371 path.close(); | |
372 </div> | |
373 | |
374 <div id="testLine13"> | |
375 path.moveTo(6,4); | |
376 path.lineTo(0,4); | |
377 path.lineTo(3,1); | |
378 path.close(); | |
379 path.moveTo(3,2); | |
380 path.lineTo(2,3); | |
381 path.lineTo(4,3); | |
382 path.close(); | |
383 </div> | |
384 | |
385 <div id="testLine16"> | |
386 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
387 path.addRect(0, 4, 9, 9, SkPath::kCW_Direction); | |
388 </div> | |
389 | |
390 <div id="testLine17"> | |
391 SkPath path, simple; | |
392 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
393 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); | |
394 testSimplifyx(path); | |
395 </div> | |
396 | |
397 <div id="testLine19"> | |
398 SkPath path, simple; | |
399 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
400 path.addRect(12, 16, 21, 21, SkPath::kCW_Direction); | |
401 testSimplifyx(path); | |
402 </div> | |
403 | |
404 <div id="testLine22"> | |
405 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); | |
406 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); | |
407 </div> | |
408 | |
409 <div id="testLine24"> | |
410 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); | |
411 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); | |
412 </div> | |
413 | |
414 <div id="testLine28"> | |
415 SkPath path, simple; | |
416 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); | |
417 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); | |
418 testSimplifyx(path); | |
419 </div> | |
420 | |
421 <div id="testLine29"> | |
422 SkPath path, simple; | |
423 path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); | |
424 path.addRect(12, 12, 21, 21, SkPath::kCW_Direction); | |
425 testSimplifyx(path); | |
426 </div> | |
427 | |
428 <div id="testLine30"> | |
429 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
430 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
431 path.addRect(4, 4, 13, 13, SkPath::kCW_Direction); | |
432 </div> | |
433 | |
434 <div id="testLine31"> | |
435 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
436 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
437 path.addRect(0, 4, 9, 9, SkPath::kCW_Direction); | |
438 </div> | |
439 | |
440 <div id="testLine32"> | |
441 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
442 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
443 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); | |
444 </div> | |
445 | |
446 <div id="testLine33"> | |
447 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
448 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
449 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); | |
450 </div> | |
451 | |
452 <div id="testLine34"> | |
453 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
454 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); | |
455 path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); | |
456 </div> | |
457 | |
458 <div id="testLine35"> | |
459 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
460 path.addRect(6, 0, 18, 18, SkPath::kCW_Direction); | |
461 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); | |
462 </div> | |
463 | |
464 <div id="testLine36"> | |
465 path.addRect(0, 10, 20, 20, SkPath::kCW_Direction); | |
466 path.addRect(6, 12, 18, 18, SkPath::kCW_Direction); | |
467 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); | |
468 </div> | |
469 | |
470 <div id="testLine37"> | |
471 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); | |
472 path.addRect(18, 24, 30, 30, SkPath::kCW_Direction); | |
473 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); | |
474 </div> | |
475 | |
476 <div id="testLine38"> | |
477 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); | |
478 path.addRect(6, 12, 18, 18, SkPath::kCW_Direction); | |
479 path.addRect(12, 12, 21, 21, SkPath::kCW_Direction); | |
480 </div> | |
481 | |
482 <div id="testLine39"> | |
483 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); | |
484 path.addRect(12, 6, 24, 24, SkPath::kCW_Direction); | |
485 path.addRect(12, 4, 21, 21, SkPath::kCW_Direction); | |
486 </div> | |
487 | |
488 <div id="testLine40"> | |
489 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); | |
490 path.addRect(12, 18, 24, 24, SkPath::kCW_Direction); | |
491 path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); | |
492 </div> | |
493 | |
494 <div id="testLine41"> | |
495 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
496 path.addRect(18, 24, 30, 30, SkPath::kCW_Direction); | |
497 path.addRect(12, 0, 21, 21, SkPath::kCW_Direction); | |
498 </div> | |
499 | |
500 <div id="testLine42"> | |
501 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
502 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
503 path.addRect(8, 16, 17, 17, SkPath::kCW_Direction); | |
504 </div> | |
505 | |
506 <div id="testLine43"> | |
507 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
508 path.addRect(6, 24, 18, 18, SkPath::kCW_Direction); | |
509 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); | |
510 </div> | |
511 | |
512 <div id="testLine44"> | |
513 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); | |
514 path.addRect(18, 0, 30, 30, SkPath::kCW_Direction); | |
515 path.addRect(18, 32, 27, 36, SkPath::kCCW_Direction); | |
516 </div> | |
517 | |
518 <div id="testLine45"> | |
519 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); | |
520 path.addRect(18, 0, 30, 30, SkPath::kCW_Direction); | |
521 path.addRect(24, 32, 33, 36, SkPath::kCW_Direction); | |
522 </div> | |
523 | |
524 <div id="testLine46"> | |
525 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); | |
526 path.addRect(24, 0, 36, 36, SkPath::kCW_Direction); | |
527 path.addRect(24, 32, 33, 36, SkPath::kCW_Direction); | |
528 </div> | |
529 | |
530 <div id="testLine47"> | |
531 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
532 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
533 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); | |
534 </div> | |
535 | |
536 <div id="testLine48"> | |
537 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
538 path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); | |
539 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); | |
540 </div> | |
541 | |
542 <div id="testLine49"> | |
543 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
544 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
545 path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); | |
546 </div> | |
547 | |
548 <div id="testLine50"> | |
549 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); | |
550 path.addRect(24, 20, 36, 30, SkPath::kCW_Direction); | |
551 </div> | |
552 | |
553 <div id="testLine51"> | |
554 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
555 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); | |
556 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); | |
557 </div> | |
558 | |
559 <div id="testLine52"> | |
560 path.addRect(0, 30, 20, 20, SkPath::kCW_Direction); | |
561 path.addRect(6, 20, 18, 30, SkPath::kCW_Direction); | |
562 path.addRect(32, 0, 36, 41, SkPath::kCW_Direction); | |
563 </div> | |
564 | |
565 <div id="testLine53"> | |
566 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); | |
567 path.addRect(12, 20, 24, 30, SkPath::kCW_Direction); | |
568 path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction); | |
569 </div> | |
570 | |
571 <div id="testLine54"> | |
572 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
573 path.addRect(6, 0, 18, 18, SkPath::kCW_Direction); | |
574 path.addRect(8, 4, 17, 17, SkPath::kCCW_Direction); | |
575 </div> | |
576 | |
577 <div id="testLine55"> | |
578 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
579 path.addRect(6, 6, 18, 18, SkPath::kCW_Direction); | |
580 path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction); | |
581 </div> | |
582 | |
583 <div id="testLine56"> | |
584 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); | |
585 path.addRect(18, 20, 30, 30, SkPath::kCW_Direction); | |
586 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); | |
587 </div> | |
588 | |
589 <div id="testLine57"> | |
590 path.addRect(20, 0, 40, 40, SkPath::kCW_Direction); | |
591 path.addRect(20, 0, 30, 40, SkPath::kCW_Direction); | |
592 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); | |
593 </div> | |
594 | |
595 <div id="testLine58"> | |
596 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
597 path.addRect(0, 0, 12, 12, SkPath::kCCW_Direction); | |
598 path.addRect(0, 12, 9, 9, SkPath::kCCW_Direction); | |
599 </div> | |
600 | |
601 <div id="testLine59"> | |
602 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
603 path.addRect(6, 6, 18, 18, SkPath::kCCW_Direction); | |
604 path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction); | |
605 </div> | |
606 | |
607 <div id="testLine60"> | |
608 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
609 path.addRect(6, 12, 18, 18, SkPath::kCCW_Direction); | |
610 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); | |
611 </div> | |
612 | |
613 <div id="testLine61"> | |
614 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
615 path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction); | |
616 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); | |
617 </div> | |
618 | |
619 <div id="testLine62"> | |
620 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
621 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
622 path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); | |
623 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); | |
624 </div> | |
625 | |
626 <div id="testLine63"> | |
627 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
628 path.addRect(0, 10, 20, 20, SkPath::kCW_Direction); | |
629 path.addRect(0, 6, 12, 12, SkPath::kCCW_Direction); | |
630 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); | |
631 </div> | |
632 | |
633 <div id="testLine64"> | |
634 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
635 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); | |
636 path.addRect(18, 6, 30, 30, SkPath::kCW_Direction); | |
637 </div> | |
638 | |
639 <div id="testLine65"> | |
640 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
641 path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); | |
642 path.addRect(24, 0, 36, 36, SkPath::kCW_Direction); | |
643 path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction); | |
644 </div> | |
645 | |
646 <div id="testLine66"> | |
647 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
648 path.addRect(0, 30, 20, 20, SkPath::kCW_Direction); | |
649 path.addRect(12, 20, 24, 30, SkPath::kCW_Direction); | |
650 </div> | |
651 | |
652 <div id="testLine67"> | |
653 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
654 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); | |
655 path.addRect(24, 20, 36, 30, SkPath::kCW_Direction); | |
656 path.addRect(32, 0, 36, 41, SkPath::kCW_Direction); | |
657 </div> | |
658 | |
659 <div id="testLine68a"> | |
660 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); | |
661 path.addRect(2, 2, 6, 6, SkPath::kCW_Direction); | |
662 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); | |
663 </div> | |
664 | |
665 <div id="testLine68b"> | |
666 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); | |
667 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); | |
668 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); | |
669 </div> | |
670 | |
671 <div id="testLine68c"> | |
672 path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction); | |
673 path.addRect(2, 2, 6, 6, SkPath::kCW_Direction); | |
674 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); | |
675 </div> | |
676 | |
677 <div id="testLine68d"> | |
678 path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction); | |
679 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); | |
680 path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); | |
681 </div> | |
682 | |
683 <div id="testLine68e"> | |
684 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); | |
685 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); | |
686 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); | |
687 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); | |
688 </div> | |
689 | |
690 <div id="testLine68f"> | |
691 path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); | |
692 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); | |
693 path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); | |
694 path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); | |
695 </div> | |
696 | |
697 <div id="testLine69"> | |
698 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); | |
699 path.addRect(0, 20, 12, 30, SkPath::kCW_Direction); | |
700 path.addRect(12, 32, 21, 36, SkPath::kCW_Direction); | |
701 </div> | |
702 | |
703 <div id="testLine70"> | |
704 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
705 path.addRect(0, 24, 12, 12, SkPath::kCW_Direction); | |
706 path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction); | |
707 </div> | |
708 | |
709 <div id="testLine71"> | |
710 path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); | |
711 path.addRect(12, 0, 24, 24, SkPath::kCW_Direction); | |
712 path.addRect(12, 32, 21, 36, SkPath::kCW_Direction); | |
713 </div> | |
714 | |
715 <div id="testLine72"> | |
716 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
717 path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); | |
718 path.addRect(6, 20, 18, 30, SkPath::kCW_Direction); | |
719 </div> | |
720 | |
721 <div id="testLine73"> | |
722 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
723 path.addRect(0, 40, 20, 20, SkPath::kCW_Direction); | |
724 path.addRect(0, 20, 12, 30, SkPath::kCW_Direction); | |
725 path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); | |
726 </div> | |
727 | |
728 <div id="testLine74"> | |
729 path.addRect(20, 30, 40, 40, SkPath::kCW_Direction); | |
730 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction); | |
731 path.addRect(32, 24, 36, 41, SkPath::kCCW_Direction); | |
732 </div> | |
733 | |
734 <div id="testLine75"> | |
735 path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); | |
736 path.addRect(10, 0, 30, 30, SkPath::kCCW_Direction); | |
737 path.addRect(18, 0, 30, 30, SkPath::kCCW_Direction); | |
738 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); | |
739 </div> | |
740 | |
741 <div id="testLine76"> | |
742 path.addRect(36, 0, 66, 60, SkPath::kCW_Direction); | |
743 path.addRect(10, 20, 40, 30, SkPath::kCW_Direction); | |
744 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction); | |
745 path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction); | |
746 </div> | |
747 | |
748 <div id="testLine77"> | |
749 path.addRect(20, 0, 40, 40, SkPath::kCW_Direction); | |
750 path.addRect(24, 6, 36, 36, SkPath::kCCW_Direction); | |
751 path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction); | |
752 </div> | |
753 | |
754 <div id="testLine78"> | |
755 path.addRect(0, 0, 30, 60, SkPath::kCW_Direction); | |
756 path.addRect(10, 20, 30, 30, SkPath::kCCW_Direction); | |
757 path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction); | |
758 path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction); | |
759 </div> | |
760 | |
761 <div id="testLine79"> | |
762 path.addRect(0, 36, 60, 30, SkPath::kCW_Direction); | |
763 path.addRect(10, 30, 40, 30, SkPath::kCW_Direction); | |
764 path.addRect(0, 20, 12, 30, SkPath::kCCW_Direction); | |
765 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); | |
766 </div> | |
767 | |
768 <div id="testLine81"> | |
769 path.addRect(-1, -1, 3, 3, SkPath::kCW_Direction); | |
770 path.addRect(0, 0, 1, 1, SkPath::kCW_Direction); | |
771 path.addRect(1, 1, 2, 2, SkPath::kCCW_Direction); | |
772 </div> | |
773 | |
774 <div id="testDegenerate1"> | |
775 path.moveTo(0, 0); | |
776 path.lineTo(0, 0); | |
777 path.lineTo(2, 0); | |
778 path.close(); | |
779 path.moveTo(0, 0); | |
780 path.lineTo(1, 0); | |
781 path.lineTo(2, 0); | |
782 path.close(); | |
783 </div> | |
784 | |
785 <div id="testDegenerate2"> | |
786 path.moveTo(0, 0); | |
787 path.lineTo(0, 0); | |
788 path.lineTo(0, 0); | |
789 path.close(); | |
790 path.moveTo(0, 0); | |
791 path.lineTo(1, 0); | |
792 path.lineTo(0, 1); | |
793 path.close(); | |
794 </div> | |
795 | |
796 <div id="testDegenerate3"> | |
797 path.moveTo(0, 0); | |
798 path.lineTo(2, 0); | |
799 path.lineTo(1, 0); | |
800 path.close(); | |
801 path.moveTo(0, 0); | |
802 path.lineTo(0, 0); | |
803 path.lineTo(3, 0); | |
804 path.close(); | |
805 </div> | |
806 | |
807 <div id="testDegenerate4"> | |
808 path.moveTo(0, 0); | |
809 path.lineTo(1, 0); | |
810 path.lineTo(1, 3); | |
811 path.close(); | |
812 path.moveTo(1, 0); | |
813 path.lineTo(1, 1); | |
814 path.lineTo(1, 2); | |
815 path.close(); | |
816 </div> | |
817 | |
818 <div id="testNondegenerate1"> | |
819 path.moveTo(0, 0); | |
820 path.lineTo(3, 0); | |
821 path.lineTo(1, 3); | |
822 path.close(); | |
823 path.moveTo(1, 1); | |
824 path.lineTo(2, 1); | |
825 path.lineTo(1, 2); | |
826 path.close(); | |
827 </div> | |
828 | |
829 <div id="testNondegenerate2"> | |
830 path.moveTo(1, 0); | |
831 path.lineTo(0, 1); | |
832 path.lineTo(1, 1); | |
833 path.close(); | |
834 path.moveTo(0, 2); | |
835 path.lineTo(0, 3); | |
836 path.lineTo(1, 2); | |
837 path.close(); | |
838 </div> | |
839 | |
840 <div id="testNondegenerate3"> | |
841 path.moveTo(0, 0); | |
842 path.lineTo(1, 0); | |
843 path.lineTo(2, 1); | |
844 path.close(); | |
845 path.moveTo(0, 1); | |
846 path.lineTo(1, 1); | |
847 path.lineTo(0, 2); | |
848 path.close(); | |
849 </div> | |
850 | |
851 <div id="testNondegenerate4"> | |
852 path.moveTo(1, 0); | |
853 path.lineTo(0, 1); | |
854 path.lineTo(1, 2); | |
855 path.close(); | |
856 path.moveTo(0, 2); | |
857 path.lineTo(0, 3); | |
858 path.lineTo(1, 3); | |
859 path.close(); | |
860 </div> | |
861 | |
862 <div id="testQuadralateral5"> | |
863 path.moveTo(0, 0); | |
864 path.lineTo(0, 0); | |
865 path.lineTo(1, 0); | |
866 path.lineTo(1, 1); | |
867 path.close(); | |
868 path.moveTo(0, 0); | |
869 path.lineTo(2, 2); | |
870 path.lineTo(3, 2); | |
871 path.lineTo(3, 3); | |
872 path.close(); | |
873 </div> | |
874 | |
875 <div id="testQuadralateral6"> | |
876 path.moveTo(0, 0); | |
877 path.lineTo(0, 0); | |
878 path.lineTo(1, 0); | |
879 path.lineTo(1, 1); | |
880 path.close(); | |
881 path.moveTo(1, 0); | |
882 path.lineTo(2, 0); | |
883 path.lineTo(0, 2); | |
884 path.lineTo(2, 2); | |
885 path.close(); | |
886 </div> | |
887 | |
888 <div id="testFauxQuadralateral6"> | |
889 path.moveTo(0, 0); | |
890 path.lineTo(1, 0); | |
891 path.lineTo(1, 1); | |
892 path.close(); | |
893 path.moveTo(1, 0); | |
894 path.lineTo(2, 0); | |
895 path.lineTo(1.333, 0.667); | |
896 path.close(); | |
897 path.moveTo(1.333, 0.667); | |
898 path.lineTo(0, 2); | |
899 path.lineTo(2, 2); | |
900 path.close(); | |
901 </div> | |
902 | |
903 <div id="testFauxQuadralateral6a"> | |
904 path.moveTo(0, 0); | |
905 path.lineTo(3, 0); | |
906 path.lineTo(3, 3); | |
907 path.close(); | |
908 path.moveTo(3, 0); | |
909 path.lineTo(6, 0); | |
910 path.lineTo(4, 2); | |
911 path.close(); | |
912 path.moveTo(4, 2); | |
913 path.lineTo(0, 6); | |
914 path.lineTo(6, 6); | |
915 path.close(); | |
916 </div> | |
917 | |
918 <div id="testFauxQuadralateral6b"> | |
919 path.moveTo(0, 0); | |
920 path.lineTo(3, 0); | |
921 path.lineTo(3, 3); | |
922 path.close(); | |
923 path.moveTo(3, 0); | |
924 path.lineTo(6, 0); | |
925 path.lineTo(4, 2); | |
926 path.close(); | |
927 path.moveTo(4, 2); | |
928 path.lineTo(6, 6); | |
929 path.lineTo(0, 6); | |
930 path.close(); | |
931 </div> | |
932 | |
933 <div id="testFauxQuadralateral6c"> | |
934 path.moveTo(0, 0); | |
935 path.lineTo(3, 3); | |
936 path.lineTo(3, 0); | |
937 path.close(); | |
938 path.moveTo(3, 0); | |
939 path.lineTo(6, 0); | |
940 path.lineTo(4, 2); | |
941 path.close(); | |
942 path.moveTo(4, 2); | |
943 path.lineTo(0, 6); | |
944 path.lineTo(6, 6); | |
945 path.close(); | |
946 </div> | |
947 | |
948 <div id="testFauxQuadralateral6d"> | |
949 path.moveTo(0, 0); | |
950 path.lineTo(3, 3); | |
951 path.lineTo(3, 0); | |
952 path.close(); | |
953 path.moveTo(3, 0); | |
954 path.lineTo(6, 0); | |
955 path.lineTo(4, 2); | |
956 path.close(); | |
957 path.moveTo(4, 2); | |
958 path.lineTo(6, 6); | |
959 path.lineTo(0, 6); | |
960 </div> | |
961 | |
962 <div id="testQuadralateral6a"> | |
963 path.moveTo(0, 0); | |
964 path.lineTo(0, 0); | |
965 path.lineTo(3, 0); | |
966 path.lineTo(3, 3); | |
967 path.close(); | |
968 path.moveTo(3, 0); | |
969 path.lineTo(6, 0); | |
970 path.lineTo(0, 6); | |
971 path.lineTo(6, 6); | |
972 </div> | |
973 | |
974 <div id="testQuadralateral7"> | |
975 path.moveTo(0, 0); | |
976 path.lineTo(0, 0); | |
977 path.lineTo(1, 0); | |
978 path.lineTo(2, 1); | |
979 path.close(); | |
980 path.moveTo(1, 0); | |
981 path.lineTo(1, 1); | |
982 path.lineTo(2, 2); | |
983 path.lineTo(1, 3); | |
984 path.close(); | |
985 </div> | |
986 | |
987 <div id="testQuadralateral8"> | |
988 path.moveTo(0, 0); | |
989 path.lineTo(3, 1); | |
990 path.lineTo(1, 3); | |
991 path.lineTo(3, 3); | |
992 path.close(); | |
993 path.moveTo(2, 1); | |
994 path.lineTo(0, 2); | |
995 path.lineTo(3, 2); | |
996 path.lineTo(2, 3); | |
997 path.close(); | |
998 </div> | |
999 | |
1000 <div id="testQuadralateral9"> | |
1001 path.moveTo(0, 0); | |
1002 path.lineTo(1, 0); | |
1003 path.lineTo(1, 2); | |
1004 path.lineTo(2, 2); | |
1005 path.close(); | |
1006 path.moveTo(1, 1); | |
1007 path.lineTo(2, 1); | |
1008 path.lineTo(1, 3); | |
1009 path.lineTo(2, 3); | |
1010 path.close(); | |
1011 </div> | |
1012 | |
1013 <div id="testLine1x"> | |
1014 path.setFillType(SkPath::kEvenOdd_FillType); | |
1015 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
1016 path.addRect(4, 0, 13, 13, SkPath::kCW_Direction); | |
1017 </div> | |
1018 | |
1019 <div id="testLine2x"> | |
1020 path.setFillType(SkPath::kEvenOdd_FillType); | |
1021 path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); | |
1022 path.addRect(0, 20, 12, 30, SkPath::kCW_Direction); | |
1023 path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); | |
1024 </div> | |
1025 | |
1026 <div id="testLine3x"> | |
1027 path.setFillType(SkPath::kEvenOdd_FillType); | |
1028 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); | |
1029 path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction); | |
1030 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); | |
1031 </div> | |
1032 | |
1033 <div id="testLine4x"> | |
1034 path.setFillType(SkPath::kEvenOdd_FillType); | |
1035 path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); | |
1036 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction); | |
1037 path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); | |
1038 </div> | |
1039 | |
1040 <div id="testQuadratic1"> | |
1041 path.moveTo(0, 0); | |
1042 path.quadTo(0, 0, 0, 0); | |
1043 path.lineTo(1, 0); | |
1044 path.close(); | |
1045 path.moveTo(0, 0); | |
1046 path.lineTo(0, 0); | |
1047 path.quadTo(0, 0, 0, 0); | |
1048 path.close(); | |
1049 </div> | |
1050 | |
1051 <div id="testQuadratic2"> | |
1052 path.moveTo(0, 0); | |
1053 path.quadTo(0, 0, 0, 0); | |
1054 path.lineTo(3, 0); | |
1055 path.close(); | |
1056 path.moveTo(0, 0); | |
1057 path.lineTo(0, 0); | |
1058 path.quadTo(1, 0, 0, 1); | |
1059 path.close(); | |
1060 </div> | |
1061 | |
1062 <div id="testQuadratic3"> | |
1063 path.moveTo(0, 0); | |
1064 path.quadTo(0, 0, 1, 0); | |
1065 path.lineTo(0, 2); | |
1066 path.close(); | |
1067 path.moveTo(0, 0); | |
1068 path.lineTo(0, 0); | |
1069 path.quadTo(1, 0, 0, 1); | |
1070 path.close(); | |
1071 </div> | |
1072 | |
1073 <div id="testQuadratic4x"> | |
1074 path.setFillType(SkPath::kEvenOdd_FillType); | |
1075 path.moveTo(0, 0); | |
1076 path.quadTo(0, 0, 1, 0); | |
1077 path.lineTo(0, 2); | |
1078 path.close(); | |
1079 path.moveTo(0, 0); | |
1080 path.lineTo(0, 0); | |
1081 path.quadTo(1, 0, 0, 2); | |
1082 path.close(); | |
1083 </div> | |
1084 | |
1085 <div id="testQuadratic5"> | |
1086 path.moveTo(0, 0); | |
1087 path.quadTo(0, 0, 0, 0); | |
1088 path.lineTo(0, 1); | |
1089 path.close(); | |
1090 path.moveTo(0, 0); | |
1091 path.lineTo(1, 0); | |
1092 path.quadTo(0, 1, 0, 2); | |
1093 path.close(); | |
1094 </div> | |
1095 | |
1096 <div id="testQuadratic6"> | |
1097 path.moveTo(0, 0); | |
1098 path.quadTo(0, 0, 1, 0); | |
1099 path.lineTo(2, 1); | |
1100 path.close(); | |
1101 path.moveTo(0, 0); | |
1102 path.lineTo(0, 0); | |
1103 path.quadTo(2, 0, 0, 1); | |
1104 path.close(); | |
1105 </div> | |
1106 | |
1107 <div id="testQuadratic7"> | |
1108 path.moveTo(0, 0); | |
1109 path.quadTo(0, 0, 1, 0); | |
1110 path.lineTo(3, 1); | |
1111 path.close(); | |
1112 path.moveTo(0, 0); | |
1113 path.lineTo(0, 0); | |
1114 path.quadTo(3, 0, 1, 2); | |
1115 path.close(); | |
1116 </div> | |
1117 | |
1118 <div id="testQuadratic8"> | |
1119 path.moveTo(0, 0); | |
1120 path.quadTo(0, 0, 1, 0); | |
1121 path.lineTo(0, 2); | |
1122 path.close(); | |
1123 path.moveTo(0, 0); | |
1124 path.lineTo(1, 0); | |
1125 path.quadTo(0, 1, 1, 2); | |
1126 path.close(); | |
1127 </div> | |
1128 | |
1129 <div id="testQuadratic9"> | |
1130 path.moveTo(0, 0); | |
1131 path.quadTo(0, 0, 1, 0); | |
1132 path.lineTo(3, 1); | |
1133 path.close(); | |
1134 path.moveTo(0, 0); | |
1135 path.lineTo(1, 0); | |
1136 path.quadTo(1, 2, 3, 2); | |
1137 path.close(); | |
1138 </div> | |
1139 | |
1140 <div id="testQuadratic9a"> | |
1141 path.moveTo(1.08000004, 0.720000029); | |
1142 path.lineTo(0, 0); | |
1143 path.lineTo(1, 0); | |
1144 path.lineTo(3, 1); | |
1145 path.lineTo(1.01568651, 0.338562161); | |
1146 path.quadTo(1.03542483, 0.541699469, 1.08000004, 0.720000029); | |
1147 path.close(); | |
1148 path.moveTo(1.08000004, 0.720000029); | |
1149 path.lineTo(3, 2); | |
1150 path.quadTo(1.39999998, 2, 1.08000004, 0.720000029); | |
1151 path.close(); | |
1152 | |
1153 </div> | |
1154 | |
1155 <div id="testQuadratic10a"> | |
1156 path.moveTo(15.5, 15.5); | |
1157 path.lineTo(46.5, 15.5); | |
1158 path.quadTo(0, 31, 0, 46.5); | |
1159 path.lineTo(15.5, 15.5); | |
1160 path.close(); | |
1161 </div> | |
1162 | |
1163 <div id="testQuadratic10b"> | |
1164 path.moveTo(5.16666698, 36.1666641); | |
1165 path.lineTo(15.5, 15.5); | |
1166 path.lineTo(46.5, 15.5); | |
1167 path.quadTo(15.5, 25.8333321, 5.16666698, 36.1666641); | |
1168 path.close(); | |
1169 path.moveTo(5.16666698, 36.1666641); | |
1170 path.lineTo(0, 46.5); | |
1171 path.quadTo(0, 41.3333359, 5.16666698, 36.1666641); | |
1172 path.close(); | |
1173 </div> | |
1174 | |
1175 <div id="testQuadratic11a"> | |
1176 path.moveTo(0, 0); | |
1177 path.lineTo(15.5, 31); | |
1178 path.lineTo(0, 0); | |
1179 path.close(); | |
1180 path.moveTo(0, 15.5); | |
1181 path.lineTo(15.5, 15.5); | |
1182 path.quadTo(15.5, 15.5, 46.5, 31); | |
1183 path.lineTo(0, 15.5); | |
1184 path.close(); | |
1185 </div> | |
1186 | |
1187 <div id="testQuadratic11b"> | |
1188 path.moveTo(9.30000019, 18.6000004); | |
1189 path.lineTo(0, 15.5); | |
1190 path.lineTo(7.75, 15.5); | |
1191 path.lineTo(15.5, 15.5); | |
1192 path.lineTo(46.5, 31); | |
1193 path.lineTo(9.30000019, 18.6000004); | |
1194 path.close(); | |
1195 </div> | |
1196 | |
1197 <div id="testQuadratic12"> | |
1198 path.moveTo(0, 0); | |
1199 path.quadTo(0, 0, 0, 0); | |
1200 path.lineTo(1, 3); | |
1201 path.close(); | |
1202 path.moveTo(1, 0); | |
1203 path.lineTo(0, 1); | |
1204 path.quadTo(1, 1, 0, 3); | |
1205 path.close(); | |
1206 </div> | |
1207 | |
1208 <div id="testQuadratic13a"> | |
1209 path.moveTo(0, 0); | |
1210 path.quadTo(0, 0, 15.5, 0); | |
1211 path.lineTo(15.5, 31); | |
1212 path.lineTo(0, 0); | |
1213 path.close(); | |
1214 path.moveTo(0, 0); | |
1215 path.quadTo(15.5, 46.5, 46.5, 46.5); | |
1216 path.lineTo(0, 0); | |
1217 path.close(); | |
1218 </div> | |
1219 | |
1220 <div id="testQuadratic13b"> | |
1221 path.moveTo(14.8800001, 29.7600002); | |
1222 path.quadTo(6.20000029, 18.6000004, 0, 0); | |
1223 path.lineTo(14.8800001, 29.7600002); | |
1224 path.close(); | |
1225 path.moveTo(15.5, 30.5437222); | |
1226 path.lineTo(15.5, 31); | |
1227 path.lineTo(14.8800001, 29.7600002); | |
1228 path.quadTo(15.1884346, 30.156559, 15.5, 30.5437222); | |
1229 path.close(); | |
1230 path.moveTo(15.5, 15.5); | |
1231 path.lineTo(0, 0); | |
1232 path.lineTo(15.5, 0); | |
1233 path.lineTo(15.5, 15.5); | |
1234 path.close(); | |
1235 path.moveTo(15.5, 30.5437222); | |
1236 path.lineTo(15.5, 15.5); | |
1237 path.lineTo(46.5, 46.5); | |
1238 path.quadTo(28.34062, 46.5, 15.5, 30.5437222); | |
1239 path.close(); | |
1240 </div> | |
1241 | |
1242 <div id="testQuadratic14"> | |
1243 path.moveTo(0, 0); | |
1244 path.quadTo(0, 0, 1, 0); | |
1245 path.lineTo(3, 2); | |
1246 path.close(); | |
1247 path.moveTo(0, 0); | |
1248 path.lineTo(1, 0); | |
1249 path.quadTo(3, 2, 3, 3); | |
1250 path.close(); | |
1251 </div> | |
1252 | |
1253 <div id="testQuadratic15"> | |
1254 path.moveTo(0, 0); | |
1255 path.quadTo(0, 0, 1, 0); | |
1256 path.lineTo(1, 3); | |
1257 path.close(); | |
1258 path.moveTo(1, 0); | |
1259 path.lineTo(0, 1); | |
1260 path.quadTo(1, 1, 0, 3); | |
1261 path.close(); | |
1262 </div> | |
1263 | |
1264 <div id="testQuadratic16a"> | |
1265 path.moveTo(0, 0); | |
1266 path.quadTo(0, 0, 31, 0); | |
1267 path.lineTo(46.5, 31); | |
1268 path.lineTo(0, 0); | |
1269 path.close(); | |
1270 path.moveTo(46.5, 15.5); | |
1271 path.lineTo(0, 31); | |
1272 path.quadTo(0, 31, 15.5, 31); | |
1273 path.lineTo(46.5, 15.5); | |
1274 path.close(); | |
1275 </div> | |
1276 | |
1277 <div id="testQuadratic16b"> | |
1278 path.moveTo(31, 20.6666679); | |
1279 path.lineTo(0, 0); | |
1280 path.lineTo(31, 0); | |
1281 path.lineTo(39.8571434, 17.7142868); | |
1282 path.lineTo(31, 20.6666679); | |
1283 path.close(); | |
1284 path.moveTo(33.214283, 22.1428585); | |
1285 path.lineTo(15.5, 31); | |
1286 path.lineTo(0, 31); | |
1287 path.lineTo(31, 20.6666679); | |
1288 path.lineTo(33.214283, 22.1428585); | |
1289 path.close(); | |
1290 path.moveTo(40.2999992, 18.6000004); | |
1291 path.lineTo(46.5, 31); | |
1292 path.lineTo(33.214283, 22.1428585); | |
1293 path.lineTo(40.2999992, 18.6000004); | |
1294 path.close(); | |
1295 path.moveTo(39.8571434, 17.7142868); | |
1296 path.lineTo(46.5, 15.5); | |
1297 path.lineTo(40.2999992, 18.6000004); | |
1298 path.lineTo(39.8571434, 17.7142868); | |
1299 path.close(); | |
1300 </div> | |
1301 | |
1302 <div id="testQuadratic17x"> | |
1303 path.setFillType(SkPath::kEvenOdd_FillType); | |
1304 path.moveTo(0, 0); | |
1305 path.quadTo(0, 0, 3, 1); | |
1306 path.lineTo(0, 2); | |
1307 path.close(); | |
1308 path.moveTo(0, 0); | |
1309 path.lineTo(1, 0); | |
1310 path.quadTo(3, 1, 0, 2); | |
1311 path.close(); | |
1312 </div> | |
1313 | |
1314 <div id="testQuadratic18"> | |
1315 path.moveTo(0, 0); | |
1316 path.quadTo(1, 0, 0, 1); | |
1317 path.lineTo(0, 1); | |
1318 path.close(); | |
1319 path.moveTo(0, 0); | |
1320 path.lineTo(0, 0); | |
1321 path.quadTo(1, 0, 1, 1); | |
1322 path.close(); | |
1323 </div> | |
1324 | |
1325 <div id="testQuadratic19"> | |
1326 path.moveTo(0, 0); | |
1327 path.quadTo(1, 0, 0, 1); | |
1328 path.lineTo(0, 1); | |
1329 path.close(); | |
1330 path.moveTo(0, 0); | |
1331 path.lineTo(0, 0); | |
1332 path.quadTo(2, 0, 0, 1); | |
1333 path.close(); | |
1334 </div> | |
1335 | |
1336 <div id="testQuadratic20"> | |
1337 path.moveTo(0, 0); | |
1338 path.quadTo(1, 0, 0, 1); | |
1339 path.lineTo(0, 1); | |
1340 path.close(); | |
1341 path.moveTo(0, 0); | |
1342 path.lineTo(0, 0); | |
1343 path.quadTo(1, 0, 0, 1); | |
1344 path.close(); | |
1345 </div> | |
1346 | |
1347 <div id="testQuadratic21"> | |
1348 path.moveTo(0, 0); | |
1349 path.quadTo(1, 0, 0, 1); | |
1350 path.lineTo(0, 1); | |
1351 path.close(); | |
1352 path.moveTo(0, 0); | |
1353 path.lineTo(0, 0); | |
1354 path.quadTo(1, 0, 0, 2); | |
1355 path.close(); | |
1356 </div> | |
1357 | |
1358 <div id="testQuadratic22"> | |
1359 path.moveTo(0, 0); | |
1360 path.quadTo(1, 0, 0, 1); | |
1361 path.lineTo(0, 1); | |
1362 path.close(); | |
1363 path.moveTo(0, 0); | |
1364 path.lineTo(0, 0); | |
1365 path.quadTo(0, 1, 2, 1); | |
1366 path.close(); | |
1367 </div> | |
1368 | |
1369 <div id="testQuadratic23"> | |
1370 path.moveTo(0, 0); | |
1371 path.quadTo(1, 0, 0, 1); | |
1372 path.lineTo(0, 1); | |
1373 path.close(); | |
1374 path.moveTo(0, 0); | |
1375 path.lineTo(0, 0); | |
1376 path.quadTo(0, 2, 1, 2); | |
1377 path.close(); | |
1378 </div> | |
1379 | |
1380 <div id="testQuadratic24"> | |
1381 path.moveTo(0, 0); | |
1382 path.quadTo(1, 0, 0, 1); | |
1383 path.lineTo(0, 1); | |
1384 path.close(); | |
1385 path.moveTo(0, 0); | |
1386 path.lineTo(1, 0); | |
1387 path.quadTo(2, 0, 0, 1); | |
1388 path.close(); | |
1389 </div> | |
1390 | |
1391 <div id="testQuadratic25"> | |
1392 path.moveTo(0, 0); | |
1393 path.quadTo(1, 0, 1, 1); | |
1394 path.lineTo(1, 1); | |
1395 path.close(); | |
1396 path.moveTo(0, 0); | |
1397 path.lineTo(0, 0); | |
1398 path.quadTo(2, 1, 0, 2); | |
1399 path.close(); | |
1400 </div> | |
1401 | |
1402 <div id="testQuadratic26"> | |
1403 path.moveTo(0, 0); | |
1404 path.quadTo(1, 0, 1, 1); | |
1405 path.lineTo(0, 2); | |
1406 path.close(); | |
1407 path.moveTo(0, 0); | |
1408 path.lineTo(0, 0); | |
1409 path.quadTo(1, 0, 0, 1); | |
1410 path.close(); | |
1411 </div> | |
1412 | |
1413 <div id="testQuadratic27"> | |
1414 path.moveTo(0, 0); | |
1415 path.quadTo(1, 0, 1, 1); | |
1416 path.lineTo(2, 1); | |
1417 path.close(); | |
1418 path.moveTo(0, 0); | |
1419 path.lineTo(0, 0); | |
1420 path.quadTo(2, 1, 0, 2); | |
1421 path.close(); | |
1422 </div> | |
1423 | |
1424 <div id="testQuadratic28"> | |
1425 path.moveTo(0, 0); | |
1426 path.quadTo(1, 0, 0, 1); | |
1427 path.lineTo(0, 1); | |
1428 path.close(); | |
1429 path.moveTo(0, 0); | |
1430 path.lineTo(0, 2); | |
1431 path.quadTo(1, 2, 0, 3); | |
1432 path.close(); | |
1433 </div> | |
1434 | |
1435 <div id="testQuadratic29"> | |
1436 path.moveTo(0, 0); | |
1437 path.quadTo(1, 0, 2, 1); | |
1438 path.lineTo(0, 2); | |
1439 path.close(); | |
1440 path.moveTo(0, 0); | |
1441 path.lineTo(0, 0); | |
1442 path.quadTo(1, 0, 0, 1); | |
1443 path.close(); | |
1444 </div> | |
1445 | |
1446 <div id="testQuadratic30"> | |
1447 path.moveTo(0, 0); | |
1448 path.quadTo(1, 0, 1, 2); | |
1449 path.lineTo(1, 2); | |
1450 path.close(); | |
1451 path.moveTo(0, 0); | |
1452 path.lineTo(1, 0); | |
1453 path.quadTo(0, 1, 1, 2); | |
1454 path.close(); | |
1455 </div> | |
1456 | |
1457 <div id="testQuadratic31"> | |
1458 path.moveTo(0, 0); | |
1459 path.quadTo(1, 0, 1, 2); | |
1460 path.lineTo(1, 2); | |
1461 path.close(); | |
1462 path.moveTo(0, 0); | |
1463 path.lineTo(1, 0); | |
1464 path.quadTo(0, 1, 1, 3); | |
1465 path.close(); | |
1466 </div> | |
1467 | |
1468 <div id="testQuadratic32"> | |
1469 path.moveTo(0, 0); | |
1470 path.quadTo(1, 0, 2, 3); | |
1471 path.lineTo(2, 3); | |
1472 path.close(); | |
1473 path.moveTo(0, 0); | |
1474 path.lineTo(0, 0); | |
1475 path.quadTo(3, 1, 0, 2); | |
1476 path.close(); | |
1477 </div> | |
1478 | |
1479 <div id="testQuadratic33"> | |
1480 path.moveTo(0, 0); | |
1481 path.quadTo(2, 0, 0, 1); | |
1482 path.lineTo(0, 1); | |
1483 path.close(); | |
1484 path.moveTo(0, 0); | |
1485 path.lineTo(1, 1); | |
1486 path.quadTo(2, 1, 2, 2); | |
1487 path.close(); | |
1488 </div> | |
1489 | |
1490 <div id="testQuadratic34"> | |
1491 path.moveTo(0, 0); | |
1492 path.quadTo(2, 0, 0, 1); | |
1493 path.lineTo(0, 1); | |
1494 path.close(); | |
1495 path.moveTo(1, 0); | |
1496 path.lineTo(1, 1); | |
1497 path.quadTo(2, 1, 1, 2); | |
1498 path.close(); | |
1499 </div> | |
1500 | |
1501 <div id="testQuadratic35"> | |
1502 path.moveTo(0, 0); | |
1503 path.quadTo(0, 1, 1, 1); | |
1504 path.lineTo(1, 3); | |
1505 path.close(); | |
1506 path.moveTo(2, 0); | |
1507 path.lineTo(3, 0); | |
1508 path.quadTo(0, 1, 1, 1); | |
1509 path.close(); | |
1510 </div> | |
1511 | |
1512 <div id="testQuadratic36"> | |
1513 path.moveTo(0, 0); | |
1514 path.quadTo(2, 1, 2, 3); | |
1515 path.lineTo(2, 3); | |
1516 path.close(); | |
1517 path.moveTo(3, 1); | |
1518 path.lineTo(1, 2); | |
1519 path.quadTo(3, 2, 1, 3); | |
1520 path.close(); | |
1521 </div> | |
1522 | |
1523 <div id="testQuadratic37"> | |
1524 path.moveTo(0, 0); | |
1525 path.quadTo(0, 2, 1, 2); | |
1526 path.lineTo(1, 2); | |
1527 path.close(); | |
1528 path.moveTo(0, 0); | |
1529 path.lineTo(3, 1); | |
1530 path.quadTo(0, 2, 1, 2); | |
1531 path.close(); | |
1532 </div> | |
1533 | |
1534 <div id="testQuadratic38"> | |
1535 path.moveTo(1, 0); | |
1536 path.quadTo(0, 1, 1, 1); | |
1537 path.lineTo(1, 1); | |
1538 path.close(); | |
1539 path.moveTo(1, 0); | |
1540 path.lineTo(1, 2); | |
1541 path.quadTo(2, 2, 1, 3); | |
1542 path.close(); | |
1543 </div> | |
1544 | |
1545 <div id="testQuadratic39"> | |
1546 path.moveTo(15.5, 0); | |
1547 path.quadTo(46.5, 15.5, 46.5, 31); | |
1548 path.lineTo(15.5, 0); | |
1549 path.close(); | |
1550 path.moveTo(46.5, 15.5); | |
1551 path.lineTo(0, 31); | |
1552 path.quadTo(0, 31, 15.5, 31); | |
1553 path.lineTo(46.5, 15.5); | |
1554 path.close(); | |
1555 </div> | |
1556 | |
1557 <div id="testQuadratic39a"> | |
1558 path.moveTo(34.875, 19.375); | |
1559 path.lineTo(15.5, 0); | |
1560 path.quadTo(32.9687576, 8.73437881, 40.5937271, 17.4687576); | |
1561 path.lineTo(34.875, 19.375); | |
1562 path.close(); | |
1563 path.moveTo(36.1666641, 20.6666679); | |
1564 path.lineTo(15.5, 31); | |
1565 path.lineTo(0, 31); | |
1566 path.lineTo(34.875, 19.375); | |
1567 path.lineTo(36.1666641, 20.6666679); | |
1568 path.close(); | |
1569 path.moveTo(41.1812401, 18.15938); | |
1570 path.quadTo(46.5, 24.5796909, 46.5, 31); | |
1571 path.lineTo(36.1666641, 20.6666679); | |
1572 path.lineTo(41.1812401, 18.15938); | |
1573 path.close(); | |
1574 path.moveTo(40.5937271, 17.4687576); | |
1575 path.lineTo(46.5, 15.5); | |
1576 path.lineTo(41.1812401, 18.15938); | |
1577 path.quadTo(40.8951759, 17.8140678, 40.5937271, 17.4687576); | |
1578 path.close(); | |
1579 </div> | |
1580 | |
1581 <div id="testQuadratic40x"> | |
1582 path.setFillType(SkPath::kEvenOdd_FillType); | |
1583 path.moveTo(2, 0); | |
1584 path.quadTo(3, 0, 2, 2); | |
1585 path.lineTo(3, 2); | |
1586 path.close(); | |
1587 path.moveTo(3, 1); | |
1588 path.lineTo(0, 2); | |
1589 path.quadTo(0, 2, 1, 2); | |
1590 path.close(); | |
1591 </div> | |
1592 | |
1593 <div id="testQuadratic40xa"> | |
1594 path.moveTo(31, 0); | |
1595 path.quadTo(41.3333359, 0, 37.8888893, 13.7777777); | |
1596 path.lineTo(31, 0); | |
1597 path.close(); | |
1598 path.moveTo(37.8888893, 13.7777777); | |
1599 path.quadTo(37.2993202, 16.1360455, 36.3061028, 18.8979664); | |
1600 path.lineTo(0, 31); | |
1601 path.lineTo(15.5, 31); | |
1602 path.lineTo(35.5182915, 20.9908543); | |
1603 path.quadTo(33.7454262, 25.5091457, 31, 31); | |
1604 path.lineTo(46.5, 31); | |
1605 path.lineTo(40.2999992, 18.6000004); | |
1606 path.lineTo(46.5, 15.5); | |
1607 path.lineTo(39.8571434, 17.7142868); | |
1608 path.lineTo(37.8888893, 13.7777777); | |
1609 path.close(); | |
1610 path.moveTo(36.3061028, 18.8979664); | |
1611 path.quadTo(35.9396667, 19.9169388, 35.5182915, 20.9908543); | |
1612 path.lineTo(40.2999992, 18.6000004); | |
1613 path.lineTo(39.8571434, 17.7142868); | |
1614 path.lineTo(36.3061028, 18.8979664); | |
1615 </div> | |
1616 | |
1617 <div id="testQuadratic40xb"> | |
1618 path.moveTo(31, 0); | |
1619 path.quadTo(46.5, 0, 31, 31); | |
1620 path.lineTo(46.5, 31); | |
1621 path.lineTo(31, 0); | |
1622 path.close(); | |
1623 path.moveTo(46.5, 15.5); | |
1624 path.lineTo(0, 31); | |
1625 path.quadTo(0, 31, 15.5, 31); | |
1626 path.lineTo(46.5, 15.5); | |
1627 path.close(); | |
1628 </div> | |
1629 | |
1630 <div id="testQuadratic41o"> | |
1631 path.moveTo(419.33905, 236.377808); | |
1632 path.quadTo(398.847778, 242.58728, 384.255524, 242.58728); | |
1633 path.quadTo(359.417633, 242.58728, 343.738708, 226.080429); | |
1634 path.quadTo(328.059784, 209.573578, 328.059784, 183.286819); | |
1635 path.quadTo(328.059784, 157.724487, 341.875854, 141.372879); | |
1636 path.quadTo(355.691956, 125.021263, 377.218109, 125.021263); | |
1637 path.quadTo(397.605896, 125.021263, 408.731201, 139.51004); | |
1638 path.quadTo(419.856506, 153.99881, 419.856506, 180.699539); | |
1639 path.lineTo(419.752991, 187.012497); | |
1640 path.lineTo(348.861511, 187.012497); | |
1641 path.quadTo(353.311646, 227.063599, 388.084686, 227.063599); | |
1642 path.quadTo(400.814117, 227.063599, 419.33905, 220.233185); | |
1643 path.lineTo(419.33905, 236.377808); | |
1644 path.close(); | |
1645 path.moveTo(349.792938, 171.695801); | |
1646 path.lineTo(399.365234, 171.695801); | |
1647 path.quadTo(399.365234, 140.337967, 375.976227, 140.337967); | |
1648 path.quadTo(352.483704, 140.337967, 349.792938, 171.695801); | |
1649 path.close(); | |
1650 path.moveTo(378.682587, 277.360321); | |
1651 path.lineTo(381.062897, 259.66333); | |
1652 path.quadTo(398.759888, 268.046112, 415.939423, 268.046112); | |
1653 path.quadTo(450.402008, 268.046112, 450.402008, 231.513718); | |
1654 path.lineTo(450.402008, 213.816727); | |
1655 path.quadTo(439.12146, 237.41272, 413.352142, 237.41272); | |
1656 path.quadTo(393.171356, 237.41272, 381.269867, 222.716965); | |
1657 path.quadTo(369.368378, 208.02121, 369.368378, 183.079834); | |
1658 path.quadTo(369.368378, 157.414017, 382.92572, 141.269379); | |
1659 path.quadTo(396.483093, 125.124756, 418.009247, 125.124756); | |
1660 path.quadTo(436.844666, 125.124756, 450.402008, 140.441467); | |
1661 path.lineTo(450.402008, 127.608543); | |
1662 path.lineTo(470.89325, 127.608543); | |
1663 path.lineTo(470.89325, 209.366608); | |
1664 path.quadTo(470.89325, 235.756866, 468.150757, 248.43454); | |
1665 path.quadTo(465.408234, 261.112213, 457.853363, 269.184509); | |
1666 path.quadTo(444.502991, 283.362823, 416.353394, 283.362823); | |
1667 path.quadTo(396.690063, 283.362823, 378.682587, 277.360321); | |
1668 path.close(); | |
1669 path.moveTo(450.402008, 201.087311); | |
1670 path.lineTo(450.402008, 154.412781); | |
1671 path.quadTo(436.948151, 140.441467, 421.113983, 140.441467); | |
1672 path.quadTo(407.039185, 140.441467, 399.070374, 151.722); | |
1673 path.quadTo(391.101532, 163.002533, 391.101532, 182.665863); | |
1674 path.quadTo(391.101532, 219.612228, 417.07782, 219.612228); | |
1675 path.quadTo(434.774841, 219.612228, 450.402008, 201.087311); | |
1676 path.close(); | |
1677 path.moveTo(482.9328, 236.377808); | |
1678 path.quadTo(462.441528, 242.58728, 447.849274, 242.58728); | |
1679 path.quadTo(423.011383, 242.58728, 407.332458, 226.080429); | |
1680 path.quadTo(391.653534, 209.573578, 391.653534, 183.286819); | |
1681 path.quadTo(391.653534, 157.724487, 405.469604, 141.372879); | |
1682 path.quadTo(419.285706, 125.021263, 440.811859, 125.021263); | |
1683 path.quadTo(461.199646, 125.021263, 472.324951, 139.51004); | |
1684 path.quadTo(483.450256, 153.99881, 483.450256, 180.699539); | |
1685 path.lineTo(483.346741, 187.012497); | |
1686 path.lineTo(412.455261, 187.012497); | |
1687 path.quadTo(416.905396, 227.063599, 451.678436, 227.063599); | |
1688 path.quadTo(464.407867, 227.063599, 482.9328, 220.233185); | |
1689 path.lineTo(482.9328, 236.377808); | |
1690 path.close(); | |
1691 path.moveTo(413.386688, 171.695801); | |
1692 path.lineTo(462.958984, 171.695801); | |
1693 path.quadTo(462.958984, 140.337967, 439.569977, 140.337967); | |
1694 path.quadTo(416.077454, 140.337967, 413.386688, 171.695801); | |
1695 path.close(); | |
1696 </div> | |
1697 | |
1698 <div id="testQuadratic41s"> | |
1699 path.moveTo(341.875854, 141.372879); | |
1700 path.quadTo(355.691956,125.021263, 377.218109,125.021263); | |
1701 path.quadTo(388.787811,125.021263, 397.374664,129.687164); | |
1702 path.quadTo(406.565979,125.124756, 418.009247,125.124756); | |
1703 path.quadTo(423.583374,125.124756, 428.695251,126.466187); | |
1704 path.quadTo(434.412903,125.021263, 440.811859,125.021263); | |
1705 path.quadTo(449.427277,125.021263, 456.388672,127.608543); | |
1706 path.lineTo(470.89325,127.608543); | |
1707 path.lineTo(470.89325,137.749908); | |
1708 path.quadTo(471.627319,138.601486, 472.324951,139.51004); | |
1709 path.quadTo(483.450256,153.99881, 483.450256,180.699539); | |
1710 path.lineTo(483.346741,187.012497); | |
1711 path.lineTo(470.89325,187.012497); | |
1712 path.lineTo(470.89325,209.366608); | |
1713 path.quadTo(470.89325,217.414856, 470.638184,224.187729); | |
1714 path.quadTo(476.428223,222.631516, 482.9328,220.233185); | |
1715 path.lineTo(482.9328,236.377808); | |
1716 path.quadTo(475.87207,238.517426, 469.511749,239.919785); | |
1717 path.quadTo(468.946777,244.754791, 468.150757,248.43454); | |
1718 path.quadTo(465.408234,261.112213, 457.853363,269.184509); | |
1719 path.quadTo(444.502991,283.362823, 416.353394,283.362823); | |
1720 path.quadTo(396.690063,283.362823, 378.682587,277.360321); | |
1721 path.lineTo(381.062897,259.66333); | |
1722 path.quadTo(398.759888,268.046112, 415.939423,268.046112); | |
1723 path.quadTo(444.719147,268.046112, 449.464905,242.568665); | |
1724 path.quadTo(448.648254,242.58728, 447.849274,242.58728); | |
1725 path.quadTo(433.084625,242.58728, 421.556366,236.754425); | |
1726 path.quadTo(418.89566,237.203537, 416.046783,237.346252); | |
1727 path.quadTo(397.661652,242.58728, 384.255524,242.58728); | |
1728 path.quadTo(359.417633,242.58728, 343.738708,226.080429); | |
1729 path.quadTo(328.059784,209.573578, 328.059784,183.286819); | |
1730 path.quadTo(328.059784,157.724487, 341.875854,141.372879); | |
1731 path.close(); | |
1732 path.moveTo(442.014923, 226.179474); | |
1733 path.quadTo(445.951935,226.953491, 450.402008,227.049881); | |
1734 path.lineTo(450.402008,213.816727); | |
1735 path.quadTo(446.904755,221.132065, 442.014923,226.179474); | |
1736 path.close(); | |
1737 path.moveTo(395.347717, 206.501785); | |
1738 path.quadTo(392.200165,197.593536, 391.734406,187.012497); | |
1739 path.lineTo(391.197113,187.012497); | |
1740 path.quadTo(391.738647,198.938644, 395.347717,206.501785); | |
1741 path.close(); | |
1742 path.moveTo(391.808533, 171.695801); | |
1743 path.lineTo(392.428436,171.695801); | |
1744 path.quadTo(393.693451,162.656265, 397.02359,154.9935); | |
1745 path.quadTo(397.023804,154.992996, 397.024048,154.992493); | |
1746 path.quadTo(393.175995,143.845093, 383.003235,141.177292); | |
1747 path.quadTo(382.964447,141.223267, 382.92572,141.269379); | |
1748 </div> | |
1749 | |
1750 <div id="testQuadratic42o"> | |
1751 path.moveTo(421.962158, 236.285355); | |
1752 path.quadTo(400.947845, 242.65332, 385.983124, 242.65332); | |
1753 path.quadTo(360.511261, 242.65332, 344.432129, 225.725143); | |
1754 path.quadTo(328.352997, 208.796951, 328.352997, 181.839218); | |
1755 path.quadTo(328.352997, 155.62442, 342.521729, 138.855438); | |
1756 path.quadTo(356.69046, 122.086449, 378.766083, 122.086449); | |
1757 path.quadTo(399.674255, 122.086449, 411.083527, 136.945038); | |
1758 path.quadTo(422.492798, 151.803635, 422.492798, 179.185898); | |
1759 path.lineTo(422.386688, 185.660004); | |
1760 path.lineTo(349.685699, 185.660004); | |
1761 path.quadTo(354.24942, 226.733398, 389.910034, 226.733398); | |
1762 path.quadTo(402.964386, 226.733398, 421.962158, 219.728638); | |
1763 path.lineTo(421.962158, 236.285355); | |
1764 path.close(); | |
1765 path.moveTo(350.6409, 169.952347); | |
1766 path.lineTo(401.478516, 169.952347); | |
1767 path.quadTo(401.478516, 137.794098, 377.492493, 137.794098); | |
1768 path.quadTo(353.40036, 137.794098, 350.6409, 169.952347); | |
1769 path.close(); | |
1770 path.moveTo(379.213562, 278.313934); | |
1771 path.lineTo(381.654602, 260.165222); | |
1772 path.quadTo(399.803314, 268.761993, 417.421356, 268.761993); | |
1773 path.quadTo(452.763611, 268.761993, 452.763611, 231.297104); | |
1774 path.lineTo(452.763611, 213.148392); | |
1775 path.quadTo(441.195129, 237.34668, 414.768036, 237.34668); | |
1776 path.quadTo(394.072144, 237.34668, 381.866882, 222.275818); | |
1777 path.quadTo(369.661591, 207.204956, 369.661591, 181.626953); | |
1778 path.quadTo(369.661591, 155.306015, 383.565002, 138.749298); | |
1779 path.quadTo(397.468384, 122.192581, 419.544037, 122.192581); | |
1780 path.quadTo(438.860199, 122.192581, 452.763611, 137.900238); | |
1781 path.lineTo(452.763611, 124.739769); | |
1782 path.lineTo(473.777893, 124.739769); | |
1783 path.lineTo(473.777893, 208.584686); | |
1784 path.quadTo(473.777893, 235.64856, 470.965363, 248.649826); | |
1785 path.quadTo(468.152863, 261.651093, 460.405151, 269.929443); | |
1786 path.quadTo(446.71402, 284.469666, 417.845886, 284.469666); | |
1787 path.quadTo(397.680664, 284.469666, 379.213562, 278.313934); | |
1788 path.close(); | |
1789 path.moveTo(452.763611, 200.094055); | |
1790 path.lineTo(452.763611, 152.228165); | |
1791 path.quadTo(438.966339, 137.900238, 422.727997, 137.900238); | |
1792 path.quadTo(408.293945, 137.900238, 400.121704, 149.468719); | |
1793 path.quadTo(391.949493, 161.037186, 391.949493, 181.202423); | |
1794 path.quadTo(391.949493, 219.091827, 418.588837, 219.091827); | |
1795 path.quadTo(436.737549, 219.091827, 452.763611, 200.094055); | |
1796 path.close(); | |
1797 path.moveTo(485.555908, 236.285355); | |
1798 path.quadTo(464.541595, 242.65332, 449.576874, 242.65332); | |
1799 path.quadTo(424.105011, 242.65332, 408.025879, 225.725143); | |
1800 path.quadTo(391.946747, 208.796951, 391.946747, 181.839218); | |
1801 path.quadTo(391.946747, 155.62442, 406.115479, 138.855438); | |
1802 path.quadTo(420.28421, 122.086449, 442.359833, 122.086449); | |
1803 path.quadTo(463.268005, 122.086449, 474.677277, 136.945038); | |
1804 path.quadTo(486.086548, 151.803635, 486.086548, 179.185898); | |
1805 path.lineTo(485.980438, 185.660004); | |
1806 path.lineTo(413.279449, 185.660004); | |
1807 path.quadTo(417.84317, 226.733398, 453.503784, 226.733398); | |
1808 path.quadTo(466.558136, 226.733398, 485.555908, 219.728638); | |
1809 path.lineTo(485.555908, 236.285355); | |
1810 path.close(); | |
1811 path.moveTo(414.23465, 169.952347); | |
1812 path.lineTo(465.072266, 169.952347); | |
1813 path.quadTo(465.072266, 137.794098, 441.086243, 137.794098); | |
1814 path.quadTo(416.99411, 137.794098, 414.23465, 169.952347); | |
1815 path.close(); | |
1816 </div> | |
1817 | |
1818 <div id="testQuadratic42s"> | |
1819 path.moveTo(342.521729, 138.855438); | |
1820 path.quadTo(356.69046,122.086449, 378.766083,122.086449); | |
1821 path.quadTo(390.293488,122.086449, 398.933502,126.603004); | |
1822 path.quadTo(408.150299,122.192581, 419.544037,122.192581); | |
1823 path.quadTo(425.108429,122.192581, 430.223633,123.496056); | |
1824 path.quadTo(435.959412,122.086449, 442.359833,122.086449); | |
1825 path.quadTo(451.19516,122.086449, 458.334229,124.739769); | |
1826 path.lineTo(473.777893,124.739769); | |
1827 path.lineTo(473.777893,135.814713); | |
1828 path.quadTo(474.234741,136.368698, 474.677277,136.945038); | |
1829 path.quadTo(486.086548,151.803635, 486.086548,179.185898); | |
1830 path.lineTo(485.980438,185.660004); | |
1831 path.lineTo(473.777893,185.660004); | |
1832 path.lineTo(473.777893,208.584686); | |
1833 path.quadTo(473.777893,216.745773, 473.522156,223.628113); | |
1834 path.quadTo(479.207153,222.069519, 485.555908,219.728638); | |
1835 path.lineTo(485.555908,236.285355); | |
1836 path.quadTo(478.638306,238.381592, 472.376221,239.787796); | |
1837 path.quadTo(471.792389,244.826782, 470.965363,248.649826); | |
1838 path.quadTo(468.152863,261.651093, 460.405151,269.929443); | |
1839 path.quadTo(446.71402,284.469666, 417.845886,284.469666); | |
1840 path.quadTo(397.680664,284.469666, 379.213562,278.313934); | |
1841 path.lineTo(381.654602,260.165222); | |
1842 path.quadTo(399.803314,268.761993, 417.421356,268.761993); | |
1843 path.quadTo(446.944275,268.761993, 451.80542,242.619034); | |
1844 path.quadTo(450.674866,242.65332, 449.576874,242.65332); | |
1845 path.quadTo(434.524628,242.65332, 422.75238,236.741913); | |
1846 path.quadTo(420.864227,237.041901, 418.884674,237.193085); | |
1847 path.quadTo(399.840271,242.65332, 385.983124,242.65332); | |
1848 path.quadTo(360.511261,242.65332, 344.432129,225.725143); | |
1849 path.quadTo(328.352997,208.796951, 328.352997,181.839218); | |
1850 path.quadTo(328.352997,155.62442, 342.521729,138.855438); | |
1851 path.close(); | |
1852 path.moveTo(383.823944, 138.443222); | |
1853 path.quadTo(380.900299,137.794098, 377.492493,137.794098); | |
1854 path.quadTo(353.40036,137.794098, 350.6409,169.952347); | |
1855 path.lineTo(370.408203,169.952347); | |
1856 path.quadTo(372.883484,151.469254, 383.565002,138.749298); | |
1857 path.quadTo(383.694122,138.595551, 383.823944,138.443222); | |
1858 path.close(); | |
1859 path.moveTo(369.740021, 185.660004); | |
1860 path.lineTo(349.685699,185.660004); | |
1861 path.quadTo(353.983734,224.342361, 385.863525,226.594208); | |
1862 path.quadTo(383.762756,224.616837, 381.866882,222.275818); | |
1863 path.quadTo(370.639954,208.41301, 369.740021,185.660004); | |
1864 path.close(); | |
1865 path.moveTo(413.279449, 185.660004); | |
1866 path.quadTo(415.737305,207.780716, 427.214905,217.987976); | |
1867 path.quadTo(440.600586,214.512451, 452.763611,200.094055); | |
1868 path.lineTo(452.763611,185.660004); | |
1869 </div> | |
1870 | |
1871 <div id="testQuadratic43o"> | |
1872 path.moveTo(288.755981, 240); | |
1873 path.lineTo(288.755981, 102.232819); | |
1874 path.lineTo(315.843994, 102.232819); | |
1875 path.lineTo(354.009216, 208.816208); | |
1876 path.lineTo(393.291473, 102.232819); | |
1877 path.lineTo(417.493835, 102.232819); | |
1878 path.lineTo(417.493835, 240); | |
1879 path.lineTo(399.248962, 240); | |
1880 path.lineTo(399.248962, 127.92453); | |
1881 path.lineTo(361.269928, 230.784485); | |
1882 path.lineTo(342.373474, 230.784485); | |
1883 path.lineTo(305.511444, 127.645271); | |
1884 path.lineTo(305.511444, 240); | |
1885 path.lineTo(288.755981, 240); | |
1886 path.close(); | |
1887 path.moveTo(397.864014, 236.741989); | |
1888 path.quadTo(379.433014, 242.327148, 366.307892, 242.327148); | |
1889 path.quadTo(343.967255, 242.327148, 329.864746, 227.479935); | |
1890 path.quadTo(315.762238, 212.632736, 315.762238, 188.988907); | |
1891 path.quadTo(315.762238, 165.996674, 328.189209, 151.289093); | |
1892 path.quadTo(340.61618, 136.581512, 359.978058, 136.581512); | |
1893 path.quadTo(378.315979, 136.581512, 388.322723, 149.613556); | |
1894 path.quadTo(398.329468, 162.645584, 398.329468, 186.661758); | |
1895 path.lineTo(398.236359, 192.339996); | |
1896 path.lineTo(334.472504, 192.339996); | |
1897 path.quadTo(338.475189, 228.364258, 369.752075, 228.364258); | |
1898 path.quadTo(381.20163, 228.364258, 397.864014, 222.220581); | |
1899 path.lineTo(397.864014, 236.741989); | |
1900 path.close(); | |
1901 path.moveTo(335.310272, 178.563278); | |
1902 path.lineTo(379.898438, 178.563278); | |
1903 path.quadTo(379.898438, 150.358246, 358.861023, 150.358246); | |
1904 path.quadTo(337.730499, 150.358246, 335.310272, 178.563278); | |
1905 path.close(); | |
1906 path.moveTo(346.052765, 240); | |
1907 path.lineTo(346.052765, 138.908661); | |
1908 path.lineTo(364.390686, 138.908661); | |
1909 path.lineTo(364.390686, 157.898193); | |
1910 path.quadTo(375.281769, 136.674606, 396.039917, 136.674606); | |
1911 path.quadTo(398.832489, 136.674606, 401.904327, 137.140045); | |
1912 path.lineTo(401.904327, 154.267853); | |
1913 path.quadTo(397.156952, 152.685394, 393.526611, 152.685394); | |
1914 path.quadTo(376.119537, 152.685394, 364.390686, 173.350464); | |
1915 path.lineTo(364.390686, 240); | |
1916 path.lineTo(346.052765, 240); | |
1917 path.close(); | |
1918 path.moveTo(362.792297, 273.604034); | |
1919 path.lineTo(364.933289, 257.68634); | |
1920 path.quadTo(380.850983, 265.226288, 396.303253, 265.226288); | |
1921 path.quadTo(427.300842, 265.226288, 427.300842, 232.366959); | |
1922 path.lineTo(427.300842, 216.449265); | |
1923 path.quadTo(417.15448, 237.672852, 393.976105, 237.672852); | |
1924 path.quadTo(375.824341, 237.672852, 365.119446, 224.454651); | |
1925 path.quadTo(354.414581, 211.23645, 354.414581, 188.802734); | |
1926 path.quadTo(354.414581, 165.717422, 366.608826, 151.196014); | |
1927 path.quadTo(378.803101, 136.674606, 398.164948, 136.674606); | |
1928 path.quadTo(415.106598, 136.674606, 427.300842, 150.451324); | |
1929 path.lineTo(427.300842, 138.908661); | |
1930 path.lineTo(445.731873, 138.908661); | |
1931 path.lineTo(445.731873, 212.446564); | |
1932 path.quadTo(445.731873, 236.183472, 443.265106, 247.586502); | |
1933 path.quadTo(440.798309, 258.989532, 434.003052, 266.250244); | |
1934 path.quadTo(421.994965, 279.002991, 396.675598, 279.002991); | |
1935 path.quadTo(378.989258, 279.002991, 362.792297, 273.604034); | |
1936 path.close(); | |
1937 path.moveTo(427.300842, 204.999695); | |
1938 path.lineTo(427.300842, 163.017929); | |
1939 path.quadTo(415.199677, 150.451324, 400.95755, 150.451324); | |
1940 path.quadTo(388.297852, 150.451324, 381.130249, 160.597687); | |
1941 path.quadTo(373.962616, 170.744064, 373.962616, 188.430389); | |
1942 path.quadTo(373.962616, 221.662079, 397.327179, 221.662079); | |
1943 path.quadTo(413.244873, 221.662079, 427.300842, 204.999695); | |
1944 path.close(); | |
1945 path.moveTo(461.457764, 236.741989); | |
1946 path.quadTo(443.026764, 242.327148, 429.901642, 242.327148); | |
1947 path.quadTo(407.561005, 242.327148, 393.458496, 227.479935); | |
1948 path.quadTo(379.355988, 212.632736, 379.355988, 188.988907); | |
1949 path.quadTo(379.355988, 165.996674, 391.782959, 151.289093); | |
1950 path.quadTo(404.20993, 136.581512, 423.571808, 136.581512); | |
1951 path.quadTo(441.909729, 136.581512, 451.916473, 149.613556); | |
1952 path.quadTo(461.923218, 162.645584, 461.923218, 186.661758); | |
1953 path.lineTo(461.830109, 192.339996); | |
1954 path.lineTo(398.066254, 192.339996); | |
1955 path.quadTo(402.068939, 228.364258, 433.345825, 228.364258); | |
1956 path.quadTo(444.79538, 228.364258, 461.457764, 222.220581); | |
1957 path.lineTo(461.457764, 236.741989); | |
1958 path.close(); | |
1959 path.moveTo(398.904022, 178.563278); | |
1960 path.lineTo(443.492188, 178.563278); | |
1961 path.quadTo(443.492188, 150.358246, 422.454773, 150.358246); | |
1962 path.quadTo(401.324249, 150.358246, 398.904022, 178.563278); | |
1963 path.close(); | |
1964 </div> | |
1965 | |
1966 <div id="testQuadratic43s"> | |
1967 path.moveTo(288.755981, 240); | |
1968 path.lineTo(288.755981,102.232819); | |
1969 path.lineTo(315.843994,102.232819); | |
1970 path.lineTo(331.979736,147.294876); | |
1971 path.quadTo(343.453125,136.581512, 359.978058,136.581512); | |
1972 path.quadTo(370.869446,136.581512, 378.822021,141.178574); | |
1973 path.quadTo(378.893585,141.140915, 378.965302,141.103577); | |
1974 path.lineTo(393.291473,102.232819); | |
1975 path.lineTo(417.493835,102.232819); | |
1976 path.lineTo(417.493835,136.965759); | |
1977 path.quadTo(420.44223,136.581512, 423.571808,136.581512); | |
1978 path.quadTo(431.320984,136.581512, 437.582458,138.908661); | |
1979 path.lineTo(445.731873,138.908661); | |
1980 path.lineTo(445.731873,143.392502); | |
1981 path.quadTo(449.143951,146.002823, 451.916473,149.613556); | |
1982 path.quadTo(461.923218,162.645584, 461.923218,186.661758); | |
1983 path.lineTo(461.830109,192.339996); | |
1984 path.lineTo(445.731873,192.339996); | |
1985 path.lineTo(445.731873,212.446564); | |
1986 path.quadTo(445.731873,220.39856, 445.455017,226.966339); | |
1987 path.quadTo(452.7435,225.43367, 461.457764,222.220581); | |
1988 path.lineTo(461.457764,236.741989); | |
1989 path.quadTo(452.250824,239.531982, 444.367889,240.928268); | |
1990 path.quadTo(443.897583,244.662796, 443.265106,247.586502); | |
1991 path.quadTo(440.798309,258.989532, 434.003052,266.250244); | |
1992 path.quadTo(421.994965,279.002991, 396.675598,279.002991); | |
1993 path.quadTo(378.989258,279.002991, 362.792297,273.604034); | |
1994 path.lineTo(364.933289,257.68634); | |
1995 path.quadTo(380.850983,265.226288, 396.303253,265.226288); | |
1996 path.quadTo(422.230743,265.226288, 426.471558,242.237076); | |
1997 path.quadTo(419.570892,241.869324, 413.503387,240); | |
1998 path.lineTo(399.248962,240); | |
1999 path.lineTo(399.248962,237.37915); | |
2000 path.quadTo(397.047638,237.633072, 394.711517,237.667465); | |
2001 path.quadTo(378.296356,242.327148, 366.307892,242.327148); | |
2002 path.quadTo(357.463165,242.327148, 349.909637,240); | |
2003 path.lineTo(346.052765,240); | |
2004 path.lineTo(346.052765,238.625916); | |
2005 path.quadTo(336.926056,234.914124, 329.864746,227.479935); | |
2006 path.quadTo(315.762238,212.632736, 315.762238,188.988907); | |
2007 path.quadTo(315.762238,176.540054, 319.405273,166.519882); | |
2008 path.lineTo(305.511444,127.645271); | |
2009 path.lineTo(305.511444,240); | |
2010 path.lineTo(288.755981,240); | |
2011 path.close(); | |
2012 path.moveTo(375.464813, 192.339996); | |
2013 path.lineTo(374.267029,195.583939); | |
2014 path.quadTo(375.987579,214.575378, 387.432068,219.736267); | |
2015 path.quadTo(380.122528,208.101486, 379.428741,192.339996); | |
2016 path.lineTo(375.464813,192.339996); | |
2017 path.close(); | |
2018 path.moveTo(427.300842, 178.563278); | |
2019 path.lineTo(427.300842,163.017929); | |
2020 path.quadTo(422.561523,158.096329, 417.493835,155.102234); | |
2021 path.lineTo(417.493835,178.563278); | |
2022 path.lineTo(427.300842,178.563278); | |
2023 path.close(); | |
2024 path.moveTo(427.300842, 192.339996); | |
2025 path.lineTo(417.493835,192.339996); | |
2026 path.lineTo(417.493835,214.429169); | |
2027 path.quadTo(422.505676,210.684036, 427.300842,204.999695); | |
2028 path.lineTo(427.300842,192.339996); | |
2029 path.close(); | |
2030 path.moveTo(420.700134, 226.556015); | |
2031 path.quadTo(423.794342,227.54834, 427.300842,227.996094); | |
2032 path.lineTo(427.300842,216.449265); | |
2033 path.quadTo(424.497772,222.312531, 420.700134,226.556015); | |
2034 path.close(); | |
2035 path.moveTo(368.744965, 228.354782); | |
2036 path.quadTo(366.836426,226.574738, 365.119446,224.454651); | |
2037 path.quadTo(364.748657,223.996796, 364.390686,223.527878); | |
2038 path.lineTo(364.390686,228.077774); | |
2039 path.quadTo(366.495239,228.312164, 368.744965,228.354782); | |
2040 path.close(); | |
2041 path.moveTo(399.248962, 199.701065); | |
2042 path.lineTo(399.248962,192.339996); | |
2043 path.lineTo(398.236359,192.339996); | |
2044 path.lineTo(398.066254,192.339996); | |
2045 path.quadTo(398.498535,196.230621, 399.248962,199.701065); | |
2046 path.close(); | |
2047 path.moveTo(399.248962, 178.563278); | |
2048 path.lineTo(399.248962,175.376892); | |
2049 path.quadTo(399.04483,176.922348, 398.904022,178.563278); | |
2050 path.lineTo(399.248962,178.563278); | |
2051 path.close(); | |
2052 path.moveTo(399.248962, 136.688828); | |
2053 path.lineTo(399.248962,127.92453); | |
2054 path.lineTo(396.018158,136.674606); | |
2055 path.quadTo(396.029053,136.674606, 396.039917,136.674606); | |
2056 path.quadTo(396.513672,136.674606, 396.995453,136.688004); | |
2057 path.quadTo(397.576904,136.674606, 398.164948,136.674606); | |
2058 path.quadTo(398.709412,136.674606, 399.248962,136.688828); | |
2059 path.close(); | |
2060 path.moveTo(346.052765, 178.563278); | |
2061 path.lineTo(346.052765,154.02713); | |
2062 path.quadTo(340.97113,157.621338, 338.22525,164.736588); | |
2063 path.lineTo(343.1763,178.563278); | |
2064 path.lineTo(346.052765,178.563278); | |
2065 path.close(); | |
2066 path.moveTo(364.390686, 150.922379); | |
2067 path.lineTo(364.390686,154.048065); | |
2068 path.quadTo(365.340851,152.726639, 366.38147,151.468765); | |
2069 path.quadTo(365.420258,151.14975, 364.390686,150.922379); | |
2070 path.close(); | |
2071 path.moveTo(367.863586, 152.032623); | |
2072 path.quadTo(367.144043,151.721848, 366.38147,151.468765); | |
2073 </div> | |
2074 | |
2075 <div id="testQuadratic44o"> | |
2076 path.moveTo(354.009216, 208.816208); | |
2077 path.lineTo(393.291473, 102.232819); | |
2078 path.lineTo(399.248962, 127.92453); | |
2079 path.lineTo(361.269928, 230.784485); | |
2080 path.lineTo(354.009216, 208.816208); | |
2081 path.close(); | |
2082 path.moveTo(328.189209, 151.289093); | |
2083 path.quadTo(340.61618, 136.581512, 359.978058, 136.581512); | |
2084 path.quadTo(378.315979, 136.581512, 388.322723, 149.613556); | |
2085 path.lineTo(328.189209, 151.289093); | |
2086 path.close(); | |
2087 path.moveTo(346.052765, 138.908661); | |
2088 path.lineTo(364.390686, 138.908661); | |
2089 path.lineTo(364.390686, 157.898193); | |
2090 path.quadTo(375.281769, 136.674606, 396.039917, 136.674606); | |
2091 path.lineTo(346.052765, 138.908661); | |
2092 path.close(); | |
2093 </div> | |
2094 | |
2095 <div id="testQuadratic44s"> | |
2096 path.moveTo(380.33902, 137.376312); | |
2097 path.lineTo(393.291473,102.232819); | |
2098 path.lineTo(399.248962,127.92453); | |
2099 path.lineTo(396.018158,136.674606); | |
2100 path.quadTo(396.029053,136.674606, 396.039917,136.674606); | |
2101 path.lineTo(396.017792,136.675598); | |
2102 path.lineTo(361.269928,230.784485); | |
2103 path.lineTo(354.009216,208.816208); | |
2104 path.lineTo(375.699249,149.965286); | |
2105 path.lineTo(369.22699,150.14563); | |
2106 path.quadTo(373.524384,144.511566, 378.917297,141.233871); | |
2107 path.lineTo(380.33902,137.376312); | |
2108 path.close(); | |
2109 path.moveTo(380.33902, 137.376312); | |
2110 path.lineTo(378.917297,141.233856); | |
2111 path.quadTo(375.048248,138.978912, 370.480499,137.816925); | |
2112 path.lineTo(380.33902,137.376312); | |
2113 path.close(); | |
2114 path.moveTo(392.55661, 136.830276); | |
2115 path.lineTo(380.33902,137.376312); | |
2116 </div> | |
2117 | |
2118 <div id="testQuadratic45o"> | |
2119 path.moveTo(315.843994, 102.232819); | |
2120 path.lineTo(354.009216, 208.816208); | |
2121 path.lineTo(393.291473, 102.232819); | |
2122 path.lineTo(399.248962, 127.92453); | |
2123 path.lineTo(361.269928, 230.784485); | |
2124 path.lineTo(342.373474, 230.784485); | |
2125 path.lineTo(305.511444, 127.645271); | |
2126 path.lineTo(315.843994, 102.232819); | |
2127 path.close(); | |
2128 path.moveTo(366.307892, 242.327148); | |
2129 path.quadTo(343.967255, 242.327148, 329.864746, 227.479935); | |
2130 path.quadTo(315.762238, 212.632736, 315.762238, 188.988907); | |
2131 path.quadTo(315.762238, 165.996674, 328.189209, 151.289093); | |
2132 path.quadTo(340.61618, 136.581512, 359.978058, 136.581512); | |
2133 path.quadTo(378.315979, 136.581512, 388.322723, 149.613556); | |
2134 path.quadTo(398.329468, 162.645584, 398.329468, 186.661758); | |
2135 path.lineTo(398.236359, 192.339996); | |
2136 path.lineTo(334.472504, 192.339996); | |
2137 path.quadTo(338.475189, 228.364258, 369.752075, 228.364258); | |
2138 path.quadTo(381.20163, 228.364258, 397.864014, 222.220581); | |
2139 path.lineTo(366.307892, 242.327148); | |
2140 path.close(); | |
2141 path.moveTo(335.310272, 178.563278); | |
2142 path.lineTo(379.898438, 178.563278); | |
2143 path.quadTo(379.898438, 150.358246, 358.861023, 150.358246); | |
2144 path.quadTo(337.730499, 150.358246, 335.310272, 178.563278); | |
2145 path.close(); | |
2146 path.moveTo(346.052765, 240); | |
2147 path.lineTo(346.052765, 138.908661); | |
2148 path.lineTo(364.390686, 138.908661); | |
2149 path.lineTo(364.390686, 157.898193); | |
2150 path.quadTo(375.281769, 136.674606, 396.039917, 136.674606); | |
2151 path.lineTo(401.904327, 154.267853); | |
2152 path.quadTo(397.156952, 152.685394, 393.526611, 152.685394); | |
2153 path.quadTo(376.119537, 152.685394, 364.390686, 173.350464); | |
2154 path.lineTo(364.390686, 240); | |
2155 path.lineTo(346.052765, 240); | |
2156 path.close(); | |
2157 path.moveTo(396.303253, 265.226288); | |
2158 path.quadTo(427.300842, 265.226288, 427.300842, 232.366959); | |
2159 path.lineTo(427.300842, 216.449265); | |
2160 path.quadTo(417.15448, 237.672852, 393.976105, 237.672852); | |
2161 path.quadTo(375.824341, 237.672852, 365.119446, 224.454651); | |
2162 path.quadTo(354.414581, 211.23645, 354.414581, 188.802734); | |
2163 path.quadTo(354.414581, 165.717422, 366.608826, 151.196014); | |
2164 path.quadTo(378.803101, 136.674606, 398.164948, 136.674606); | |
2165 path.lineTo(396.303253, 265.226288); | |
2166 path.close(); | |
2167 path.moveTo(400.95755, 150.451324); | |
2168 path.quadTo(388.297852, 150.451324, 381.130249, 160.597687); | |
2169 path.quadTo(373.962616, 170.744064, 373.962616, 188.430389); | |
2170 path.quadTo(373.962616, 221.662079, 397.327179, 221.662079); | |
2171 path.lineTo(400.95755, 150.451324); | |
2172 path.close(); | |
2173 path.moveTo(429.901642, 242.327148); | |
2174 path.quadTo(407.561005, 242.327148, 393.458496, 227.479935); | |
2175 path.quadTo(379.355988, 212.632736, 379.355988, 188.988907); | |
2176 path.quadTo(379.355988, 165.996674, 391.782959, 151.289093); | |
2177 path.quadTo(404.20993, 136.581512, 423.571808, 136.581512); | |
2178 path.lineTo(429.901642, 242.327148); | |
2179 path.close(); | |
2180 </div> | |
2181 | |
2182 <div id="testQuadratic45s"> | |
2183 path.moveTo(305.511444, 127.645271); | |
2184 path.lineTo(315.843994,102.232819); | |
2185 path.lineTo(331.979736,147.294876); | |
2186 path.quadTo(343.453125,136.581512, 359.978058,136.581512); | |
2187 path.quadTo(370.869446,136.581512, 378.822021,141.178574); | |
2188 path.quadTo(378.893585,141.140915, 378.965302,141.103577); | |
2189 path.lineTo(393.291473,102.232819); | |
2190 path.lineTo(399.248962,127.92453); | |
2191 path.lineTo(396.018158,136.674606); | |
2192 path.quadTo(396.029053,136.674606, 396.039917,136.674606); | |
2193 path.lineTo(396.054596,136.718628); | |
2194 path.quadTo(397.098907,136.674606, 398.164948,136.674606); | |
2195 path.lineTo(398.076477,142.784256); | |
2196 path.lineTo(398.697632,144.647751); | |
2197 path.quadTo(409.233032,136.581512, 423.571808,136.581512); | |
2198 path.lineTo(429.901642,242.327148); | |
2199 path.quadTo(428.161621,242.327148, 426.471558,242.237076); | |
2200 path.quadTo(427.300842,237.741562, 427.300842,232.366959); | |
2201 path.lineTo(427.300842,216.449265); | |
2202 path.quadTo(419.710114,232.327133, 404.8255,236.326401); | |
2203 path.quadTo(400.557983,233.971252, 396.803375,230.691772); | |
2204 path.lineTo(396.7034,237.596863); | |
2205 path.quadTo(395.363068,237.672852, 393.976105,237.672852); | |
2206 path.quadTo(385.309937,237.672852, 378.341187,234.659912); | |
2207 path.lineTo(366.307892,242.327148); | |
2208 path.quadTo(357.463165,242.327148, 349.909637,240); | |
2209 path.lineTo(346.052765,240); | |
2210 path.lineTo(346.052765,238.625916); | |
2211 path.quadTo(336.926056,234.914124, 329.864746,227.479935); | |
2212 path.quadTo(315.762238,212.632736, 315.762238,188.988907); | |
2213 path.quadTo(315.762238,176.540054, 319.405273,166.519882); | |
2214 path.lineTo(305.511444,127.645271); | |
2215 path.close(); | |
2216 path.moveTo(375.464813, 192.339996); | |
2217 path.lineTo(374.267029,195.583939); | |
2218 path.quadTo(375.987579,214.575378, 387.432068,219.736267); | |
2219 path.quadTo(380.122528,208.101486, 379.428741,192.339996); | |
2220 path.lineTo(375.464813,192.339996); | |
2221 path.close(); | |
2222 path.moveTo(397.925934, 153.178131); | |
2223 path.lineTo(397.615479,174.615356); | |
2224 path.quadTo(398.329468,180.246704, 398.329468,186.661758); | |
2225 path.lineTo(398.236359,192.339996); | |
2226 path.lineTo(397.358795,192.339996); | |
2227 path.lineTo(396.934174,221.659714); | |
2228 path.quadTo(397.129852,221.662079, 397.327179,221.662079); | |
2229 path.lineTo(400.781189,153.910889); | |
2230 path.quadTo(399.295654,153.462463, 397.925934,153.178131); | |
2231 path.close(); | |
2232 path.moveTo(400.914398, 151.298019); | |
2233 path.lineTo(400.632721,150.453003); | |
2234 path.quadTo(400.794678,150.451324, 400.95755,150.451324); | |
2235 path.lineTo(400.914398,151.298019); | |
2236 path.close(); | |
2237 path.moveTo(368.744965, 228.354782); | |
2238 path.quadTo(366.836426,226.574738, 365.119446,224.454651); | |
2239 path.quadTo(364.748657,223.996796, 364.390686,223.527878); | |
2240 path.lineTo(364.390686,228.077774); | |
2241 path.quadTo(366.495239,228.312164, 368.744965,228.354782); | |
2242 path.close(); | |
2243 path.moveTo(346.052765, 178.563278); | |
2244 path.lineTo(346.052765,154.02713); | |
2245 path.quadTo(340.97113,157.621338, 338.22525,164.736588); | |
2246 path.lineTo(343.1763,178.563278); | |
2247 path.lineTo(346.052765,178.563278); | |
2248 path.close(); | |
2249 path.moveTo(364.390686, 150.922379); | |
2250 path.lineTo(364.390686,154.048065); | |
2251 path.quadTo(365.340851,152.726639, 366.38147,151.468765); | |
2252 path.quadTo(365.420258,151.14975, 364.390686,150.922379); | |
2253 path.close(); | |
2254 path.moveTo(367.863586, 152.032623); | |
2255 path.quadTo(367.144043,151.721848, 366.38147,151.468765); | |
2256 </div> | |
2257 | |
2258 <div id="testQuadratic46o"> | |
2259 path.moveTo(366.608826, 151.196014); | |
2260 path.quadTo(378.803101, 136.674606, 398.164948, 136.674606); | |
2261 path.lineTo(354.009216, 208.816208); | |
2262 path.lineTo(393.291473, 102.232819); | |
2263 path.lineTo(359.978058, 136.581512); | |
2264 path.quadTo(378.315979, 136.581512, 388.322723, 149.613556); | |
2265 path.lineTo(364.390686, 157.898193); | |
2266 path.quadTo(375.281769, 136.674606, 396.039917, 136.674606); | |
2267 path.lineTo(350, 120); | |
2268 path.lineTo(366.608826, 151.196014); | |
2269 path.close(); | |
2270 </div> | |
2271 | |
2272 <div id="testQuadratic46s"> | |
2273 path.moveTo(369.285553, 126.984779); | |
2274 path.lineTo(393.291473,102.232819); | |
2275 path.lineTo(382.416199,131.740402); | |
2276 path.lineTo(396.039917,136.674606); | |
2277 path.quadTo(387.290802,136.674606, 380.294495,140.44487); | |
2278 path.quadTo(379.623352,140.760971, 378.965302,141.103577); | |
2279 path.lineTo(378.917297,141.233856); | |
2280 path.quadTo(378.86972,141.206131, 378.822021,141.178574); | |
2281 path.quadTo(372.011871,144.761871, 366.608826,151.196014); | |
2282 path.lineTo(350,120); | |
2283 path.lineTo(369.285553,126.984779); | |
2284 path.close(); | |
2285 path.moveTo(374.00174, 154.571106); | |
2286 path.lineTo(378.917297,141.233871); | |
2287 path.quadTo(378.917297,141.233871, 378.917297,141.233856); | |
2288 path.quadTo(384.294891,144.368011, 388.322723,149.613556); | |
2289 path.lineTo(374.00174,154.571106); | |
2290 path.close(); | |
2291 path.moveTo(378.917297, 141.233871); | |
2292 path.quadTo(370.233887,146.511475, 364.390686,157.898193); | |
2293 path.lineTo(374.00174,154.571106); | |
2294 path.lineTo(354.009216,208.816208); | |
2295 path.lineTo(398.164948,136.674606); | |
2296 path.quadTo(388.299255,136.674606, 380.294495,140.44487); | |
2297 </div> | |
2298 | |
2299 <div id="testQuadratic47o"> | |
2300 path.moveTo(343.939362, 212.598053); | |
2301 path.lineTo(378.457642, 118.940636); | |
2302 path.lineTo(383.692657, 141.516571); | |
2303 path.lineTo(350.319519, 231.902115); | |
2304 path.lineTo(343.939362, 212.598053); | |
2305 path.close(); | |
2306 path.moveTo(325.429016, 162.047577); | |
2307 path.quadTo(336.348907, 149.123688, 353.36264, 149.123688); | |
2308 path.quadTo(369.476624, 149.123688, 378.269806, 160.575241); | |
2309 path.lineTo(325.429016, 162.047577); | |
2310 path.close(); | |
2311 path.moveTo(370.867188, 186.014069); | |
2312 path.quadTo(370.867188, 161.229614, 352.381104, 161.229614); | |
2313 path.quadTo(333.813202, 161.229614, 331.686493, 186.014069); | |
2314 path.lineTo(370.867188, 186.014069); | |
2315 path.close(); | |
2316 path.moveTo(353.161499, 195.011719); | |
2317 path.quadTo(353.161499, 174.726105, 363.876862, 161.96579); | |
2318 path.lineTo(353.161499, 195.011719); | |
2319 path.close(); | |
2320 </div> | |
2321 | |
2322 <div id="testQuadratic47s"> | |
2323 path.moveTo(366.466309, 151.476364); | |
2324 path.lineTo(378.457642,118.940636); | |
2325 path.lineTo(383.692657,141.516571); | |
2326 path.lineTo(377.159943,159.209305); | |
2327 path.quadTo(377.728729,159.87059, 378.269806,160.575241); | |
2328 path.lineTo(376.638824,160.620682); | |
2329 path.lineTo(370.26593,177.8806); | |
2330 path.quadTo(368.708496,168.390671, 363.116943,164.309357); | |
2331 path.lineTo(356.079041,186.014069); | |
2332 path.lineTo(367.262817,186.014069); | |
2333 path.lineTo(350.319519,231.902115); | |
2334 path.lineTo(343.939362,212.598053); | |
2335 path.lineTo(353.736816,186.014923); | |
2336 path.lineTo(353.737122,186.014069); | |
2337 path.lineTo(353.736938,186.014069); | |
2338 path.quadTo(353.736877,186.014496, 353.736816,186.014923); | |
2339 path.quadTo(353.161499,190.31131, 353.161499,195.011719); | |
2340 </div> | |
2341 | |
2342 <div id="testQuadratic48o"> | |
2343 path.moveTo(366.608826, 151.196014); | |
2344 path.quadTo(378.803101, 136.674606, 398.164948, 136.674606); | |
2345 path.lineTo(354.009216, 208.816208); | |
2346 path.lineTo(393.291473, 102.232819); | |
2347 path.lineTo(359.978058, 136.581512); | |
2348 path.quadTo(378.315979, 136.581512, 388.322723, 149.613556); | |
2349 path.lineTo(364.390686, 157.898193); | |
2350 path.quadTo(375.281769, 136.674606, 396.039917, 136.674606); | |
2351 path.lineTo(350, 120); | |
2352 path.lineTo(366.608826, 151.196014); | |
2353 path.close(); | |
2354 </div> | |
2355 | |
2356 <div id="testQuadratic48s"> | |
2357 path.moveTo(369.285553, 126.984779); | |
2358 path.lineTo(393.291473,102.232819); | |
2359 path.lineTo(382.416199,131.740402); | |
2360 path.lineTo(396.039917,136.674606); | |
2361 path.quadTo(387.290802,136.674606, 380.294495,140.44487); | |
2362 path.quadTo(379.623352,140.760971, 378.965302,141.103577); | |
2363 path.lineTo(378.917297,141.233856); | |
2364 path.quadTo(378.86972,141.206131, 378.822021,141.178574); | |
2365 path.quadTo(372.011871,144.761871, 366.608826,151.196014); | |
2366 path.lineTo(350,120); | |
2367 path.lineTo(369.285553,126.984779); | |
2368 path.close(); | |
2369 </div> | |
2370 | |
2371 <div id="testQuadratic49s"> | |
2372 path.moveTo(366.400513, 204.162521); | |
2373 path.lineTo(411.545044, 81.6732483); | |
2374 path.lineTo(366.400513, 204.162521); | |
2375 path.close(); | |
2376 path.moveTo(331.585693, 138.050415); | |
2377 path.quadTo(345.867188, 121.147957, 368.11853, 121.147957); | |
2378 path.quadTo(389.193115, 121.147957, 400.693176, 136.124817); | |
2379 path.lineTo(331.585693, 138.050415); | |
2380 path.close(); | |
2381 path.moveTo(369.863983, 145.645813); | |
2382 path.quadTo(382.380371, 121.254936, 406.236359, 121.254936); | |
2383 path.lineTo(369.863983, 145.645813); | |
2384 path.close(); | |
2385 path.moveTo(369.970581, 137.94342); | |
2386 path.quadTo(383.98465, 121.254936, 406.235992, 121.254936); | |
2387 path.lineTo(369.970581, 137.94342); | |
2388 path.close(); | |
2389 </div> | |
2390 | |
2391 <div id="testQuadratic50o"> | |
2392 path.moveTo(366.400513, 204.162521); | |
2393 path.lineTo(411.545044, 81.6732483); | |
2394 path.lineTo(366.400513, 204.162521); | |
2395 path.close(); | |
2396 path.moveTo(331.585693, 138.050415); | |
2397 path.quadTo(345.867188, 121.147957, 368.11853, 121.147957); | |
2398 path.quadTo(389.193115, 121.147957, 400.693176, 136.124817); | |
2399 path.lineTo(331.585693, 138.050415); | |
2400 path.close(); | |
2401 path.moveTo(369.863983, 145.645813); | |
2402 path.quadTo(382.380371, 121.254936, 406.236359, 121.254936); | |
2403 path.lineTo(369.863983, 145.645813); | |
2404 path.close(); | |
2405 path.moveTo(369.970581, 137.94342); | |
2406 path.quadTo(383.98465, 121.254936, 406.235992, 121.254936); | |
2407 path.lineTo(369.970581, 137.94342); | |
2408 path.close(); | |
2409 </div> | |
2410 | |
2411 <div id="testQuadratic50s"> | |
2412 path.moveTo(331.585693, 138.050415); | |
2413 path.quadTo(345.867188,121.147957, 368.11853,121.147957); | |
2414 path.quadTo(378.797424,121.147957, 387.017914,124.993469); | |
2415 path.quadTo(391.577667,123.030998, 396.645874,122.098694); | |
2416 path.quadTo(401.232697,121.254936, 406.235992,121.254936); | |
2417 path.lineTo(395.061676,126.397095); | |
2418 path.lineTo(391.979187,127.81559); | |
2419 path.quadTo(393.010406,128.517273, 393.994415,129.292801); | |
2420 path.quadTo(394.053131,129.339066, 394.111664,129.385605); | |
2421 path.lineTo(393.910492,129.520508); | |
2422 path.lineTo(383.340973,136.608322); | |
2423 path.lineTo(375.350006,136.830978); | |
2424 path.quadTo(376.20224,135.708145, 377.092102,134.66626); | |
2425 path.lineTo(372.197113,136.918823); | |
2426 </div> | |
2427 | |
2428 <div id="testQuadratic51"> | |
2429 path.moveTo(369.863983, 145.645813); | |
2430 path.quadTo(382.380371, 121.254936, 406.236359, 121.254936); | |
2431 path.lineTo(369.863983, 145.645813); | |
2432 path.close(); | |
2433 path.moveTo(369.970581, 137.94342); | |
2434 path.quadTo(383.98465, 121.254936, 406.235992, 121.254936); | |
2435 path.lineTo(369.970581, 137.94342); | |
2436 path.close(); | |
2437 </div> | |
2438 | |
2439 <div id="testQuadratic52o"> | |
2440 path.moveTo(366.400513, 204.162521); | |
2441 path.lineTo(411.545044, 81.6732483); | |
2442 path.lineTo(366.400513, 204.162521); | |
2443 path.close(); | |
2444 path.moveTo(331.585693, 138.050415); | |
2445 path.quadTo(345.867188, 121.147957, 368.11853, 121.147957); | |
2446 path.quadTo(389.193115, 121.147957, 400.693176, 136.124817); | |
2447 path.lineTo(331.585693, 138.050415); | |
2448 path.close(); | |
2449 path.moveTo(369.863983, 145.645813); | |
2450 path.quadTo(382.380371, 121.254936, 406.236359, 121.254936); | |
2451 path.lineTo(369.863983, 145.645813); | |
2452 path.close(); | |
2453 path.moveTo(369.970581, 137.94342); | |
2454 path.quadTo(383.98465, 121.254936, 406.235992, 121.254936); | |
2455 path.lineTo(369.970581, 137.94342); | |
2456 path.close(); | |
2457 </div> | |
2458 | |
2459 <div id="testQuadratic52s"> | |
2460 path.moveTo(331.585693, 138.050415); | |
2461 path.quadTo(345.867188,121.147957, 368.11853,121.147957); | |
2462 path.quadTo(378.797424,121.147957, 387.017914,124.993469); | |
2463 path.quadTo(391.577667,123.030998, 396.645874,122.098694); | |
2464 path.quadTo(401.232697,121.254936, 406.235992,121.254936); | |
2465 path.close(); | |
2466 path.moveTo(383.340973, 136.608322); | |
2467 path.lineTo(369.863983,145.645813); | |
2468 path.quadTo(372.378204,140.746292, 375.350006,136.830978); | |
2469 path.lineTo(372.197113,136.918823); | |
2470 path.lineTo(369.970581,137.94342); | |
2471 path.quadTo(370.390961,137.442825, 370.818756,136.95723); | |
2472 path.lineTo(331.585693,138.050415); | |
2473 path.quadTo(345.867188,121.147957, 368.11853,121.147957); | |
2474 path.quadTo(378.797424,121.147957, 387.017914,124.993469); | |
2475 path.quadTo(391.577667,123.030998, 396.645874,122.098694); | |
2476 path.quadTo(401.232697,121.254936, 406.235992,121.254936); | |
2477 path.close(); | |
2478 path.moveTo(383.340973, 136.608322); | |
2479 path.lineTo(391.380798,136.384293); | |
2480 path.lineTo(400.693176,136.124817); | |
2481 path.quadTo(397.721985,132.255341, 394.111664,129.385605); | |
2482 path.lineTo(406.236359,121.254936); | |
2483 path.quadTo(406.236176,121.254936, 406.235992,121.254936); | |
2484 path.lineTo(406.235992,121.254936); | |
2485 path.quadTo(401.232697,121.254936, 396.645874,122.098694); | |
2486 path.quadTo(391.577667,123.030998, 387.017914,124.993469); | |
2487 path.quadTo(378.797424,121.147957, 368.11853,121.147957); | |
2488 path.quadTo(345.867188,121.147957, 331.585693,138.050415); | |
2489 path.lineTo(370.818756,136.95723); | |
2490 path.quadTo(370.390961,137.442825, 369.970581,137.94342); | |
2491 path.lineTo(372.197113,136.918823); | |
2492 path.lineTo(375.350006,136.830978); | |
2493 path.quadTo(372.378204,140.746292, 369.863983,145.645813); | |
2494 path.lineTo(383.340973,136.608322); | |
2495 path.close(); | |
2496 </div> | |
2497 | |
2498 <div id="testQuadratic52sa"> | |
2499 path.moveTo(331.585693, 138.050415); | |
2500 path.quadTo(345.867188,121.147957, 368.11853,121.147957); | |
2501 path.quadTo(378.797424,121.147957, 387.017914,124.993469); | |
2502 path.quadTo(391.577667,123.030998, 396.645874,122.098694); | |
2503 path.quadTo(401.232697,121.254936, 406.235992,121.254936); | |
2504 path.close(); | |
2505 </div> | |
2506 | |
2507 <div id="testQuadratic52sb"> | |
2508 path.moveTo(383.340973, 136.608322); | |
2509 path.lineTo(369.863983,145.645813); | |
2510 path.quadTo(372.378204,140.746292, 375.350006,136.830978); | |
2511 path.lineTo(372.197113,136.918823); | |
2512 path.lineTo(369.970581,137.94342); | |
2513 path.quadTo(370.390961,137.442825, 370.818756,136.95723); | |
2514 path.lineTo(331.585693,138.050415); | |
2515 path.quadTo(345.867188,121.147957, 368.11853,121.147957); | |
2516 path.quadTo(378.797424,121.147957, 387.017914,124.993469); | |
2517 path.quadTo(391.577667,123.030998, 396.645874,122.098694); | |
2518 path.quadTo(401.232697,121.254936, 406.235992,121.254936); | |
2519 path.close(); | |
2520 </div> | |
2521 | |
2522 <div id="testQuadratic52sc"> | |
2523 path.moveTo(383.340973, 136.608322); | |
2524 path.lineTo(391.380798,136.384293); | |
2525 path.lineTo(400.693176,136.124817); | |
2526 path.quadTo(397.721985,132.255341, 394.111664,129.385605); | |
2527 path.lineTo(406.236359,121.254936); | |
2528 path.quadTo(406.236176,121.254936, 406.235992,121.254936); | |
2529 path.lineTo(406.235992,121.254936); | |
2530 path.quadTo(401.232697,121.254936, 396.645874,122.098694); | |
2531 path.quadTo(391.577667,123.030998, 387.017914,124.993469); | |
2532 path.quadTo(378.797424,121.147957, 368.11853,121.147957); | |
2533 path.quadTo(345.867188,121.147957, 331.585693,138.050415); | |
2534 path.lineTo(370.818756,136.95723); | |
2535 path.quadTo(370.390961,137.442825, 369.970581,137.94342); | |
2536 path.lineTo(372.197113,136.918823); | |
2537 path.lineTo(375.350006,136.830978); | |
2538 path.quadTo(372.378204,140.746292, 369.863983,145.645813); | |
2539 path.lineTo(383.340973,136.608322); | |
2540 path.close(); | |
2541 </div> | |
2542 | |
2543 <div id="testQuadratic53o"> | |
2544 path.moveTo(303.12088, 141.299606); | |
2545 path.lineTo(330.463562, 217.659027); | |
2546 path.lineTo(303.12088, 141.299606); | |
2547 path.close(); | |
2548 path.moveTo(371.919067, 205.854996); | |
2549 path.lineTo(326.236786, 205.854996); | |
2550 path.quadTo(329.104431, 231.663818, 351.512085, 231.663818); | |
2551 path.lineTo(371.919067, 205.854996); | |
2552 path.close(); | |
2553 </div> | |
2554 | |
2555 <div id="testQuadratic53s"> | |
2556 path.moveTo(326.236786,205.854996); | |
2557 path.lineTo(326.236786,205.854996); | |
2558 path.close(); | |
2559 path.moveTo(371.919067,205.854996); | |
2560 path.lineTo(326.236786,205.854996); | |
2561 </div> | |
2562 | |
2563 <div id="testQuadratic54"> | |
2564 path.moveTo(303.12088, 141.299606); | |
2565 path.lineTo(330.463562, 217.659027); | |
2566 path.lineTo(358.606506, 141.299606); | |
2567 path.lineTo(303.12088, 141.299606); | |
2568 path.close(); | |
2569 path.moveTo(371.919067, 205.854996); | |
2570 path.lineTo(326.236786, 205.854996); | |
2571 path.quadTo(329.104431, 231.663818, 351.512085, 231.663818); | |
2572 path.lineTo(371.919067, 205.854996); | |
2573 path.close(); | |
2574 </div> | |
2575 | |
2576 <div id="testQuadratic55o"> | |
2577 path.moveTo(303.12088, 141.299606); | |
2578 path.lineTo(330.463562, 217.659027); | |
2579 path.lineTo(358.606506, 141.299606); | |
2580 path.lineTo(303.12088, 141.299606); | |
2581 path.close(); | |
2582 path.moveTo(326.236786, 205.854996); | |
2583 path.quadTo(329.104431, 231.663818, 351.512085, 231.663818); | |
2584 path.lineTo(326.236786, 205.854996); | |
2585 path.close(); | |
2586 </div> | |
2587 | |
2588 <div id="testQuadratic55s"> | |
2589 path.moveTo(326.236786,205.854996); | |
2590 path.lineTo(303.12088,141.299606); | |
2591 path.lineTo(358.606506,141.299606); | |
2592 path.lineTo(332.468719,212.218475); | |
2593 path.lineTo(351.512085,231.663818); | |
2594 path.quadTo(329.104431,231.663818, 326.236786,205.854996); | |
2595 path.close(); | |
2596 </div> | |
2597 | |
2598 <div id="testQuadratic56o"> | |
2599 path.moveTo(366.608826, 151.196014); | |
2600 path.quadTo(378.803101, 136.674606, 398.164948, 136.674606); | |
2601 path.lineTo(354.009216, 208.816208); | |
2602 path.lineTo(393.291473, 102.232819); | |
2603 path.lineTo(359.978058, 136.581512); | |
2604 path.quadTo(378.315979, 136.581512, 388.322723, 149.613556); | |
2605 path.lineTo(364.390686, 157.898193); | |
2606 path.quadTo(375.281769, 136.674606, 396.039917, 136.674606); | |
2607 path.lineTo(350, 120); | |
2608 path.lineTo(366.608826, 151.196014); | |
2609 path.close(); | |
2610 </div> | |
2611 | |
2612 <div id="testQuadratic56s"> | |
2613 path.moveTo(369.285553,126.984779); | |
2614 path.lineTo(393.291473,102.232819); | |
2615 path.lineTo(382.416199,131.740402); | |
2616 path.lineTo(396.039917,136.674606); | |
2617 path.quadTo(387.290802,136.674606, 380.294495,140.44487); | |
2618 path.quadTo(379.623352,140.760971, 378.965302,141.103577); | |
2619 path.lineTo(378.917297,141.233856); | |
2620 path.quadTo(378.86972,141.206131, 378.822021,141.178574); | |
2621 path.quadTo(372.011871,144.761871, 366.608826,151.196014); | |
2622 path.lineTo(350,120); | |
2623 path.lineTo(369.285553,126.984779); | |
2624 path.close(); | |
2625 path.moveTo(378.917297,141.233871); | |
2626 path.lineTo(378.917297,141.233856); | |
2627 path.quadTo(378.86972,141.206131, 378.822021,141.178574); | |
2628 path.quadTo(372.011871,144.761871, 366.608826,151.196014); | |
2629 </div> | |
2630 | |
2631 <div id="testQuadratic57o"> | |
2632 path.moveTo(303.12088, 141.299606); | |
2633 path.lineTo(330.463562, 217.659027); | |
2634 path.lineTo(358.606506, 141.299606); | |
2635 path.lineTo(362.874634, 159.705902); | |
2636 path.lineTo(335.665344, 233.397751); | |
2637 path.lineTo(322.12738, 233.397751); | |
2638 path.lineTo(295.718353, 159.505829); | |
2639 path.lineTo(295.718353, 240); | |
2640 path.lineTo(303.12088, 141.299606); | |
2641 path.close(); | |
2642 path.moveTo(322.935669, 231.030273); | |
2643 path.quadTo(312.832214, 220.393295, 312.832214, 203.454178); | |
2644 path.quadTo(312.832214, 186.981888, 321.73526, 176.444946); | |
2645 path.quadTo(330.638306, 165.90802, 344.509705, 165.90802); | |
2646 path.lineTo(371.919067, 205.854996); | |
2647 path.lineTo(326.236786, 205.854996); | |
2648 path.quadTo(329.104431, 231.663818, 351.512085, 231.663818); | |
2649 path.lineTo(322.935669, 231.030273); | |
2650 path.close(); | |
2651 path.moveTo(326.837006, 195.984955); | |
2652 path.lineTo(358.78125, 195.984955); | |
2653 path.lineTo(343.709442, 175.778046); | |
2654 path.quadTo(328.570923, 175.778046, 326.837006, 195.984955); | |
2655 path.close(); | |
2656 </div> | |
2657 | |
2658 <div id="testQuadratic57s"> | |
2659 path.moveTo(300.708282,173.46756); | |
2660 path.lineTo(303.12088,141.299606); | |
2661 path.lineTo(317.770294,182.210785); | |
2662 path.quadTo(319.462738,179.134506, 321.73526,176.444946); | |
2663 path.quadTo(330.638306,165.90802, 344.509705,165.90802); | |
2664 path.lineTo(347.780151,170.674438); | |
2665 path.lineTo(358.606506,141.299606); | |
2666 path.lineTo(362.874634,159.705902); | |
2667 path.lineTo(354.960693,181.139511); | |
2668 path.lineTo(371.919067,205.854996); | |
2669 path.lineTo(345.834961,205.854996); | |
2670 path.lineTo(337.609253,228.13298); | |
2671 path.quadTo(342.649323,231.302383, 349.843323,231.626816); | |
2672 path.lineTo(336.429047,231.329422); | |
2673 path.lineTo(335.665344,233.397751); | |
2674 path.lineTo(322.12738,233.397751); | |
2675 path.lineTo(320.050781,227.587433); | |
2676 path.quadTo(313.982483,219.336182, 313.015503,207.902908); | |
2677 path.lineTo(300.708282,173.46756); | |
2678 path.close(); | |
2679 path.moveTo(300.708282,173.46756); | |
2680 path.lineTo(295.718353,240); | |
2681 path.lineTo(295.718353,159.505829); | |
2682 path.lineTo(300.708282,173.46756); | |
2683 path.close(); | |
2684 path.moveTo(349.843323,231.626816); | |
2685 path.lineTo(351.512085,231.663818); | |
2686 path.quadTo(350.663696,231.663818, 349.843323,231.626816); | |
2687 path.close(); | |
2688 path.moveTo(326.236786,205.854996); | |
2689 path.lineTo(330.463562,217.659027); | |
2690 path.lineTo(334.814056,205.854996); | |
2691 path.lineTo(326.236786,205.854996); | |
2692 path.close(); | |
2693 path.moveTo(334.814056,205.854996); | |
2694 path.lineTo(338.451721,195.984955); | |
2695 path.lineTo(349.479309,195.984955); | |
2696 path.lineTo(352.559326,187.643173); | |
2697 path.lineTo(358.78125,195.984955); | |
2698 </div> | |
2699 | |
2700 <div id="testQuadratic58o"> | |
2701 path.moveTo(283.714233, 240); | |
2702 path.lineTo(283.714233, 141.299606); | |
2703 path.lineTo(303.12088, 141.299606); | |
2704 path.lineTo(330.463562, 217.659027); | |
2705 path.lineTo(358.606506, 141.299606); | |
2706 path.lineTo(362.874634, 159.705902); | |
2707 path.lineTo(335.665344, 233.397751); | |
2708 path.lineTo(322.12738, 233.397751); | |
2709 path.lineTo(295.718353, 159.505829); | |
2710 path.lineTo(295.718353, 240); | |
2711 path.lineTo(283.714233, 240); | |
2712 path.close(); | |
2713 path.moveTo(322.935669, 231.030273); | |
2714 path.quadTo(312.832214, 220.393295, 312.832214, 203.454178); | |
2715 path.quadTo(312.832214, 186.981888, 321.73526, 176.444946); | |
2716 path.quadTo(330.638306, 165.90802, 344.509705, 165.90802); | |
2717 path.quadTo(357.647522, 165.90802, 364.81665, 175.244537); | |
2718 path.lineTo(371.919067, 205.854996); | |
2719 path.lineTo(326.236786, 205.854996); | |
2720 path.quadTo(329.104431, 231.663818, 351.512085, 231.663818); | |
2721 path.lineTo(322.935669, 231.030273); | |
2722 path.close(); | |
2723 path.moveTo(326.837006, 195.984955); | |
2724 path.lineTo(358.78125, 195.984955); | |
2725 path.quadTo(358.78125, 175.778046, 343.709442, 175.778046); | |
2726 path.quadTo(328.570923, 175.778046, 326.837006, 195.984955); | |
2727 path.close(); | |
2728 </div> | |
2729 | |
2730 <div id="testQuadratic58s"> | |
2731 path.moveTo(283.714233,240); | |
2732 path.lineTo(283.714233,141.299606); | |
2733 path.lineTo(303.12088,141.299606); | |
2734 path.lineTo(317.770294,182.210785); | |
2735 path.quadTo(319.462738,179.134506, 321.73526,176.444946); | |
2736 path.quadTo(330.638306,165.90802, 344.509705,165.90802); | |
2737 path.quadTo(347.07132,165.90802, 349.406036,166.26297); | |
2738 path.lineTo(358.606506,141.299606); | |
2739 path.lineTo(362.874634,159.705902); | |
2740 path.lineTo(359.116211,169.884979); | |
2741 path.quadTo(362.326477,172.001541, 364.81665,175.244537); | |
2742 path.lineTo(371.919067,205.854996); | |
2743 path.lineTo(345.834961,205.854996); | |
2744 path.lineTo(337.609253,228.13298); | |
2745 path.quadTo(342.649323,231.302383, 349.843323,231.626816); | |
2746 path.lineTo(336.429047,231.329422); | |
2747 path.lineTo(335.665344,233.397751); | |
2748 path.lineTo(322.12738,233.397751); | |
2749 path.lineTo(320.050781,227.587433); | |
2750 path.quadTo(313.982483,219.336182, 313.015503,207.902908); | |
2751 path.lineTo(295.718353,159.505829); | |
2752 path.lineTo(295.718353,240); | |
2753 path.lineTo(283.714233,240); | |
2754 path.close(); | |
2755 path.moveTo(349.843323,231.626816); | |
2756 path.lineTo(351.512085,231.663818); | |
2757 path.quadTo(350.663696,231.663818, 349.843323,231.626816); | |
2758 path.close(); | |
2759 path.moveTo(326.236786,205.854996); | |
2760 path.lineTo(330.463562,217.659027); | |
2761 path.lineTo(334.814056,205.854996); | |
2762 path.lineTo(326.236786,205.854996); | |
2763 path.close(); | |
2764 path.moveTo(334.814056,205.854996); | |
2765 path.lineTo(338.451721,195.984955); | |
2766 path.lineTo(349.479309,195.984955); | |
2767 path.lineTo(355.054535,180.885361); | |
2768 path.quadTo(358.78125,185.936935, 358.78125,195.984955); | |
2769 </div> | |
2770 | |
2771 <div id="testQuadratic58a"> | |
2772 path.moveTo(283.714233,240); | |
2773 path.lineTo(283.714233,141.299606); | |
2774 path.lineTo(303.12088,141.299606); | |
2775 path.lineTo(317.770294,182.210785); | |
2776 path.quadTo(319.462738,179.134506, 321.73526,176.444946); | |
2777 path.quadTo(330.638306,165.90802, 344.509705,165.90802); | |
2778 path.quadTo(347.07132,165.90802, 349.406036,166.26297); | |
2779 path.lineTo(358.606506,141.299606); | |
2780 path.lineTo(362.874634,159.705902); | |
2781 path.lineTo(359.116211,169.884979); | |
2782 path.quadTo(362.326477,172.001541, 364.81665,175.244537); | |
2783 path.lineTo(371.919067,205.854996); | |
2784 path.lineTo(345.834961,205.854996); | |
2785 path.lineTo(337.609253,228.13298); | |
2786 path.quadTo(342.649323,231.302383, 349.843323,231.626816); | |
2787 path.lineTo(336.429047,231.329422); | |
2788 path.lineTo(335.665344,233.397751); | |
2789 path.lineTo(322.12738,233.397751); | |
2790 path.lineTo(320.050781,227.587433); | |
2791 path.quadTo(313.982483,219.336182, 313.015503,207.902908); | |
2792 path.lineTo(295.718353,159.505829); | |
2793 path.lineTo(295.718353,240); | |
2794 path.lineTo(283.714233,240); | |
2795 path.close(); | |
2796 path.moveTo(349.843323,231.626816); | |
2797 path.lineTo(351.512085,231.663818); | |
2798 path.quadTo(350.663696,231.663818, 349.843323,231.626816); | |
2799 path.close(); | |
2800 path.moveTo(349.479309,195.984955); | |
2801 path.lineTo(358.78125,195.984955); | |
2802 path.quadTo(358.78125,185.936935, 355.054535,180.885361); | |
2803 path.lineTo(349.479309,195.984955); | |
2804 path.close(); | |
2805 path.moveTo(345.858368,175.888794); | |
2806 path.lineTo(338.451721,195.984955); | |
2807 path.lineTo(326.837006,195.984955); | |
2808 path.quadTo(328.570923,175.778046, 343.709442,175.778046); | |
2809 path.quadTo(344.825195,175.778046, 345.858368,175.888794); | |
2810 path.close(); | |
2811 </div> | |
2812 | |
2813 <div id="testQuadratic59"> | |
2814 path.moveTo(0, 0); | |
2815 path.quadTo(0, 0, 0, 0); | |
2816 path.lineTo(2, 2); | |
2817 path.close(); | |
2818 path.moveTo(0, 0); | |
2819 path.lineTo(2, 0); | |
2820 path.quadTo(3, 1, 1, 2); | |
2821 </div> | |
2822 | |
2823 <div id="testQuadratic59o"> | |
2824 path.moveTo(369.863983, 145.645813); | |
2825 path.quadTo(382.380371, 121.254936, 406.236359, 121.254936); | |
2826 path.quadTo(409.445679, 121.254936, 412.975952, 121.789818); | |
2827 path.lineTo(369.863983, 145.645813); | |
2828 path.close(); | |
2829 path.moveTo(369.970581, 137.94342); | |
2830 path.quadTo(383.98465, 121.254936, 406.235992, 121.254936); | |
2831 path.quadTo(425.705902, 121.254936, 439.71994, 137.087616); | |
2832 path.lineTo(369.970581, 137.94342); | |
2833 path.close(); | |
2834 </div> | |
2835 | |
2836 <div id="testQuadratic59s"> | |
2837 path.moveTo(369.970581,137.94342); | |
2838 path.quadTo(383.98465,121.254936, 406.235992,121.254936); | |
2839 path.quadTo(406.237854,121.254936, 406.239746,121.254936); | |
2840 path.lineTo(406.239532,121.254936); | |
2841 path.quadTo(409.447418,121.255203, 412.975952,121.789818); | |
2842 </div> | |
2843 | |
2844 <div id="testQuadratic60"> | |
2845 path.moveTo(360.416077, 166.795715); | |
2846 path.quadTo(370.126831, 147.872162, 388.635406, 147.872162); | |
2847 path.lineTo(360.416077, 166.795715); | |
2848 path.close(); | |
2849 path.moveTo(353.2948, 194.351074); | |
2850 path.quadTo(353.2948, 173.767563, 364.167572, 160.819855); | |
2851 path.quadTo(375.040314, 147.872162, 392.303894, 147.872162); | |
2852 path.lineTo(353.2948, 194.351074); | |
2853 path.close(); | |
2854 </div> | |
2855 | |
2856 <div id="testQuadratic61"> | |
2857 path.moveTo(348.781738, 123.864815); | |
2858 path.lineTo(369.848602, 123.864815); | |
2859 path.lineTo(369.848602, 145.680267); | |
2860 path.quadTo(382.360413, 121.298294, 406.207703, 121.298294); | |
2861 path.lineTo(348.781738, 123.864815); | |
2862 path.close(); | |
2863 path.moveTo(369.961151, 137.980698); | |
2864 path.quadTo(383.970093, 121.298294, 406.213287, 121.298294); | |
2865 path.lineTo(369.961151, 137.980698); | |
2866 path.close(); | |
2867 </div> | |
2868 | |
2869 <div id="testQuadratic62x"> | |
2870 path.setFillType(SkPath::kEvenOdd_FillType); | |
2871 path.moveTo(0, 0); | |
2872 path.quadTo(0, 0, 0, 0); | |
2873 path.lineTo(2, 2); | |
2874 path.close(); | |
2875 path.moveTo(0, 0); | |
2876 path.lineTo(2, 0); | |
2877 path.quadTo(3, 1, 1, 2); | |
2878 path.close(); | |
2879 </div> | |
2880 | |
2881 <div id="testLine1a"> | |
2882 path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); | |
2883 path.addRect(4, 0, 13, 13, SkPath::kCCW_Direction); | |
2884 path.close(); | |
2885 </div> | |
2886 | |
2887 <div id="testQuadratic63"> | |
2888 path.moveTo(0, 0); | |
2889 path.quadTo(0, 0, 0, 0); | |
2890 path.lineTo(3, 2); | |
2891 path.close(); | |
2892 path.moveTo(1, 0); | |
2893 path.lineTo(2, 1); | |
2894 path.quadTo(2, 1, 2, 2); | |
2895 path.close(); | |
2896 </div> | |
2897 | |
2898 <div id="testQuadratic64"> | |
2899 path.moveTo(0, 0); | |
2900 path.quadTo(0, 0, 0, 0); | |
2901 path.lineTo(2, 3); | |
2902 path.close(); | |
2903 path.moveTo(1, 2); | |
2904 path.lineTo(2, 2); | |
2905 path.quadTo(0, 3, 3, 3); | |
2906 path.close(); | |
2907 </div> | |
2908 | |
2909 <div id="testQuadratic65"> | |
2910 path.moveTo(0, 0); | |
2911 path.quadTo(0, 0, 0, 0); | |
2912 path.lineTo(3, 2); | |
2913 path.close(); | |
2914 path.moveTo(2, 1); | |
2915 path.lineTo(2, 2); | |
2916 path.quadTo(0, 3, 1, 3); | |
2917 path.close(); | |
2918 </div> | |
2919 | |
2920 <div id="testQuadratic66"> | |
2921 path.moveTo(0, 0); | |
2922 path.quadTo(0, 0, 0, 1); | |
2923 path.lineTo(3, 2); | |
2924 path.close(); | |
2925 path.moveTo(2, 0); | |
2926 path.lineTo(1, 1); | |
2927 path.quadTo(3, 2, 2, 3); | |
2928 path.close(); | |
2929 </div> | |
2930 | |
2931 <div id="testQuadratic67x"> | |
2932 path.setFillType(SkPath::kEvenOdd_FillType); | |
2933 path.moveTo(0, 0); | |
2934 path.quadTo(0, 0, 2, 1); | |
2935 path.lineTo(2, 2); | |
2936 path.close(); | |
2937 path.moveTo(0, 0); | |
2938 path.lineTo(2, 0); | |
2939 path.quadTo(1, 1, 3, 2); | |
2940 path.close(); | |
2941 </div> | |
2942 | |
2943 <div id="testQuadratic68"> | |
2944 path.moveTo(0, 0); | |
2945 path.quadTo(1, 0, 0, 1); | |
2946 path.lineTo(1, 2); | |
2947 path.close(); | |
2948 path.moveTo(0, 0); | |
2949 path.lineTo(0, 0); | |
2950 path.quadTo(0, 1, 2, 1); | |
2951 path.close(); | |
2952 </div> | |
2953 | |
2954 <div id="testQuadratic69"> | |
2955 path.moveTo(0, 0); | |
2956 path.quadTo(0, 0, 0, 1); | |
2957 path.lineTo(3, 2); | |
2958 path.close(); | |
2959 path.moveTo(2, 0); | |
2960 path.lineTo(1, 1); | |
2961 path.quadTo(3, 2, 2, 3); | |
2962 path.close(); | |
2963 </div> | |
2964 | |
2965 <div id="testQuadratic70x"> | |
2966 path.setFillType(SkPath::kEvenOdd_FillType); | |
2967 path.moveTo(0, 0); | |
2968 path.quadTo(1, 0, 0, 1); | |
2969 path.lineTo(1, 2); | |
2970 path.close(); | |
2971 path.moveTo(0, 0); | |
2972 path.lineTo(0, 0); | |
2973 path.quadTo(0, 1, 2, 1); | |
2974 path.close(); | |
2975 </div> | |
2976 | |
2977 <div id="testQuadratic71"> | |
2978 path.moveTo(0, 0); | |
2979 path.quadTo(1, 0, 1, 1); | |
2980 path.lineTo(3, 2); | |
2981 path.close(); | |
2982 path.moveTo(0, 0); | |
2983 path.lineTo(0, 0); | |
2984 path.quadTo(1, 1, 3, 1); | |
2985 path.close(); | |
2986 </div> | |
2987 | |
2988 <div id="testQuadratic72"> | |
2989 path.moveTo(0, 0); | |
2990 path.quadTo(1, 0, 1, 2); | |
2991 path.lineTo(1, 2); | |
2992 path.close(); | |
2993 path.moveTo(0, 0); | |
2994 path.lineTo(1, 0); | |
2995 path.quadTo(0, 1, 3, 2); | |
2996 path.close(); | |
2997 </div> | |
2998 | |
2999 <div id="testQuadratic73"> | |
3000 path.moveTo(0, 0); | |
3001 path.quadTo(1, 0, 0, 3); | |
3002 path.lineTo(0, 3); | |
3003 path.close(); | |
3004 path.moveTo(0, 0); | |
3005 path.lineTo(1, 0); | |
3006 path.quadTo(0, 1, 1, 1); | |
3007 path.close(); | |
3008 </div> | |
3009 | |
3010 <div id="testQuadratic74"> | |
3011 path.moveTo(0, 0); | |
3012 path.quadTo(1, 0, 1, 3); | |
3013 path.lineTo(1, 3); | |
3014 path.close(); | |
3015 path.moveTo(0, 0); | |
3016 path.lineTo(0, 1); | |
3017 path.quadTo(3, 2, 2, 3); | |
3018 path.close(); | |
3019 </div> | |
3020 | |
3021 <div id="testQuadratic75"> | |
3022 path.moveTo(0, 0); | |
3023 path.quadTo(1, 0, 1, 3); | |
3024 path.lineTo(2, 3); | |
3025 path.close(); | |
3026 path.moveTo(0, 0); | |
3027 path.lineTo(0, 1); | |
3028 path.quadTo(3, 2, 2, 3); | |
3029 path.close(); | |
3030 </div> | |
3031 | |
3032 <div id="testQuadratic76"> | |
3033 path.moveTo(0, 0); | |
3034 path.quadTo(0, 0, 0, 0); | |
3035 path.lineTo(2, 3); | |
3036 path.close(); | |
3037 path.moveTo(1, 0); | |
3038 path.lineTo(1, 2); | |
3039 path.quadTo(1, 2, 2, 2); | |
3040 path.close(); | |
3041 </div> | |
3042 | |
3043 <div id="testQuadratic77"> | |
3044 path.moveTo(0, 0); | |
3045 path.quadTo(1, 0, 1, 1); | |
3046 path.lineTo(3, 1); | |
3047 path.close(); | |
3048 path.moveTo(0, 0); | |
3049 path.lineTo(1, 0); | |
3050 path.quadTo(0, 1, 3, 2); | |
3051 path.close(); | |
3052 </div> | |
3053 | |
3054 <div id="testQuadratic78"> | |
3055 path.moveTo(0, 0); | |
3056 path.quadTo(1, 0, 1, 2); | |
3057 path.lineTo(3, 2); | |
3058 path.close(); | |
3059 path.moveTo(0, 0); | |
3060 path.lineTo(0, 0); | |
3061 path.quadTo(2, 1, 0, 2); | |
3062 path.close(); | |
3063 </div> | |
3064 | |
3065 <div id="testQuadratic79"> | |
3066 path.moveTo(0, 0); | |
3067 path.quadTo(1, 0, 1, 2); | |
3068 path.lineTo(3, 2); | |
3069 path.close(); | |
3070 path.moveTo(0, 0); | |
3071 path.lineTo(1, 0); | |
3072 path.quadTo(0, 1, 3, 2); | |
3073 path.close(); | |
3074 </div> | |
3075 | |
3076 <div id="testQuadratic80"> | |
3077 path.moveTo(0, 0); | |
3078 path.quadTo(1, 0, 2, 3); | |
3079 path.lineTo(2, 3); | |
3080 path.close(); | |
3081 path.moveTo(1, 0); | |
3082 path.lineTo(3, 0); | |
3083 path.quadTo(0, 1, 1, 1); | |
3084 path.close(); | |
3085 </div> | |
3086 | |
3087 <div id="testQuadratic81"> | |
3088 path.moveTo(0, 0); | |
3089 path.quadTo(2, 0, 1, 1); | |
3090 path.lineTo(1, 1); | |
3091 path.close(); | |
3092 path.moveTo(0, 0); | |
3093 path.lineTo(0, 0); | |
3094 path.quadTo(2, 1, 0, 2); | |
3095 path.close(); | |
3096 </div> | |
3097 | |
3098 <div id="testQuadratic82"> | |
3099 path.moveTo(0, 0); | |
3100 path.quadTo(2, 0, 1, 1); | |
3101 path.lineTo(0, 3); | |
3102 path.close(); | |
3103 path.moveTo(0, 0); | |
3104 path.lineTo(0, 0); | |
3105 path.quadTo(2, 1, 0, 2); | |
3106 path.close(); | |
3107 </div> | |
3108 | |
3109 <div id="testQuadratic83"> | |
3110 path.moveTo(0, 0); | |
3111 path.quadTo(0, 0, 2, 0); | |
3112 path.lineTo(2, 2); | |
3113 path.close(); | |
3114 path.moveTo(0, 1); | |
3115 path.lineTo(0, 2); | |
3116 path.quadTo(2, 2, 1, 3); | |
3117 path.close(); | |
3118 </div> | |
3119 | |
3120 <div id="testQuadratic84"> | |
3121 path.moveTo(0, 0); | |
3122 path.quadTo(2, 0, 1, 1); | |
3123 path.lineTo(2, 1); | |
3124 path.close(); | |
3125 path.moveTo(1, 0); | |
3126 path.lineTo(2, 0); | |
3127 path.quadTo(0, 1, 2, 2); | |
3128 path.close(); | |
3129 </div> | |
3130 | |
3131 <div id="testQuadratic85"> | |
3132 path.moveTo(0, 0); | |
3133 path.quadTo(3, 0, 1, 1); | |
3134 path.lineTo(1, 1); | |
3135 path.close(); | |
3136 path.moveTo(1, 0); | |
3137 path.lineTo(3, 0); | |
3138 path.quadTo(0, 1, 1, 2); | |
3139 path.close(); | |
3140 </div> | |
3141 | |
3142 <div id="testQuadratic86"> | |
3143 path.moveTo(0, 0); | |
3144 path.quadTo(0, 1, 1, 1); | |
3145 path.lineTo(2, 3); | |
3146 path.close(); | |
3147 path.moveTo(0, 0); | |
3148 path.lineTo(0, 0); | |
3149 path.quadTo(1, 1, 1, 3); | |
3150 path.close(); | |
3151 </div> | |
3152 | |
3153 <div id="testQuadratic87"> | |
3154 path.moveTo(0, 0); | |
3155 path.quadTo(2, 1, 0, 2); | |
3156 path.lineTo(2, 3); | |
3157 path.close(); | |
3158 path.moveTo(0, 0); | |
3159 path.lineTo(1, 1); | |
3160 path.quadTo(0, 2, 3, 2); | |
3161 path.close(); | |
3162 </div> | |
3163 | |
3164 <div id="testQuadratic88"> | |
3165 path.moveTo(0, 0); | |
3166 path.quadTo(2, 1, 0, 2); | |
3167 path.lineTo(2, 2); | |
3168 path.close(); | |
3169 path.moveTo(1, 0); | |
3170 path.lineTo(1, 1); | |
3171 path.quadTo(0, 2, 2, 2); | |
3172 path.close(); | |
3173 </div> | |
3174 | |
3175 <div id="testQuadratic89x"> | |
3176 path.setFillType(SkPath::kEvenOdd_FillType); | |
3177 path.moveTo(0, 0); | |
3178 path.quadTo(3, 1, 2, 2); | |
3179 path.lineTo(0, 3); | |
3180 path.close(); | |
3181 path.moveTo(0, 0); | |
3182 path.lineTo(2, 1); | |
3183 path.quadTo(3, 1, 3, 3); | |
3184 path.close(); | |
3185 </div> | |
3186 | |
3187 <div id="testQuadratic90x"> | |
3188 path.setFillType(SkPath::kEvenOdd_FillType); | |
3189 path.moveTo(0, 0); | |
3190 path.quadTo(3, 0, 2, 2); | |
3191 path.lineTo(1, 3); | |
3192 path.close(); | |
3193 path.moveTo(0, 0); | |
3194 path.lineTo(0, 1); | |
3195 path.quadTo(3, 2, 2, 3); | |
3196 path.close(); | |
3197 </div> | |
3198 | |
3199 <div id="testQuadratic91"> | |
3200 path.moveTo(0, 0); | |
3201 path.quadTo(3, 2, 2, 3); | |
3202 path.lineTo(2, 3); | |
3203 path.close(); | |
3204 path.moveTo(0, 0); | |
3205 path.lineTo(1, 1); | |
3206 path.quadTo(2, 1, 2, 3); | |
3207 path.close(); | |
3208 </div> | |
3209 | |
3210 <div id="testQuadratic92x"> | |
3211 path.setFillType(SkPath::kEvenOdd_FillType); | |
3212 path.moveTo(1, 0); | |
3213 path.quadTo(3, 0, 2, 2); | |
3214 path.lineTo(2, 2); | |
3215 path.close(); | |
3216 path.moveTo(2, 0); | |
3217 path.lineTo(0, 1); | |
3218 path.quadTo(3, 2, 2, 3); | |
3219 path.close(); | |
3220 </div> | |
3221 | |
3222 <div id="testLine82"> | |
3223 path.addRect(20, 0, 40, 40, SkPath::kCCWDirection); | |
3224 path.addRect(24, 20, 36, 30, SkPath::kCCWDirection); | |
3225 path.addRect(24, 32, 33, 36, SkPath::kCCWDirection); | |
3226 </div> | |
3227 | |
3228 <div id="testLine82a"> | |
3229 SkPath path; | |
3230 path.addRect(0, 0, 6, 10, SkPath::kCW_Direction); | |
3231 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction); | |
3232 path.addRect(2, 6, 4, 8, SkPath::kCW_Direction); | |
3233 testSimplifyx(path); | |
3234 </div> | |
3235 | |
3236 <div id="testLine82b"> | |
3237 SkPath path; | |
3238 path.addRect(0, 0, 6, 10, SkPath::kCW_Direction); | |
3239 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction); | |
3240 path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction); | |
3241 testSimplifyx(path); | |
3242 </div> | |
3243 | |
3244 <div id="testLine82c"> | |
3245 SkPath path; | |
3246 path.addRect(0, 0, 6, 10, SkPath::kCW_Direction); | |
3247 path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction); | |
3248 path.addRect(2, 6, 4, 8, SkPath::kCW_Direction); | |
3249 testSimplifyx(path); | |
3250 </div> | |
3251 | |
3252 | |
3253 <div id="testLine82d"> | |
3254 SkPath path; | |
3255 path.addRect(0, 0, 6, 10, SkPath::kCW_Direction); | |
3256 path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction); | |
3257 path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction); | |
3258 testSimplifyx(path); | |
3259 </div> | |
3260 | |
3261 <div id="testLine82e"> | |
3262 SkPath path; | |
3263 path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction); | |
3264 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction); | |
3265 path.addRect(2, 6, 4, 8, SkPath::kCW_Direction); | |
3266 testSimplifyx(path); | |
3267 </div> | |
3268 | |
3269 <div id="testLine82f"> | |
3270 SkPath path; | |
3271 path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction); | |
3272 path.addRect(2, 2, 4, 4, SkPath::kCW_Direction); | |
3273 path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction); | |
3274 testSimplifyx(path); | |
3275 </div> | |
3276 | |
3277 <div id="testLine82g"> | |
3278 SkPath path; | |
3279 path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction); | |
3280 path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction); | |
3281 path.addRect(2, 6, 4, 8, SkPath::kCW_Direction); | |
3282 testSimplifyx(path); | |
3283 </div> | |
3284 | |
3285 <div id="testLine82h"> | |
3286 SkPath path; | |
3287 path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction); | |
3288 path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction); | |
3289 path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction); | |
3290 testSimplifyx(path); | |
3291 </div> | |
3292 | |
3293 <div id="testLine83"> | |
3294 path.addRect(10, 30, 30, 40, SkPath::kCCW_Direction); | |
3295 path.addRect(0, 12, 12, 18, SkPath::kCCW_Direction); | |
3296 path.addRect(4, 13, 13, 16, SkPath::kCCW_Direction); | |
3297 </div> | |
3298 | |
3299 <div id="testLine84x"> | |
3300 path.setFillType(SkPath::kEvenOdd_FillType); | |
3301 path.addRect(0, 12, 60, 30, SkPath::kCCW_Direction); | |
3302 path.addRect(10, 20, 40, 30, SkPath::kCCW_Direction); | |
3303 path.addRect(0, 12, 12, 12, SkPath::kCCW_Direction); | |
3304 path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); | |
3305 </div> | |
3306 | |
3307 <div id="testLine85"> | |
3308 path.addRect(36, 0, 66, 60, SkPath::kCCW_Direction); | |
3309 path.addRect(20, 0, 40, 40, SkPath::kCCW_Direction); | |
3310 path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction); | |
3311 path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction); | |
3312 </div> | |
3313 | |
3314 <div id="testQuadralateral1"> | |
3315 path.moveTo(0, 0); | |
3316 path.lineTo(0, 0); | |
3317 path.lineTo(0, 0); | |
3318 path.lineTo(3, 2); | |
3319 path.close(); | |
3320 path.moveTo(0, 0); | |
3321 path.lineTo(2, 1); | |
3322 path.lineTo(2, 2); | |
3323 path.lineTo(2, 3); | |
3324 path.close(); | |
3325 </div> | |
3326 | |
3327 <div id="testCubic1"> | |
3328 path.moveTo(0, 0); | |
3329 path.cubicTo(0, 1, 1, 1, 1, 0); | |
3330 path.close(); | |
3331 path.moveTo(1, 0); | |
3332 path.cubicTo(0, 0, 0, 1, 1, 1); | |
3333 path.close(); | |
3334 </div> | |
3335 | |
3336 <div id="testQuadratic93"> | |
3337 path.moveTo(3, 0); | |
3338 path.quadTo(0, 1, 3, 2); | |
3339 path.lineTo(0, 3); | |
3340 path.close(); | |
3341 path.moveTo(1, 0); | |
3342 path.lineTo(2, 0); | |
3343 path.quadTo(1, 1, 2, 2); | |
3344 path.close(); | |
3345 </div> | |
3346 | |
3347 <div id="cubicOp1d"> | |
3348 path.setFillType(SkPath::kWinding_FillType); | |
3349 path.moveTo(0,1); | |
3350 path.cubicTo(0,2, 1,0, 1,0); | |
3351 path.close(); | |
3352 pathB.setFillType(SkPath::kWinding_FillType); | |
3353 pathB.moveTo(0,1); | |
3354 pathB.cubicTo(0,1, 1,0, 2,0); | |
3355 pathB.close(); | |
3356 </div> | |
3357 | |
3358 <div id="cubicOp2d"> | |
3359 path.setFillType(SkPath::kWinding_FillType); | |
3360 path.moveTo(0,2); | |
3361 path.cubicTo(0,1, 1,0, 1,0); | |
3362 path.close(); | |
3363 pathB.setFillType(SkPath::kWinding_FillType); | |
3364 pathB.moveTo(0,1); | |
3365 pathB.cubicTo(0,1, 2,0, 1,0); | |
3366 pathB.close(); | |
3367 </div> | |
3368 | |
3369 <div id="cubicOp3d"> | |
3370 path.setFillType(SkPath::kWinding_FillType); | |
3371 path.moveTo(0,1); | |
3372 path.cubicTo(2,3, 1,0, 1,0); | |
3373 path.close(); | |
3374 pathB.setFillType(SkPath::kWinding_FillType); | |
3375 pathB.moveTo(0,1); | |
3376 pathB.cubicTo(0,1, 1,0, 3,2); | |
3377 pathB.close(); | |
3378 </div> | |
3379 | |
3380 <div id="cubicOp4d"> | |
3381 path.setFillType(SkPath::kWinding_FillType); | |
3382 path.moveTo(0,1); | |
3383 path.cubicTo(0,2, 1,0, 2,0); | |
3384 path.close(); | |
3385 pathB.setFillType(SkPath::kWinding_FillType); | |
3386 pathB.moveTo(0,1); | |
3387 pathB.cubicTo(0,2, 1,0, 2,0); | |
3388 pathB.close(); | |
3389 </div> | |
3390 | |
3391 <div id="cubicOp5d"> | |
3392 path.setFillType(SkPath::kWinding_FillType); | |
3393 path.moveTo(0,1); | |
3394 path.cubicTo(0,2, 1,0, 2,0); | |
3395 path.close(); | |
3396 pathB.setFillType(SkPath::kWinding_FillType); | |
3397 pathB.moveTo(0,1); | |
3398 pathB.cubicTo(0,2, 1,0, 2,0); | |
3399 pathB.close(); | |
3400 </div> | |
3401 | |
3402 <div id="cubicOp6d"> | |
3403 path.setFillType(SkPath::kWinding_FillType); | |
3404 path.moveTo(0,1); | |
3405 path.cubicTo(0,6, 1,0, 3,0); | |
3406 path.close(); | |
3407 pathB.setFillType(SkPath::kWinding_FillType); | |
3408 pathB.moveTo(0,1); | |
3409 pathB.cubicTo(0,3, 1,0, 6,0); | |
3410 pathB.close(); | |
3411 </div> | |
3412 | |
3413 <div id="cubicOp7d"> | |
3414 path.setFillType(SkPath::kWinding_FillType); | |
3415 path.moveTo(0,1); | |
3416 path.cubicTo(3,4, 1,0, 3,0); | |
3417 path.close(); | |
3418 pathB.setFillType(SkPath::kWinding_FillType); | |
3419 pathB.moveTo(0,1); | |
3420 pathB.cubicTo(0,3, 1,0, 4,3); | |
3421 pathB.close(); | |
3422 </div> | |
3423 | |
3424 <div id="cubicOp8d"> | |
3425 path.setFillType(SkPath::kWinding_FillType); | |
3426 path.moveTo(0,1); | |
3427 path.cubicTo(0,5, 1,0, 4,0); | |
3428 path.close(); | |
3429 pathB.setFillType(SkPath::kWinding_FillType); | |
3430 pathB.moveTo(0,1); | |
3431 pathB.cubicTo(0,4, 1,0, 5,0); | |
3432 pathB.close(); | |
3433 </div> | |
3434 | |
3435 <div id="cubicOp9d"> | |
3436 path.setFillType(SkPath::kWinding_FillType); | |
3437 path.moveTo(0,1); | |
3438 path.cubicTo(1,6, 1,0, 2,1); | |
3439 path.close(); | |
3440 pathB.setFillType(SkPath::kWinding_FillType); | |
3441 pathB.moveTo(0,1); | |
3442 pathB.cubicTo(1,2, 1,0, 6,1); | |
3443 pathB.close(); | |
3444 </div> | |
3445 | |
3446 <div id="quadOp9d"> | |
3447 path.setFillType(SkPath::kWinding_FillType); | |
3448 path.moveTo(0,1); | |
3449 path.quadTo(1,6, 1.5f,1); | |
3450 path.quadTo(1.5f,0.8f, 2,1); | |
3451 path.close(); | |
3452 pathB.setFillType(SkPath::kWinding_FillType); | |
3453 pathB.moveTo(0,1); | |
3454 pathB.quadTo(1,2, 1.4f,1); | |
3455 pathB.quadTo(3,0.4f, 6,1); | |
3456 pathB.close(); | |
3457 </div> | |
3458 | |
3459 <div id="lineOp9d"> | |
3460 path.setFillType(SkPath::kWinding_FillType); | |
3461 path.moveTo(0,1); | |
3462 path.lineTo(1,6); | |
3463 path.lineTo(1.5f,1); | |
3464 path.lineTo(1.8f,0.8f); | |
3465 path.lineTo(2,1); | |
3466 path.close(); | |
3467 pathB.setFillType(SkPath::kWinding_FillType); | |
3468 pathB.moveTo(0,1); | |
3469 pathB.lineTo(1,2); | |
3470 pathB.lineTo(1.4f,1); | |
3471 pathB.lineTo(3,0.4f); | |
3472 pathB.lineTo(6,1); | |
3473 pathB.close(); | |
3474 </div> | |
3475 | |
3476 <div id="cubicOp1i"> | |
3477 path.setFillType(SkPath::kWinding_FillType); | |
3478 path.moveTo(0,1); | |
3479 path.cubicTo(1,2, 1,0, 2,1); | |
3480 path.close(); | |
3481 pathB.setFillType(SkPath::kWinding_FillType); | |
3482 pathB.moveTo(0,1); | |
3483 pathB.cubicTo(1,2, 1,0, 2,1); | |
3484 pathB.close(); | |
3485 </div> | |
3486 | |
3487 <div id="cubicOp10d"> | |
3488 path.setFillType(SkPath::kWinding_FillType); | |
3489 path.moveTo(0,1); | |
3490 path.cubicTo(1,3, 1,0, 4,1); | |
3491 path.close(); | |
3492 pathB.setFillType(SkPath::kWinding_FillType); | |
3493 pathB.moveTo(0,1); | |
3494 pathB.cubicTo(1,4, 1,0, 3,1); | |
3495 pathB.close(); | |
3496 </div> | |
3497 | |
3498 <div id="cubicOp11d"> | |
3499 path.setFillType(SkPath::kWinding_FillType); | |
3500 path.moveTo(0,1); | |
3501 path.cubicTo(3,4, 1,0, 5,1); | |
3502 path.close(); | |
3503 pathB.setFillType(SkPath::kWinding_FillType); | |
3504 pathB.moveTo(0,1); | |
3505 pathB.cubicTo(1,5, 1,0, 4,3); | |
3506 pathB.close(); | |
3507 </div> | |
3508 | |
3509 <div id="cubicOp12d"> | |
3510 path.setFillType(SkPath::kWinding_FillType); | |
3511 path.moveTo(0,1); | |
3512 path.cubicTo(1,6, 1,0, 1,0); | |
3513 path.close(); | |
3514 pathB.setFillType(SkPath::kWinding_FillType); | |
3515 pathB.moveTo(0,1); | |
3516 pathB.cubicTo(0,1, 1,0, 6,1); | |
3517 pathB.close(); | |
3518 </div> | |
3519 | |
3520 <div id="cubicOp13d"> | |
3521 path.setFillType(SkPath::kWinding_FillType); | |
3522 path.moveTo(0,1); | |
3523 path.cubicTo(4,5, 1,0, 5,3); | |
3524 path.close(); | |
3525 pathB.setFillType(SkPath::kWinding_FillType); | |
3526 pathB.moveTo(0,1); | |
3527 pathB.cubicTo(3,5, 1,0, 5,4); | |
3528 pathB.close(); | |
3529 </div> | |
3530 | |
3531 <div id="cubicOp14d"> | |
3532 path.setFillType(SkPath::kWinding_FillType); | |
3533 path.moveTo(0,1); | |
3534 path.cubicTo(0,2, 2,0, 2,1); | |
3535 path.close(); | |
3536 pathB.setFillType(SkPath::kWinding_FillType); | |
3537 pathB.moveTo(0,2); | |
3538 pathB.cubicTo(1,2, 1,0, 2,0); | |
3539 pathB.close(); | |
3540 </div> | |
3541 | |
3542 <div id="cubicOp15d"> | |
3543 path.setFillType(SkPath::kWinding_FillType); | |
3544 path.moveTo(0,1); | |
3545 path.cubicTo(3,6, 2,0, 2,1); | |
3546 path.close(); | |
3547 pathB.setFillType(SkPath::kWinding_FillType); | |
3548 pathB.moveTo(0,2); | |
3549 pathB.cubicTo(1,2, 1,0, 6,3); | |
3550 pathB.close(); | |
3551 </div> | |
3552 | |
3553 <div id="cubicOp16d"> | |
3554 path.setFillType(SkPath::kWinding_FillType); | |
3555 path.moveTo(0,2); | |
3556 path.cubicTo(0,1, 3,0, 1,0); | |
3557 path.close(); | |
3558 pathB.setFillType(SkPath::kWinding_FillType); | |
3559 pathB.moveTo(0,3); | |
3560 pathB.cubicTo(0,1, 2,0, 1,0); | |
3561 pathB.close(); | |
3562 </div> | |
3563 | |
3564 <div id="cubicOp17d"> | |
3565 path.setFillType(SkPath::kWinding_FillType); | |
3566 path.moveTo(0,2); | |
3567 path.cubicTo(0,2, 4,0, 2,1); | |
3568 path.close(); | |
3569 pathB.setFillType(SkPath::kWinding_FillType); | |
3570 pathB.moveTo(0,4); | |
3571 pathB.cubicTo(1,2, 2,0, 2,0); | |
3572 pathB.close(); | |
3573 </div> | |
3574 | |
3575 <div id="cubicOp18d"> | |
3576 path.setFillType(SkPath::kWinding_FillType); | |
3577 path.moveTo(0,1); | |
3578 path.cubicTo(3,5, 2,0, 2,1); | |
3579 path.close(); | |
3580 pathB.setFillType(SkPath::kWinding_FillType); | |
3581 pathB.moveTo(0,2); | |
3582 pathB.cubicTo(1,2, 1,0, 5,3); | |
3583 pathB.close(); | |
3584 </div> | |
3585 | |
3586 <div id="cubicOp19i"> | |
3587 path.setFillType(SkPath::kWinding_FillType); | |
3588 path.moveTo(0,2); | |
3589 path.cubicTo(0,1, 2,1, 6,2); | |
3590 path.close(); | |
3591 pathB.setFillType(SkPath::kWinding_FillType); | |
3592 pathB.moveTo(1,2); | |
3593 pathB.cubicTo(2,6, 2,0, 1,0); | |
3594 pathB.close(); | |
3595 </div> | |
3596 | |
3597 <div id="cubicOp20d"> | |
3598 path.setFillType(SkPath::kWinding_FillType); | |
3599 path.moveTo(0,1); | |
3600 path.cubicTo(0,1, 6,0, 2,1); | |
3601 path.close(); | |
3602 pathB.setFillType(SkPath::kWinding_FillType); | |
3603 pathB.moveTo(0,6); | |
3604 pathB.cubicTo(1,2, 1,0, 1,0); | |
3605 pathB.close(); | |
3606 </div> | |
3607 | |
3608 <div id="cubicOp21d"> | |
3609 path.setFillType(SkPath::kWinding_FillType); | |
3610 path.moveTo(0,1); | |
3611 path.cubicTo(0,1, 2,1, 6,5); | |
3612 path.close(); | |
3613 pathB.setFillType(SkPath::kWinding_FillType); | |
3614 pathB.moveTo(1,2); | |
3615 pathB.cubicTo(5,6, 1,0, 1,0); | |
3616 pathB.close(); | |
3617 </div> | |
3618 | |
3619 <div id="cubicOp22d"> | |
3620 path.setFillType(SkPath::kWinding_FillType); | |
3621 path.moveTo(0,1); | |
3622 path.cubicTo(2,3, 3,0, 2,1); | |
3623 path.close(); | |
3624 pathB.setFillType(SkPath::kWinding_FillType); | |
3625 pathB.moveTo(0,3); | |
3626 pathB.cubicTo(1,2, 1,0, 3,2); | |
3627 pathB.close(); | |
3628 </div> | |
3629 | |
3630 <div id="cubicOp23d"> | |
3631 path.setFillType(SkPath::kWinding_FillType); | |
3632 path.moveTo(0,1); | |
3633 path.cubicTo(1,2, 4,0, 2,1); | |
3634 path.close(); | |
3635 pathB.setFillType(SkPath::kWinding_FillType); | |
3636 pathB.moveTo(0,4); | |
3637 pathB.cubicTo(1,2, 1,0, 2,1); | |
3638 pathB.close(); | |
3639 </div> | |
3640 | |
3641 <div id="cubicOp24d"> | |
3642 path.setFillType(SkPath::kWinding_FillType); | |
3643 path.moveTo(0,1); | |
3644 path.cubicTo(1,2, 2,0, 3,2); | |
3645 path.close(); | |
3646 pathB.setFillType(SkPath::kWinding_FillType); | |
3647 pathB.moveTo(0,2); | |
3648 pathB.cubicTo(2,3, 1,0, 2,1); | |
3649 pathB.close(); | |
3650 </div> | |
3651 | |
3652 <div id="cubicOp25i"> | |
3653 path.setFillType(SkPath::kWinding_FillType); | |
3654 path.moveTo(0,1); | |
3655 path.cubicTo(2,4, 5,0, 3,2); | |
3656 path.close(); | |
3657 pathB.setFillType(SkPath::kWinding_FillType); | |
3658 pathB.moveTo(0,5); | |
3659 pathB.cubicTo(2,3, 1,0, 4,2); | |
3660 pathB.close(); | |
3661 </div> | |
3662 | |
3663 <div id="cubicOp26d"> | |
3664 path.setFillType(SkPath::kWinding_FillType); | |
3665 path.moveTo(0,1); | |
3666 path.cubicTo(3,4, 4,0, 3,2); | |
3667 path.close(); | |
3668 pathB.setFillType(SkPath::kWinding_FillType); | |
3669 pathB.moveTo(0,4); | |
3670 pathB.cubicTo(2,3, 1,0, 4,3); | |
3671 pathB.close(); | |
3672 </div> | |
3673 | |
3674 <div id="cubicOp27d"> | |
3675 path.setFillType(SkPath::kWinding_FillType); | |
3676 path.moveTo(0,1); | |
3677 path.cubicTo(3,6, 1,0, 5,2); | |
3678 path.close(); | |
3679 pathB.setFillType(SkPath::kWinding_FillType); | |
3680 pathB.moveTo(0,1); | |
3681 pathB.cubicTo(2,5, 1,0, 6,3); | |
3682 pathB.close(); | |
3683 </div> | |
3684 | |
3685 <div id="cubicOp28u"> | |
3686 path.setFillType(SkPath::kWinding_FillType); | |
3687 path.moveTo(0,1); | |
3688 path.cubicTo(1,4, 6,0, 3,2); | |
3689 path.close(); | |
3690 pathB.setFillType(SkPath::kWinding_FillType); | |
3691 pathB.moveTo(0,6); | |
3692 pathB.cubicTo(2,3, 1,0, 4,1); | |
3693 pathB.close(); | |
3694 </div> | |
3695 | |
3696 <div id="cubicOp29d"> | |
3697 path.setFillType(SkPath::kWinding_FillType); | |
3698 path.moveTo(0,1); | |
3699 path.cubicTo(2,5, 6,0, 4,2); | |
3700 path.close(); | |
3701 pathB.setFillType(SkPath::kWinding_FillType); | |
3702 pathB.moveTo(0,6); | |
3703 pathB.cubicTo(2,4, 1,0, 5,2); | |
3704 pathB.close(); | |
3705 </div> | |
3706 | |
3707 <div id="cubicOp30d"> | |
3708 path.setFillType(SkPath::kWinding_FillType); | |
3709 path.moveTo(0,1); | |
3710 path.cubicTo(2,5, 6,0, 5,3); | |
3711 path.close(); | |
3712 pathB.setFillType(SkPath::kWinding_FillType); | |
3713 pathB.moveTo(0,6); | |
3714 pathB.cubicTo(3,5, 1,0, 5,2); | |
3715 pathB.close(); | |
3716 </div> | |
3717 | |
3718 <div id="cubicOp31d"> | |
3719 path.setFillType(SkPath::kWinding_FillType); | |
3720 path.moveTo(0,2); | |
3721 path.cubicTo(0,3, 2,1, 4,0); | |
3722 path.close(); | |
3723 pathB.setFillType(SkPath::kWinding_FillType); | |
3724 pathB.moveTo(1,2); | |
3725 pathB.cubicTo(0,4, 2,0, 3,0); | |
3726 pathB.close(); | |
3727 </div> | |
3728 | |
3729 <div id="cubicOp32d"> | |
3730 path.setFillType(SkPath::kWinding_FillType); | |
3731 path.moveTo(0,1); | |
3732 path.cubicTo(1,2, 6,0, 3,1); | |
3733 path.close(); | |
3734 pathB.setFillType(SkPath::kWinding_FillType); | |
3735 pathB.moveTo(0,6); | |
3736 pathB.cubicTo(1,3, 1,0, 2,1); | |
3737 pathB.close(); | |
3738 </div> | |
3739 | |
3740 <div id="cubicOp33i"> | |
3741 path.setFillType(SkPath::kWinding_FillType); | |
3742 path.moveTo(0,1); | |
3743 path.cubicTo(1,2, 6,0, 3,1); | |
3744 path.close(); | |
3745 pathB.setFillType(SkPath::kWinding_FillType); | |
3746 pathB.moveTo(0,6); | |
3747 pathB.cubicTo(1,3, 1,0, 2,1); | |
3748 pathB.close(); | |
3749 </div> | |
3750 | |
3751 <div id="cubicOp34d"> | |
3752 path.setFillType(SkPath::kWinding_FillType); | |
3753 path.moveTo(0,1); | |
3754 path.cubicTo(3,5, 2,1, 3,1); | |
3755 path.close(); | |
3756 pathB.setFillType(SkPath::kWinding_FillType); | |
3757 pathB.moveTo(1,2); | |
3758 pathB.cubicTo(1,3, 1,0, 5,3); | |
3759 pathB.close(); | |
3760 </div> | |
3761 | |
3762 <div id="cubicOp35d"> | |
3763 path.setFillType(SkPath::kWinding_FillType); | |
3764 path.moveTo(0,1); | |
3765 path.cubicTo(1,5, 2,1, 4,0); | |
3766 path.close(); | |
3767 pathB.setFillType(SkPath::kWinding_FillType); | |
3768 pathB.moveTo(1,2); | |
3769 pathB.cubicTo(0,4, 1,0, 5,1); | |
3770 pathB.close(); | |
3771 </div> | |
3772 | |
3773 <div id="cubicOp36u"> | |
3774 path.setFillType(SkPath::kWinding_FillType); | |
3775 path.moveTo(0,1); | |
3776 path.cubicTo(1,6, 2,0, 5,1); | |
3777 path.close(); | |
3778 pathB.setFillType(SkPath::kWinding_FillType); | |
3779 pathB.moveTo(0,2); | |
3780 pathB.cubicTo(1,5, 1,0, 6,1); | |
3781 pathB.close(); | |
3782 </div> | |
3783 | |
3784 <div id="cubicOp37d"> | |
3785 path.setFillType(SkPath::kWinding_FillType); | |
3786 path.moveTo(0,1); | |
3787 path.cubicTo(2,6, 6,1, 4,3); | |
3788 path.close(); | |
3789 pathB.setFillType(SkPath::kWinding_FillType); | |
3790 pathB.moveTo(1,6); | |
3791 pathB.cubicTo(3,4, 1,0, 6,2); | |
3792 pathB.close(); | |
3793 </div> | |
3794 | |
3795 <div id="cubicOp38d"> | |
3796 path.setFillType(SkPath::kWinding_FillType); | |
3797 path.moveTo(0,1); | |
3798 path.cubicTo(0,6, 3,2, 4,1); | |
3799 path.close(); | |
3800 pathB.setFillType(SkPath::kWinding_FillType); | |
3801 pathB.moveTo(2,3); | |
3802 pathB.cubicTo(1,4, 1,0, 6,0); | |
3803 pathB.close(); | |
3804 </div> | |
3805 | |
3806 <div id="cubicOp39d"> | |
3807 path.setFillType(SkPath::kWinding_FillType); | |
3808 path.moveTo(0,1); | |
3809 path.cubicTo(2,3, 5,1, 4,3); | |
3810 path.close(); | |
3811 pathB.setFillType(SkPath::kWinding_FillType); | |
3812 pathB.moveTo(1,5); | |
3813 pathB.cubicTo(3,4, 1,0, 3,2); | |
3814 pathB.close(); | |
3815 </div> | |
3816 | |
3817 <div id="cubicOp40d"> | |
3818 path.setFillType(SkPath::kWinding_FillType); | |
3819 path.moveTo(0,1); | |
3820 path.cubicTo(1,5, 3,2, 4,2); | |
3821 path.close(); | |
3822 pathB.setFillType(SkPath::kWinding_FillType); | |
3823 pathB.moveTo(2,3); | |
3824 pathB.cubicTo(2,4, 1,0, 5,1); | |
3825 pathB.close(); | |
3826 </div> | |
3827 | |
3828 <div id="cubicOp41i"> | |
3829 path.setFillType(SkPath::kWinding_FillType); | |
3830 path.moveTo(0,1); | |
3831 path.cubicTo(2,6, 4,3, 6,4); | |
3832 path.close(); | |
3833 pathB.setFillType(SkPath::kWinding_FillType); | |
3834 pathB.moveTo(3,4); | |
3835 pathB.cubicTo(4,6, 1,0, 6,2); | |
3836 pathB.close(); | |
3837 </div> | |
3838 | |
3839 <div id="cubicOp42d"> | |
3840 path.setFillType(SkPath::kWinding_FillType); | |
3841 path.moveTo(0,1); | |
3842 path.cubicTo(1,2, 6,5, 5,4); | |
3843 path.close(); | |
3844 pathB.setFillType(SkPath::kWinding_FillType); | |
3845 pathB.moveTo(5,6); | |
3846 pathB.cubicTo(4,5, 1,0, 2,1); | |
3847 pathB.close(); | |
3848 </div> | |
3849 | |
3850 <div id="cubicOp43d"> | |
3851 path.setFillType(SkPath::kWinding_FillType); | |
3852 path.moveTo(0,2); | |
3853 path.cubicTo(1,2, 4,0, 3,1); | |
3854 path.close(); | |
3855 pathB.setFillType(SkPath::kWinding_FillType); | |
3856 pathB.moveTo(0,4); | |
3857 pathB.cubicTo(1,3, 2,0, 2,1); | |
3858 pathB.close(); | |
3859 </div> | |
3860 | |
3861 <div id="cubicOp44d"> | |
3862 path.setFillType(SkPath::kWinding_FillType); | |
3863 path.moveTo(0,2); | |
3864 path.cubicTo(3,6, 4,0, 3,2); | |
3865 path.close(); | |
3866 pathB.setFillType(SkPath::kWinding_FillType); | |
3867 pathB.moveTo(0,4); | |
3868 pathB.cubicTo(2,3, 2,0, 6,3); | |
3869 pathB.close(); | |
3870 </div> | |
3871 | |
3872 <div id="cubicOp45d"> | |
3873 path.setFillType(SkPath::kWinding_FillType); | |
3874 path.moveTo(0,2); | |
3875 path.cubicTo(2,4, 4,0, 3,2); | |
3876 path.close(); | |
3877 pathB.setFillType(SkPath::kWinding_FillType); | |
3878 pathB.moveTo(0,4); | |
3879 pathB.cubicTo(2,3, 2,0, 4,2); | |
3880 pathB.close(); | |
3881 </div> | |
3882 | |
3883 <div id="cubicOp46d"> | |
3884 path.setFillType(SkPath::kWinding_FillType); | |
3885 path.moveTo(0,2); | |
3886 path.cubicTo(3,5, 5,0, 4,2); | |
3887 path.close(); | |
3888 pathB.setFillType(SkPath::kWinding_FillType); | |
3889 pathB.moveTo(0,5); | |
3890 pathB.cubicTo(2,4, 2,0, 5,3); | |
3891 pathB.close(); | |
3892 </div> | |
3893 | |
3894 <div id="cubicOp47d"> | |
3895 path.setFillType(SkPath::kWinding_FillType); | |
3896 path.moveTo(0,1); | |
3897 path.cubicTo(1,6, 6,2, 5,4); | |
3898 path.close(); | |
3899 pathB.setFillType(SkPath::kWinding_FillType); | |
3900 pathB.moveTo(2,6); | |
3901 pathB.cubicTo(4,5, 1,0, 6,1); | |
3902 pathB.close(); | |
3903 </div> | |
3904 | |
3905 <div id="cubicOp48d"> | |
3906 path.setFillType(SkPath::kWinding_FillType); | |
3907 path.moveTo(0,2); | |
3908 path.cubicTo(2,3, 5,1, 3,2); | |
3909 path.close(); | |
3910 pathB.setFillType(SkPath::kWinding_FillType); | |
3911 pathB.moveTo(1,5); | |
3912 pathB.cubicTo(2,3, 2,0, 3,2); | |
3913 pathB.close(); | |
3914 </div> | |
3915 | |
3916 <div id="cubicOp49d"> | |
3917 path.setFillType(SkPath::kWinding_FillType); | |
3918 path.moveTo(0,2); | |
3919 path.cubicTo(1,5, 3,2, 4,1); | |
3920 path.close(); | |
3921 pathB.setFillType(SkPath::kWinding_FillType); | |
3922 pathB.moveTo(2,3); | |
3923 pathB.cubicTo(1,4, 2,0, 5,1); | |
3924 pathB.close(); | |
3925 </div> | |
3926 | |
3927 <div id="cubicOp50d"> | |
3928 path.setFillType(SkPath::kWinding_FillType); | |
3929 path.moveTo(0,3); | |
3930 path.cubicTo(1,6, 5,0, 5,1); | |
3931 path.close(); | |
3932 pathB.setFillType(SkPath::kWinding_FillType); | |
3933 pathB.moveTo(0,5); | |
3934 pathB.cubicTo(1,5, 3,0, 6,1); | |
3935 pathB.close(); | |
3936 </div> | |
3937 | |
3938 <div id="cubicOp51d"> | |
3939 path.setFillType(SkPath::kWinding_FillType); | |
3940 path.moveTo(0,3); | |
3941 path.cubicTo(1,2, 4,1, 6,0); | |
3942 path.close(); | |
3943 pathB.setFillType(SkPath::kWinding_FillType); | |
3944 pathB.moveTo(1,4); | |
3945 pathB.cubicTo(0,6, 3,0, 2,1); | |
3946 pathB.close(); | |
3947 </div> | |
3948 | |
3949 <div id="cubicOp52d"> | |
3950 path.setFillType(SkPath::kWinding_FillType); | |
3951 path.moveTo(0,2); | |
3952 path.cubicTo(1,2, 5,4, 4,3); | |
3953 path.close(); | |
3954 pathB.setFillType(SkPath::kWinding_FillType); | |
3955 pathB.moveTo(4,5); | |
3956 pathB.cubicTo(3,4, 2,0, 2,1); | |
3957 pathB.close(); | |
3958 </div> | |
3959 | |
3960 <div id="cubicOp53d"> | |
3961 path.setFillType(SkPath::kWinding_FillType); | |
3962 path.moveTo(0,3); | |
3963 path.cubicTo(1,2, 5,3, 2,1); | |
3964 path.close(); | |
3965 pathB.setFillType(SkPath::kWinding_FillType); | |
3966 pathB.moveTo(3,5); | |
3967 pathB.cubicTo(1,2, 3,0, 2,1); | |
3968 pathB.close(); | |
3969 </div> | |
3970 | |
3971 <div id="cubicOp54d"> | |
3972 path.setFillType(SkPath::kWinding_FillType); | |
3973 path.moveTo(0,4); | |
3974 path.cubicTo(1,3, 5,4, 4,2); | |
3975 path.close(); | |
3976 pathB.setFillType(SkPath::kWinding_FillType); | |
3977 pathB.moveTo(4,5); | |
3978 pathB.cubicTo(2,4, 4,0, 3,1); | |
3979 pathB.close(); | |
3980 </div> | |
3981 | |
3982 <div id="cubicOp55d"> | |
3983 path.setFillType(SkPath::kWinding_FillType); | |
3984 path.moveTo(0,5); | |
3985 path.cubicTo(1,3, 3,2, 5,0); | |
3986 path.close(); | |
3987 pathB.setFillType(SkPath::kWinding_FillType); | |
3988 pathB.moveTo(2,3); | |
3989 pathB.cubicTo(0,5, 5,0, 3,1); | |
3990 pathB.close(); | |
3991 </div> | |
3992 | |
3993 <div id="cubicOp56d"> | |
3994 path.setFillType(SkPath::kWinding_FillType); | |
3995 path.moveTo(0,1); | |
3996 path.cubicTo(2,6, 5,0, 2,1); | |
3997 path.close(); | |
3998 pathB.setFillType(SkPath::kWinding_FillType); | |
3999 pathB.moveTo(0,5); | |
4000 pathB.cubicTo(1,2, 1,0, 6,2); | |
4001 pathB.close(); | |
4002 </div> | |
4003 | |
4004 <div id="cubicOp57d"> | |
4005 path.setFillType(SkPath::kWinding_FillType); | |
4006 path.moveTo(0,5); | |
4007 path.cubicTo(0,5, 5,4, 6,4); | |
4008 path.close(); | |
4009 pathB.setFillType(SkPath::kWinding_FillType); | |
4010 pathB.moveTo(4,5); | |
4011 pathB.cubicTo(4,6, 5,0, 5,0); | |
4012 pathB.close(); | |
4013 </div> | |
4014 | |
4015 <div id="cubicOp58d"> | |
4016 path.setFillType(SkPath::kWinding_FillType); | |
4017 path.moveTo(0,5); | |
4018 path.cubicTo(3,4, 6,5, 5,3); | |
4019 path.close(); | |
4020 pathB.setFillType(SkPath::kWinding_FillType); | |
4021 pathB.moveTo(5,6); | |
4022 pathB.cubicTo(3,5, 5,0, 4,3); | |
4023 pathB.close(); | |
4024 </div> | |
4025 | |
4026 <div id="cubicOp59d"> | |
4027 path.setFillType(SkPath::kWinding_FillType); | |
4028 path.moveTo(0,1); | |
4029 path.cubicTo(5,6, 4,0, 4,1); | |
4030 path.close(); | |
4031 pathB.setFillType(SkPath::kWinding_FillType); | |
4032 pathB.moveTo(0,4); | |
4033 pathB.cubicTo(1,4, 1,0, 6,5); | |
4034 pathB.close(); | |
4035 </div> | |
4036 | |
4037 <div id="cubicOp60d"> | |
4038 path.setFillType(SkPath::kWinding_FillType); | |
4039 path.moveTo(0,2); | |
4040 path.cubicTo(4,6, 6,0, 5,2); | |
4041 path.close(); | |
4042 pathB.setFillType(SkPath::kWinding_FillType); | |
4043 pathB.moveTo(0,6); | |
4044 pathB.cubicTo(2,5, 2,0, 6,4); | |
4045 pathB.close(); | |
4046 </div> | |
4047 | |
4048 <div id="cubicOp61d"> | |
4049 path.setFillType(SkPath::kWinding_FillType); | |
4050 path.moveTo(1,2); | |
4051 path.cubicTo(0,5, 3,2, 6,1); | |
4052 path.close(); | |
4053 pathB.setFillType(SkPath::kWinding_FillType); | |
4054 pathB.moveTo(2,3); | |
4055 pathB.cubicTo(1,6, 2,1, 5,0); | |
4056 pathB.close(); | |
4057 </div> | |
4058 | |
4059 <div id="cubicOp62d"> | |
4060 path.setFillType(SkPath::kWinding_FillType); | |
4061 path.moveTo(1,3); | |
4062 path.cubicTo(5,6, 5,3, 5,4); | |
4063 path.close(); | |
4064 pathB.setFillType(SkPath::kWinding_FillType); | |
4065 pathB.moveTo(3,5); | |
4066 pathB.cubicTo(4,5, 3,1, 6,5); | |
4067 pathB.close(); | |
4068 </div> | |
4069 | |
4070 <div id="cubicOp63d"> | |
4071 path.setFillType(SkPath::kWinding_FillType); | |
4072 path.moveTo(2,3); | |
4073 path.cubicTo(0,4, 3,2, 5,3); | |
4074 path.close(); | |
4075 pathB.setFillType(SkPath::kWinding_FillType); | |
4076 pathB.moveTo(2,3); | |
4077 pathB.cubicTo(3,5, 3,2, 4,0); | |
4078 pathB.close(); | |
4079 </div> | |
4080 | |
4081 <div id="testQuadratic94"> | |
4082 SkPath path; | |
4083 path.moveTo(0, 0); | |
4084 path.lineTo(8, 8); | |
4085 path.quadTo(8, 4, 4, 4); | |
4086 path.quadTo(4, 0, 0, 0); | |
4087 path.close(); | |
4088 testSimplify(reporter, path); | |
4089 </div> | |
4090 | |
4091 <div id="testQuadratic95"> | |
4092 SkPath path; | |
4093 path.moveTo(8, 8); | |
4094 path.lineTo(0, 0); | |
4095 path.quadTo(4, 0, 4, 4); | |
4096 path.quadTo(8, 4, 8, 8); | |
4097 path.close(); | |
4098 testSimplify(reporter, path); | |
4099 </div> | |
4100 | |
4101 <div id="testQuadratic96"> | |
4102 SkPath path; | |
4103 path.moveTo(8, 0); | |
4104 path.lineTo(0, 8); | |
4105 path.quadTo(0, 4, 4, 4); | |
4106 path.quadTo(4, 0, 8, 0); | |
4107 path.close(); | |
4108 testSimplify(reporter, path); | |
4109 </div> | |
4110 | |
4111 <div id="testQuadratic97"> | |
4112 SkPath path; | |
4113 path.moveTo(0, 8); | |
4114 path.lineTo(8, 0); | |
4115 path.quadTo(4, 0, 4, 4); | |
4116 path.quadTo(0, 4, 0, 8); | |
4117 path.close(); | |
4118 testSimplify(reporter, path); | |
4119 </div> | |
4120 | |
4121 <div id="testTriangle2"> | |
4122 path.moveTo(0, 0); | |
4123 path.lineTo(1, 0); | |
4124 path.lineTo(3, 3); | |
4125 path.close(); | |
4126 path.moveTo(1, 1); | |
4127 path.lineTo(2, 3); | |
4128 path.lineTo(1, 2); | |
4129 path.close(); | |
4130 </div> | |
4131 | |
4132 </div> | |
4133 | |
4134 <script type="text/javascript"> | |
4135 | |
4136 var testDivs = [ | |
4137 testTriangle2, | |
4138 testQuadratic97, | |
4139 testQuadratic96, | |
4140 testQuadratic95, | |
4141 testQuadratic94, | |
4142 testLine16, | |
4143 cubicOp63d, | |
4144 cubicOp62d, | |
4145 cubicOp61d, | |
4146 cubicOp60d, | |
4147 cubicOp59d, | |
4148 cubicOp58d, | |
4149 cubicOp57d, | |
4150 cubicOp56d, | |
4151 cubicOp55d, | |
4152 cubicOp54d, | |
4153 cubicOp53d, | |
4154 cubicOp52d, | |
4155 cubicOp51d, | |
4156 cubicOp50d, | |
4157 cubicOp49d, | |
4158 cubicOp48d, | |
4159 cubicOp47d, | |
4160 cubicOp46d, | |
4161 cubicOp45d, | |
4162 cubicOp44d, | |
4163 cubicOp43d, | |
4164 cubicOp42d, | |
4165 cubicOp41i, | |
4166 cubicOp40d, | |
4167 cubicOp39d, | |
4168 cubicOp38d, | |
4169 cubicOp37d, | |
4170 cubicOp36u, | |
4171 cubicOp35d, | |
4172 cubicOp34d, | |
4173 cubicOp33i, | |
4174 cubicOp32d, | |
4175 cubicOp31d, | |
4176 cubicOp30d, | |
4177 cubicOp29d, | |
4178 cubicOp28u, | |
4179 cubicOp27d, | |
4180 cubicOp26d, | |
4181 cubicOp25i, | |
4182 cubicOp24d, | |
4183 cubicOp23d, | |
4184 cubicOp18d, | |
4185 cubicOp15d, | |
4186 cubicOp14d, | |
4187 cubicOp13d, | |
4188 cubicOp11d, | |
4189 cubicOp9d, | |
4190 cubicOp8d, | |
4191 cubicOp7d, | |
4192 cubicOp6d, | |
4193 cubicOp5d, | |
4194 cubicOp10d, | |
4195 cubicOp22d, | |
4196 cubicOp21d, | |
4197 cubicOp20d, | |
4198 cubicOp19i, | |
4199 cubicOp17d, | |
4200 cubicOp16d, | |
4201 cubicOp12d, | |
4202 cubicOp1i, | |
4203 lineOp9d, | |
4204 quadOp9d, | |
4205 cubicOp4d, | |
4206 cubicOp3d, | |
4207 cubicOp2d, | |
4208 cubicOp1d, | |
4209 testQuadratic93, | |
4210 testCubic1, | |
4211 testQuadralateral1, | |
4212 testLine85, | |
4213 testLine84x, | |
4214 testLine83, | |
4215 testLine82h, | |
4216 testLine82g, | |
4217 testLine82f, | |
4218 testLine82e, | |
4219 testLine82d, | |
4220 testLine82c, | |
4221 testLine82b, | |
4222 testLine82a, | |
4223 testLine82, | |
4224 testQuadratic92x, | |
4225 testQuadratic91, | |
4226 testQuadratic90x, | |
4227 testQuadratic89x, | |
4228 testQuadratic88, | |
4229 testQuadratic87, | |
4230 testQuadratic86, | |
4231 testQuadratic85, | |
4232 testQuadratic84, | |
4233 testQuadratic83, | |
4234 testQuadratic82, | |
4235 testQuadratic81, | |
4236 testQuadratic80, | |
4237 testQuadratic79, | |
4238 testQuadratic78, | |
4239 testQuadratic77, | |
4240 testQuadratic76, | |
4241 testQuadratic75, | |
4242 testQuadratic74, | |
4243 testQuadratic73, | |
4244 testQuadratic72, | |
4245 testQuadratic71, | |
4246 testQuadratic70x, | |
4247 testQuadratic69, | |
4248 testQuadratic68, | |
4249 testQuadratic67x, | |
4250 testQuadratic66, | |
4251 testQuadratic65, | |
4252 testQuadratic64, | |
4253 testQuadratic63, | |
4254 testLine1a, | |
4255 testQuadratic62x, | |
4256 testLine81, | |
4257 testQuadratic61, | |
4258 testQuadratic60, | |
4259 testQuadratic59, | |
4260 testQuadratic59o, | |
4261 testQuadratic59s, | |
4262 testQuadratic58o, | |
4263 testQuadratic58a, | |
4264 testQuadratic58s, | |
4265 testQuadratic57o, | |
4266 testQuadratic57s, | |
4267 testQuadratic56o, | |
4268 testQuadratic56s, | |
4269 testQuadratic55o, | |
4270 testQuadratic55s, | |
4271 testQuadratic54, | |
4272 testQuadratic53o, | |
4273 testQuadratic53s, | |
4274 testQuadratic52sa, | |
4275 testQuadratic52sb, | |
4276 testQuadratic52sc, | |
4277 testQuadratic52o, | |
4278 testQuadratic52s, | |
4279 testQuadratic51, | |
4280 testQuadratic50o, | |
4281 testQuadratic50s, | |
4282 testQuadratic49s, | |
4283 testQuadratic48o, | |
4284 testQuadratic48s, | |
4285 testQuadratic47o, | |
4286 testQuadratic47s, | |
4287 testQuadratic46o, | |
4288 testQuadratic46s, | |
4289 testQuadratic45o, | |
4290 testQuadratic45s, | |
4291 testQuadratic44o, | |
4292 testQuadratic44s, | |
4293 testQuadratic43o, | |
4294 testQuadratic43s, | |
4295 testQuadratic42o, | |
4296 testQuadratic42s, | |
4297 testQuadratic41o, | |
4298 testQuadratic41s, | |
4299 testQuadratic40xb, | |
4300 testQuadratic40xa, | |
4301 testQuadratic40x, | |
4302 testQuadratic39, | |
4303 testQuadratic39a, | |
4304 testQuadratic38, | |
4305 testQuadratic37, | |
4306 testQuadratic36, | |
4307 testQuadratic35, | |
4308 testQuadratic34, | |
4309 testQuadratic33, | |
4310 testQuadratic32, | |
4311 testQuadratic31, | |
4312 testQuadratic30, | |
4313 testQuadratic29, | |
4314 testQuadratic28, | |
4315 testQuadratic27, | |
4316 testQuadratic26, | |
4317 testQuadratic25, | |
4318 testQuadratic24, | |
4319 testQuadratic23, | |
4320 testQuadratic22, | |
4321 testQuadratic21, | |
4322 testQuadratic20, | |
4323 testQuadratic19, | |
4324 testQuadratic18, | |
4325 testQuadratic17x, | |
4326 testQuadratic16b, | |
4327 testQuadratic16a, | |
4328 testQuadratic15, | |
4329 testQuadratic14, | |
4330 testQuadratic13b, | |
4331 testQuadratic13a, | |
4332 testQuadratic12, | |
4333 testQuadratic11b, | |
4334 testQuadratic11a, | |
4335 testQuadratic10b, | |
4336 testQuadratic10a, | |
4337 testQuadratic9a, | |
4338 testQuadratic9, | |
4339 testQuadratic8, | |
4340 testQuadratic7, | |
4341 testQuadratic6, | |
4342 testQuadratic5, | |
4343 testQuadratic4x, | |
4344 testQuadratic3, | |
4345 testQuadratic2, | |
4346 testQuadratic1, | |
4347 testLine4x, | |
4348 testLine3x, | |
4349 testLine2x, | |
4350 testLine1x, | |
4351 testQuadralateral9, | |
4352 testQuadralateral8, | |
4353 testQuadralateral7, | |
4354 testFauxQuadralateral6d, | |
4355 testFauxQuadralateral6c, | |
4356 testFauxQuadralateral6b, | |
4357 testFauxQuadralateral6a, | |
4358 testFauxQuadralateral6, | |
4359 testQuadralateral6a, | |
4360 testQuadralateral6, | |
4361 testQuadralateral5, | |
4362 testNondegenerate4, | |
4363 testNondegenerate3, | |
4364 testNondegenerate2, | |
4365 testNondegenerate1, | |
4366 testDegenerate4, | |
4367 testDegenerate3, | |
4368 testDegenerate2, | |
4369 testDegenerate1, | |
4370 testLine79, | |
4371 testLine78, | |
4372 testLine77, | |
4373 testLine76, | |
4374 testLine75, | |
4375 testLine74, | |
4376 testLine73, | |
4377 testLine72, | |
4378 testLine71, | |
4379 testLine70, | |
4380 testLine69, | |
4381 testLine68f, | |
4382 testLine68e, | |
4383 testLine68d, | |
4384 testLine68c, | |
4385 testLine68b, | |
4386 testLine68a, | |
4387 testLine67, | |
4388 testLine66, | |
4389 testLine65, | |
4390 testLine64, | |
4391 testLine63, | |
4392 testLine62, | |
4393 testLine61, | |
4394 testLine60, | |
4395 testLine59, | |
4396 testLine58, | |
4397 testLine57, | |
4398 testLine56, | |
4399 testLine55, | |
4400 testLine54, | |
4401 testLine53, | |
4402 testLine52, | |
4403 testLine51, | |
4404 testLine50, | |
4405 testLine49, | |
4406 testLine48, | |
4407 testLine47, | |
4408 testLine46, | |
4409 testLine45, | |
4410 testLine44, | |
4411 testLine43, | |
4412 testLine42, | |
4413 testLine41, | |
4414 testLine40, | |
4415 testLine39, | |
4416 testLine38, | |
4417 testLine37, | |
4418 testLine36, | |
4419 testLine35, | |
4420 testLine34, | |
4421 testLine33, | |
4422 testLine32, | |
4423 testLine31, | |
4424 testLine30, | |
4425 testLine29, | |
4426 testLine28, | |
4427 testLine24, | |
4428 testLine22, | |
4429 testLine19, | |
4430 testLine17, | |
4431 testLine16, | |
4432 testLine13, | |
4433 testLine12, | |
4434 testLine9, | |
4435 testLine7b, | |
4436 testLine7, | |
4437 testLine6, | |
4438 testLine5, | |
4439 testSimplifyQuadratic21, | |
4440 testSimplifyQuadratic20, | |
4441 testSimplifyQuadratic19, | |
4442 testSimplifyQuadratic18, | |
4443 testSimplifyQuadratic17, | |
4444 testSimplifyQuadratic16, | |
4445 testSimplifyQuadratic15, | |
4446 testSimplifyQuadratic14, | |
4447 testSimplifyQuadratic13, | |
4448 testSimplifyQuadratic12, | |
4449 testSimplifyQuadratic11, | |
4450 testSimplifyQuadratic10, | |
4451 testSimplifyQuadratic9, | |
4452 testSimplifyQuadratic8, | |
4453 testSimplifyQuadratic7, | |
4454 testSimplifyQuadratic6, | |
4455 testSimplifyQuadratic5, | |
4456 testSimplifyQuadratic4, | |
4457 testSimplifyQuadratic3, | |
4458 testSimplifyQuadratic2, | |
4459 testSimplifyQuadratic1, | |
4460 ]; | |
4461 | |
4462 var scale, columns, rows, xStart, yStart; | |
4463 | |
4464 var ticks = 0.1; | |
4465 var at_x = 13 + 0.5; | |
4466 var at_y = 13 + 0.5; | |
4467 var decimal_places = 0; // make this 3 to show more precision | |
4468 | |
4469 var tests = []; | |
4470 var testTitles = []; | |
4471 var testIndex = 0; | |
4472 var hasXor = false; | |
4473 var draw_labels = true; | |
4474 | |
4475 var ctx; | |
4476 | |
4477 function parse(test, title) { | |
4478 var contours = []; | |
4479 var contourStrs = test.split("path.close();"); | |
4480 var pattern = /-?\d+\.*\d*/g; | |
4481 hasXor = test.split("kEvenOdd_FillType").length > 1; | |
4482 for (var c in contourStrs) { | |
4483 var contour = contourStrs[c]; | |
4484 var verbStrs = contour.split("path"); | |
4485 var verbs = []; | |
4486 for (var v in verbStrs) { | |
4487 var verbStr = verbStrs[v]; | |
4488 var points = verbStr.match(pattern); | |
4489 var pts = []; | |
4490 for (var wd in points) { | |
4491 var num = parseFloat(points[wd]); | |
4492 if (isNaN(num)) continue; | |
4493 pts.push(num); | |
4494 } | |
4495 if (pts.length > 0) | |
4496 verbs.push(pts); | |
4497 } | |
4498 if (verbs.length > 0) { | |
4499 var lastIndex = verbs.length - 1; | |
4500 var lastVerb = verbs[lastIndex]; | |
4501 var lastLen = lastVerb.length; | |
4502 if (verbs[0][0] != lastVerb[lastLen - 2] && verbs[0][1] != lastVerb[
lastLen - 1]) { | |
4503 var lastPts = []; | |
4504 lastPts.push(verbs[0][0]); | |
4505 lastPts.push(verbs[0][1]); | |
4506 verbs.push(lastPts); | |
4507 } | |
4508 contours.push(verbs); | |
4509 } | |
4510 } | |
4511 if (contours.length > 0) { | |
4512 tests.push(contours); | |
4513 testTitles.push(title); | |
4514 } | |
4515 } | |
4516 | |
4517 function parseRect(test, title) { | |
4518 var contours = []; | |
4519 var rectStrs = test.split("path.addRect"); | |
4520 var pattern = /-?\d+\.*\d*/g; | |
4521 hasXor = test.split("kEvenOdd_FillType").length > 1; | |
4522 for (var r in rectStrs) { | |
4523 var rect = rectStrs[r]; | |
4524 var sideStrs = rect.match(pattern); | |
4525 var ccw = rect.split("kCCW_Direction").length > 1; | |
4526 var sides = []; | |
4527 for (var wd in sideStrs) { | |
4528 var num = parseFloat(sideStrs[wd]); | |
4529 if (isNaN(num)) continue; | |
4530 sides.push(num); | |
4531 } | |
4532 if (sides.length == 0) | |
4533 continue; | |
4534 var verbs = []; | |
4535 var topLeft = []; | |
4536 topLeft.push(sides[0]); topLeft.push(sides[1]); | |
4537 var topRight = []; | |
4538 topRight.push(sides[2]); topRight.push(sides[1]); | |
4539 var botLeft = []; | |
4540 botLeft.push(sides[0]); botLeft.push(sides[3]); | |
4541 var botRight = []; | |
4542 botRight.push(sides[2]); botRight.push(sides[3]); | |
4543 verbs.push(topLeft); | |
4544 if (!ccw) { | |
4545 verbs.push(topRight); | |
4546 verbs.push(botRight); | |
4547 verbs.push(botLeft); | |
4548 } else { | |
4549 verbs.push(botLeft); | |
4550 verbs.push(botRight); | |
4551 verbs.push(topRight); | |
4552 } | |
4553 verbs.push(topLeft); | |
4554 contours.push(verbs); | |
4555 } | |
4556 if (contours.length > 0) { | |
4557 tests.push(contours); | |
4558 testTitles.push(title); | |
4559 } | |
4560 } | |
4561 | |
4562 function init(test) { | |
4563 var canvas = document.getElementById('canvas'); | |
4564 if (!canvas.getContext) return; | |
4565 canvas.width = window.innerWidth - at_x; | |
4566 canvas.height = window.innerHeight - at_y; | |
4567 ctx = canvas.getContext('2d'); | |
4568 var xmin = Infinity; | |
4569 var xmax = -Infinity; | |
4570 var ymin = Infinity; | |
4571 var ymax = -Infinity; | |
4572 for (var contours in test) { | |
4573 var contour = test[contours]; | |
4574 for (var verbs in contour) { | |
4575 var verb = contour[verbs]; | |
4576 var last = verb.length; | |
4577 for (var idx = 0; idx < last; idx += 2) { | |
4578 xmin = Math.min(xmin, verb[idx]); | |
4579 xmax = Math.max(xmax, verb[idx]); | |
4580 ymin = Math.min(ymin, verb[idx + 1]); | |
4581 ymax = Math.max(ymax, verb[idx + 1]); | |
4582 } | |
4583 } | |
4584 } | |
4585 var subscale = 1; | |
4586 while ((xmax - xmin) * subscale < 0.1 && (ymax - ymin) * subscale < 0.1) { | |
4587 subscale *= 10; | |
4588 } | |
4589 columns = Math.ceil(xmax) - Math.floor(xmin) + 1; | |
4590 rows = Math.ceil(ymax) - Math.floor(ymin) + 1; | |
4591 xStart = Math.floor(xmin); | |
4592 yStart = Math.floor(ymin); | |
4593 var hscale = ctx.canvas.width / columns / ticks; | |
4594 var vscale = ctx.canvas.height / rows / ticks; | |
4595 scale = Math.floor(Math.min(hscale, vscale)) * subscale; | |
4596 } | |
4597 | |
4598 function drawPoint(px, py, xoffset, yoffset, unit) { | |
4599 var label = px.toFixed(decimal_places) + ", " + py.toFixed(decimal_places); | |
4600 var _px = px * unit + xoffset; | |
4601 var _py = py * unit + yoffset; | |
4602 ctx.beginPath(); | |
4603 ctx.arc(_px, _py, 3, 0, Math.PI*2, true); | |
4604 ctx.closePath(); | |
4605 ctx.fill(); | |
4606 ctx.fillText(label, _px + 5, _py); | |
4607 } | |
4608 | |
4609 function draw(test, title, _at_x, _at_y, scale) { | |
4610 ctx.fillStyle = "rgba(0,0,0, 0.1)"; | |
4611 ctx.font = "normal 50px Arial"; | |
4612 ctx.fillText(title, 50, 50); | |
4613 ctx.font = "normal 10px Arial"; | |
4614 | |
4615 var unit = scale * ticks; | |
4616 ctx.lineWidth = 1; | |
4617 var i; | |
4618 for (i = 0; i <= rows * ticks; ++i) { | |
4619 ctx.strokeStyle = (i % ticks) != 0 ? "rgb(160,160,160)" : "black"; | |
4620 ctx.beginPath(); | |
4621 ctx.moveTo(_at_x + 0, _at_y + i * scale); | |
4622 ctx.lineTo(_at_x + unit * columns, _at_y + i * scale); | |
4623 ctx.stroke(); | |
4624 } | |
4625 for (i = 0; i <= columns * ticks; ++i) { | |
4626 ctx.strokeStyle = (i % ticks) != 0 ? "rgb(160,160,160)" : "black"; | |
4627 ctx.beginPath(); | |
4628 ctx.moveTo(_at_x + i * scale, _at_y + 0); | |
4629 ctx.lineTo(_at_x + i * scale, _at_y + unit * rows); | |
4630 ctx.stroke(); | |
4631 } | |
4632 | |
4633 var xoffset = xStart * -unit + _at_x; | |
4634 var yoffset = yStart * -unit + _at_y; | |
4635 | |
4636 ctx.fillStyle = "rgb(40,80,60)" | |
4637 for (i = 0; i <= columns; i += (1 / ticks)) | |
4638 { | |
4639 num = (xoffset - _at_x) / -unit + i; | |
4640 ctx.fillText(num.toFixed(0), i * unit + _at_y - 5, 10); | |
4641 } | |
4642 for (i = 0; i <= rows; i += (1 / ticks)) | |
4643 { | |
4644 num = (yoffset - _at_x) / -unit + i; | |
4645 ctx.fillText(num.toFixed(0), 0, i * unit + _at_y + 0); | |
4646 } | |
4647 | |
4648 ctx.strokeStyle = "red"; | |
4649 var contours, verbs, pts; | |
4650 ctx.beginPath(); | |
4651 for (contours in test) { | |
4652 var contour = test[contours]; | |
4653 if (contours == 2) ctx.strokeStyle = "blue"; | |
4654 var first = true; | |
4655 for (verbs in contour) { | |
4656 var verb = contour[verbs]; | |
4657 switch (verb.length) { | |
4658 case 2: | |
4659 if (first) { | |
4660 ctx.moveTo(xoffset + verb[0] * unit, yoffset + verb[1] *
unit); | |
4661 first = false; | |
4662 } else | |
4663 ctx.lineTo(xoffset + verb[0] * unit, yoffset + verb[1] *
unit); | |
4664 break; | |
4665 case 4: | |
4666 ctx.quadraticCurveTo(xoffset + verb[0] * unit, yoffset + ver
b[1] * unit, | |
4667 xoffset + verb[2] * unit, yoffset + verb[3] * unit); | |
4668 break; | |
4669 case 6: | |
4670 ctx.bezierCurveTo(xoffset + verb[0] * unit, yoffset + verb[1
] * unit, | |
4671 xoffset + verb[2] * unit, yoffset + verb[3] * unit, | |
4672 xoffset + verb[4] * unit, yoffset + verb[5] * unit); | |
4673 break; | |
4674 } | |
4675 } | |
4676 ctx.closePath(); | |
4677 } | |
4678 // uncomment if ever part of the standard | |
4679 // ctx.fillRule=hasXor ? evenodd : nonzero; | |
4680 ctx.stroke(); | |
4681 ctx.fillStyle="rgba(192,192,255, 0.3)"; | |
4682 ctx.fill(); | |
4683 | |
4684 if (!draw_labels) { | |
4685 return; | |
4686 } | |
4687 ctx.fillStyle="blue"; | |
4688 for (contours in test) { | |
4689 var contour = test[contours]; | |
4690 for (verbs in contour) { | |
4691 var verb = contour[verbs]; | |
4692 for (i = 0; i < verb.length; i += 2) { | |
4693 x = verb[i]; | |
4694 y = verb[i + 1]; | |
4695 drawPoint(x, y, xoffset, yoffset, unit); | |
4696 } | |
4697 } | |
4698 } | |
4699 } | |
4700 | |
4701 var mouseX = Infinity, mouseY; | |
4702 | |
4703 function calcXY() { | |
4704 var e = window.event; | |
4705 var tgt = e.target || e.srcElement; | |
4706 var left = tgt.offsetLeft; | |
4707 var top = tgt.offsetTop; | |
4708 var unit = scale * ticks; | |
4709 mouseX = (e.clientX - left - Math.ceil(at_x) + 1) / unit + xStart; | |
4710 mouseY = (e.clientY - top - Math.ceil(at_y)) / unit + yStart; | |
4711 } | |
4712 | |
4713 function handleMouseOver() { | |
4714 calcXY(); | |
4715 var num = mouseX.toFixed(3) + ", " + mouseY.toFixed(3); | |
4716 ctx.beginPath(); | |
4717 ctx.rect(300,0,72,9); | |
4718 ctx.fillStyle="white"; | |
4719 ctx.fill(); | |
4720 ctx.fillStyle="black"; | |
4721 ctx.fillText(num, 300, 7); | |
4722 } | |
4723 | |
4724 function handleMouseClick() { | |
4725 calcXY(); | |
4726 // drawInset(); | |
4727 } | |
4728 | |
4729 function drawTop() { | |
4730 init(tests[testIndex]); | |
4731 redraw(); | |
4732 } | |
4733 | |
4734 function redraw() { | |
4735 ctx.beginPath(); | |
4736 ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height); | |
4737 ctx.fillStyle="white"; | |
4738 ctx.fill(); | |
4739 draw(tests[testIndex], testTitles[testIndex], at_x, at_y, scale); | |
4740 // if (insetScale != scale && mouseX != Infinity) | |
4741 // drawInset(); | |
4742 } | |
4743 | |
4744 function doKeyPress(evt) { | |
4745 var char = String.fromCharCode(evt.charCode); | |
4746 switch (char) { | |
4747 case 'N': | |
4748 testIndex += 9; | |
4749 case 'n': | |
4750 if (++testIndex >= tests.length) | |
4751 testIndex = 0; | |
4752 mouseX = Infinity; | |
4753 drawTop(); | |
4754 break; | |
4755 case 'P': | |
4756 testIndex -= 9; | |
4757 case 'p': | |
4758 if (--testIndex < 0) | |
4759 testIndex = tests.length - 1; | |
4760 mouseX = Infinity; | |
4761 drawTop(); | |
4762 break; | |
4763 case 'T': | |
4764 case 't': | |
4765 break; | |
4766 case '-': | |
4767 drawTop(); | |
4768 break; | |
4769 case '=': | |
4770 case '+': | |
4771 drawTop(); | |
4772 break; | |
4773 case 'x': | |
4774 draw_labels ^= true; | |
4775 drawTop(); | |
4776 break; | |
4777 } | |
4778 } | |
4779 | |
4780 function start() { | |
4781 for (i = 0; i < testDivs.length; ++i) { | |
4782 var title = testDivs[i].id.toString(); | |
4783 var str = testDivs[i].firstChild.data; | |
4784 if (str.split("addRect").length > 1) { | |
4785 parseRect(str, title); | |
4786 } else { | |
4787 parse(str, title); | |
4788 } | |
4789 } | |
4790 drawTop(); | |
4791 window.addEventListener('keypress', doKeyPress, true); | |
4792 window.onresize = function() { | |
4793 drawTop(); | |
4794 } | |
4795 } | |
4796 | |
4797 </script> | |
4798 </head> | |
4799 | |
4800 <body onLoad="start();"> | |
4801 <canvas id="canvas" width="750" height="500" | |
4802 onmousemove="handleMouseOver()" | |
4803 onclick="handleMouseClick()" | |
4804 ></canvas > | |
4805 </body> | |
4806 </html> | |
OLD | NEW |