OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 "gm.h" | 8 #include "gm.h" |
9 #include "SkPath.h" | 9 #include "SkPath.h" |
10 | 10 |
11 typedef SkScalar (*MakePathProc)(SkPath*); | 11 typedef SkScalar (*MakePathProc)(SkPath*); |
12 | 12 |
13 static SkScalar make_frame(SkPath* path) { | 13 static SkScalar make_frame(SkPath* path) { |
14 SkRect r = { SkIntToScalar(10), SkIntToScalar(10), | 14 SkRect r = { SkIntToScalar(10), SkIntToScalar(10), |
15 SkIntToScalar(630), SkIntToScalar(470) }; | 15 SkIntToScalar(630), SkIntToScalar(470) }; |
16 path->addRoundRect(r, SkIntToScalar(15), SkIntToScalar(15)); | 16 path->addRoundRect(r, SkIntToScalar(15), SkIntToScalar(15)); |
17 | 17 |
18 SkPaint paint; | 18 SkPaint paint; |
19 paint.setStyle(SkPaint::kStroke_Style); | 19 paint.setStyle(SkPaint::kStroke_Style); |
20 paint.setStrokeWidth(SkIntToScalar(5)); | 20 paint.setStrokeWidth(SkIntToScalar(5)); |
21 paint.getFillPath(*path, path); | 21 paint.getFillPath(*path, path); |
22 return SkIntToScalar(15); | 22 return SkIntToScalar(15); |
23 } | 23 } |
24 | 24 |
25 static SkScalar make_triangle(SkPath* path) { | 25 static SkScalar make_triangle(SkPath* path) { |
26 static const int gCoord[] = { | 26 constexpr int gCoord[] = { |
27 10, 20, 15, 5, 30, 30 | 27 10, 20, 15, 5, 30, 30 |
28 }; | 28 }; |
29 path->moveTo(SkIntToScalar(gCoord[0]), SkIntToScalar(gCoord[1])); | 29 path->moveTo(SkIntToScalar(gCoord[0]), SkIntToScalar(gCoord[1])); |
30 path->lineTo(SkIntToScalar(gCoord[2]), SkIntToScalar(gCoord[3])); | 30 path->lineTo(SkIntToScalar(gCoord[2]), SkIntToScalar(gCoord[3])); |
31 path->lineTo(SkIntToScalar(gCoord[4]), SkIntToScalar(gCoord[5])); | 31 path->lineTo(SkIntToScalar(gCoord[4]), SkIntToScalar(gCoord[5])); |
32 path->close(); | 32 path->close(); |
33 path->offset(SkIntToScalar(10), SkIntToScalar(0)); | 33 path->offset(SkIntToScalar(10), SkIntToScalar(0)); |
34 return SkIntToScalar(30); | 34 return SkIntToScalar(30); |
35 } | 35 } |
36 | 36 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 path->moveTo(SkIntToScalar(30), SkIntToScalar(30)); | 95 path->moveTo(SkIntToScalar(30), SkIntToScalar(30)); |
96 path->lineTo(SkIntToScalar(120), SkIntToScalar(40)); | 96 path->lineTo(SkIntToScalar(120), SkIntToScalar(40)); |
97 path->close(); | 97 path->close(); |
98 path->moveTo(SkIntToScalar(150), SkIntToScalar(30)); | 98 path->moveTo(SkIntToScalar(150), SkIntToScalar(30)); |
99 path->lineTo(SkIntToScalar(150), SkIntToScalar(30)); | 99 path->lineTo(SkIntToScalar(150), SkIntToScalar(30)); |
100 path->lineTo(SkIntToScalar(300), SkIntToScalar(40)); | 100 path->lineTo(SkIntToScalar(300), SkIntToScalar(40)); |
101 path->close(); | 101 path->close(); |
102 return SkIntToScalar(40); | 102 return SkIntToScalar(40); |
103 } | 103 } |
104 | 104 |
105 static const MakePathProc gProcs[] = { | 105 constexpr MakePathProc gProcs[] = { |
106 make_frame, | 106 make_frame, |
107 make_triangle, | 107 make_triangle, |
108 make_rect, | 108 make_rect, |
109 make_oval, | 109 make_oval, |
110 make_sawtooth, | 110 make_sawtooth, |
111 make_star_5, | 111 make_star_5, |
112 make_star_13, | 112 make_star_13, |
113 make_line, | 113 make_line, |
114 }; | 114 }; |
115 | 115 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 // Rotated path, which is not antialiased on GPU | 232 // Rotated path, which is not antialiased on GPU |
233 p.setColor(SK_ColorRED); | 233 p.setColor(SK_ColorRED); |
234 canvas->rotate(90); | 234 canvas->rotate(90); |
235 canvas->drawPath(path, p); | 235 canvas->drawPath(path, p); |
236 } | 236 } |
237 | 237 |
238 /////////////////////////////////////////////////////////////////////////////// | 238 /////////////////////////////////////////////////////////////////////////////// |
239 | 239 |
240 DEF_GM( return new PathFillGM; ) | 240 DEF_GM( return new PathFillGM; ) |
241 DEF_GM( return new PathInverseFillGM; ) | 241 DEF_GM( return new PathInverseFillGM; ) |
OLD | NEW |