| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SampleCode.h" | 8 #include "SampleCode.h" |
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
| 10 #include "SkGeometry.h" | 10 #include "SkGeometry.h" |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 case SkPath::kQuad_Verb: { | 213 case SkPath::kQuad_Verb: { |
| 214 SkPoint chop[5]; | 214 SkPoint chop[5]; |
| 215 SkChopQuadAtHalf(pts, chop); | 215 SkChopQuadAtHalf(pts, chop); |
| 216 result.quadTo(chop[1], chop[2]); | 216 result.quadTo(chop[1], chop[2]); |
| 217 pts[1] = chop[3]; | 217 pts[1] = chop[3]; |
| 218 } break; | 218 } break; |
| 219 case SkPath::kConic_Verb: { | 219 case SkPath::kConic_Verb: { |
| 220 SkConic chop[2]; | 220 SkConic chop[2]; |
| 221 SkConic conic; | 221 SkConic conic; |
| 222 conic.set(pts, iter.conicWeight()); | 222 conic.set(pts, iter.conicWeight()); |
| 223 conic.chopAt(0.5f, chop); | 223 if (!conic.chopAt(0.5f, chop)) { |
| 224 return; |
| 225 } |
| 224 result.conicTo(chop[0].fPts[1], chop[0].fPts[2], chop[0].fW)
; | 226 result.conicTo(chop[0].fPts[1], chop[0].fPts[2], chop[0].fW)
; |
| 225 pts[1] = chop[1].fPts[1]; | 227 pts[1] = chop[1].fPts[1]; |
| 226 weight = chop[1].fW; | 228 weight = chop[1].fW; |
| 227 } break; | 229 } break; |
| 228 case SkPath::kCubic_Verb: { | 230 case SkPath::kCubic_Verb: { |
| 229 SkPoint chop[7]; | 231 SkPoint chop[7]; |
| 230 SkChopCubicAtHalf(pts, chop); | 232 SkChopCubicAtHalf(pts, chop); |
| 231 result.cubicTo(chop[1], chop[2], chop[3]); | 233 result.cubicTo(chop[1], chop[2], chop[3]); |
| 232 pts[1] = chop[4]; | 234 pts[1] = chop[4]; |
| 233 pts[2] = chop[5]; | 235 pts[2] = chop[5]; |
| (...skipping 1119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1353 | 1355 |
| 1354 void conic_coverage(SkPoint pts[3], SkScalar weight, uint8_t* distanceMap, i
nt w, int h) { | 1356 void conic_coverage(SkPoint pts[3], SkScalar weight, uint8_t* distanceMap, i
nt w, int h) { |
| 1355 SkScalar dist = pts[0].Distance(pts[0], pts[2]); | 1357 SkScalar dist = pts[0].Distance(pts[0], pts[2]); |
| 1356 if (dist < gCurveDistance) { | 1358 if (dist < gCurveDistance) { |
| 1357 (void) coverage(pts[0], pts[2], distanceMap, w, h); | 1359 (void) coverage(pts[0], pts[2], distanceMap, w, h); |
| 1358 return; | 1360 return; |
| 1359 } | 1361 } |
| 1360 SkConic split[2]; | 1362 SkConic split[2]; |
| 1361 SkConic conic; | 1363 SkConic conic; |
| 1362 conic.set(pts, weight); | 1364 conic.set(pts, weight); |
| 1363 conic.chopAt(0.5f, split); | 1365 if (conic.chopAt(0.5f, split)) { |
| 1364 conic_coverage(split[0].fPts, split[0].fW, distanceMap, w, h); | 1366 conic_coverage(split[0].fPts, split[0].fW, distanceMap, w, h); |
| 1365 conic_coverage(split[1].fPts, split[1].fW, distanceMap, w, h); | 1367 conic_coverage(split[1].fPts, split[1].fW, distanceMap, w, h); |
| 1368 } |
| 1366 } | 1369 } |
| 1367 | 1370 |
| 1368 void cubic_coverage(SkPoint pts[4], uint8_t* distanceMap, int w, int h) { | 1371 void cubic_coverage(SkPoint pts[4], uint8_t* distanceMap, int w, int h) { |
| 1369 SkScalar dist = pts[0].Distance(pts[0], pts[3]); | 1372 SkScalar dist = pts[0].Distance(pts[0], pts[3]); |
| 1370 if (dist < gCurveDistance) { | 1373 if (dist < gCurveDistance) { |
| 1371 (void) coverage(pts[0], pts[3], distanceMap, w, h); | 1374 (void) coverage(pts[0], pts[3], distanceMap, w, h); |
| 1372 return; | 1375 return; |
| 1373 } | 1376 } |
| 1374 SkPoint split[7]; | 1377 SkPoint split[7]; |
| 1375 SkChopCubicAt(pts, split, 0.5f); | 1378 SkChopCubicAt(pts, split, 0.5f); |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1860 (void) this->onClick(&click); | 1863 (void) this->onClick(&click); |
| 1861 return true; | 1864 return true; |
| 1862 } | 1865 } |
| 1863 } | 1866 } |
| 1864 } | 1867 } |
| 1865 } | 1868 } |
| 1866 return this->INHERITED::onQuery(evt); | 1869 return this->INHERITED::onQuery(evt); |
| 1867 } | 1870 } |
| 1868 | 1871 |
| 1869 DEF_SAMPLE( return new AAGeometryView; ) | 1872 DEF_SAMPLE( return new AAGeometryView; ) |
| OLD | NEW |