| 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 #include "gm.h" | 7 #include "gm.h" |
| 8 #include "SkCanvas.h" | 8 #include "SkCanvas.h" |
| 9 #include "SkPaint.h" | 9 #include "SkPaint.h" |
| 10 #include "SkPath.h" | 10 #include "SkPath.h" |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 paint.setStrokeJoin(join); | 201 paint.setStrokeJoin(join); |
| 202 paint.setColor(color); | 202 paint.setColor(color); |
| 203 paint.setStyle(style); | 203 paint.setStyle(style); |
| 204 canvas->save(); | 204 canvas->save(); |
| 205 canvas->clipRect(clip); | 205 canvas->clipRect(clip); |
| 206 canvas->drawPath(path, paint); | 206 canvas->drawPath(path, paint); |
| 207 canvas->restore(); | 207 canvas->restore(); |
| 208 } | 208 } |
| 209 | 209 |
| 210 virtual void onDraw(SkCanvas* canvas) { | 210 virtual void onDraw(SkCanvas* canvas) { |
| 211 static const AddSegmentFunc gSegmentFunctions[] = { | 211 constexpr AddSegmentFunc gSegmentFunctions[] = { |
| 212 AddMove, | 212 AddMove, |
| 213 AddMoveClose, | 213 AddMoveClose, |
| 214 AddDegenLine, | 214 AddDegenLine, |
| 215 AddMoveDegenLine, | 215 AddMoveDegenLine, |
| 216 AddMoveDegenLineClose, | 216 AddMoveDegenLineClose, |
| 217 AddDegenQuad, | 217 AddDegenQuad, |
| 218 AddMoveDegenQuad, | 218 AddMoveDegenQuad, |
| 219 AddMoveDegenQuadClose, | 219 AddMoveDegenQuadClose, |
| 220 AddDegenCubic, | 220 AddDegenCubic, |
| 221 AddMoveDegenCubic, | 221 AddMoveDegenCubic, |
| 222 AddMoveDegenCubicClose, | 222 AddMoveDegenCubicClose, |
| 223 AddClose, | 223 AddClose, |
| 224 AddLine, | 224 AddLine, |
| 225 AddMoveLine, | 225 AddMoveLine, |
| 226 AddMoveLineClose, | 226 AddMoveLineClose, |
| 227 AddQuad, | 227 AddQuad, |
| 228 AddMoveQuad, | 228 AddMoveQuad, |
| 229 AddMoveQuadClose, | 229 AddMoveQuadClose, |
| 230 AddCubic, | 230 AddCubic, |
| 231 AddMoveCubic, | 231 AddMoveCubic, |
| 232 AddMoveCubicClose | 232 AddMoveCubicClose |
| 233 }; | 233 }; |
| 234 static const char* gSegmentNames[] = { | 234 const char* gSegmentNames[] = { |
| 235 "Move", | 235 "Move", |
| 236 "MoveClose", | 236 "MoveClose", |
| 237 "DegenLine", | 237 "DegenLine", |
| 238 "MoveDegenLine", | 238 "MoveDegenLine", |
| 239 "MoveDegenLineClose", | 239 "MoveDegenLineClose", |
| 240 "DegenQuad", | 240 "DegenQuad", |
| 241 "MoveDegenQuad", | 241 "MoveDegenQuad", |
| 242 "MoveDegenQuadClose", | 242 "MoveDegenQuadClose", |
| 243 "DegenCubic", | 243 "DegenCubic", |
| 244 "MoveDegenCubic", | 244 "MoveDegenCubic", |
| 245 "MoveDegenCubicClose", | 245 "MoveDegenCubicClose", |
| 246 "Close", | 246 "Close", |
| 247 "Line", | 247 "Line", |
| 248 "MoveLine", | 248 "MoveLine", |
| 249 "MoveLineClose", | 249 "MoveLineClose", |
| 250 "Quad", | 250 "Quad", |
| 251 "MoveQuad", | 251 "MoveQuad", |
| 252 "MoveQuadClose", | 252 "MoveQuadClose", |
| 253 "Cubic", | 253 "Cubic", |
| 254 "MoveCubic", | 254 "MoveCubic", |
| 255 "MoveCubicClose" | 255 "MoveCubicClose" |
| 256 }; | 256 }; |
| 257 | 257 |
| 258 struct FillAndName { | 258 struct FillAndName { |
| 259 SkPath::FillType fFill; | 259 SkPath::FillType fFill; |
| 260 const char* fName; | 260 const char* fName; |
| 261 }; | 261 }; |
| 262 static const FillAndName gFills[] = { | 262 constexpr FillAndName gFills[] = { |
| 263 {SkPath::kWinding_FillType, "Winding"}, | 263 {SkPath::kWinding_FillType, "Winding"}, |
| 264 {SkPath::kEvenOdd_FillType, "Even / Odd"}, | 264 {SkPath::kEvenOdd_FillType, "Even / Odd"}, |
| 265 {SkPath::kInverseWinding_FillType, "Inverse Winding"}, | 265 {SkPath::kInverseWinding_FillType, "Inverse Winding"}, |
| 266 {SkPath::kInverseEvenOdd_FillType, "Inverse Even / Odd"} | 266 {SkPath::kInverseEvenOdd_FillType, "Inverse Even / Odd"} |
| 267 }; | 267 }; |
| 268 struct StyleAndName { | 268 struct StyleAndName { |
| 269 SkPaint::Style fStyle; | 269 SkPaint::Style fStyle; |
| 270 const char* fName; | 270 const char* fName; |
| 271 }; | 271 }; |
| 272 static const StyleAndName gStyles[] = { | 272 constexpr StyleAndName gStyles[] = { |
| 273 {SkPaint::kFill_Style, "Fill"}, | 273 {SkPaint::kFill_Style, "Fill"}, |
| 274 {SkPaint::kStroke_Style, "Stroke 10"}, | 274 {SkPaint::kStroke_Style, "Stroke 10"}, |
| 275 {SkPaint::kStrokeAndFill_Style, "Stroke 10 And Fill"} | 275 {SkPaint::kStrokeAndFill_Style, "Stroke 10 And Fill"} |
| 276 }; | 276 }; |
| 277 struct CapAndName { | 277 struct CapAndName { |
| 278 SkPaint::Cap fCap; | 278 SkPaint::Cap fCap; |
| 279 SkPaint::Join fJoin; | 279 SkPaint::Join fJoin; |
| 280 const char* fName; | 280 const char* fName; |
| 281 }; | 281 }; |
| 282 static const CapAndName gCaps[] = { | 282 constexpr CapAndName gCaps[] = { |
| 283 {SkPaint::kButt_Cap, SkPaint::kBevel_Join, "Butt"}, | 283 {SkPaint::kButt_Cap, SkPaint::kBevel_Join, "Butt"}, |
| 284 {SkPaint::kRound_Cap, SkPaint::kRound_Join, "Round"}, | 284 {SkPaint::kRound_Cap, SkPaint::kRound_Join, "Round"}, |
| 285 {SkPaint::kSquare_Cap, SkPaint::kBevel_Join, "Square"} | 285 {SkPaint::kSquare_Cap, SkPaint::kBevel_Join, "Square"} |
| 286 }; | 286 }; |
| 287 | 287 |
| 288 SkPaint titlePaint; | 288 SkPaint titlePaint; |
| 289 titlePaint.setColor(SK_ColorBLACK); | 289 titlePaint.setColor(SK_ColorBLACK); |
| 290 titlePaint.setAntiAlias(true); | 290 titlePaint.setAntiAlias(true); |
| 291 sk_tool_utils::set_portable_typeface(&titlePaint); | 291 sk_tool_utils::set_portable_typeface(&titlePaint); |
| 292 titlePaint.setTextSize(15 * SK_Scalar1); | 292 titlePaint.setTextSize(15 * SK_Scalar1); |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 private: | 392 private: |
| 393 typedef GM INHERITED; | 393 typedef GM INHERITED; |
| 394 }; | 394 }; |
| 395 | 395 |
| 396 ////////////////////////////////////////////////////////////////////////////// | 396 ////////////////////////////////////////////////////////////////////////////// |
| 397 | 397 |
| 398 static GM* MyFactory(void*) { return new DegenerateSegmentsGM; } | 398 static GM* MyFactory(void*) { return new DegenerateSegmentsGM; } |
| 399 static GMRegistry reg(MyFactory); | 399 static GMRegistry reg(MyFactory); |
| 400 | 400 |
| 401 } | 401 } |
| OLD | NEW |