| 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 #include "gm.h" | 7 #include "gm.h" |
| 8 #include "SkArithmeticMode.h" | 8 #include "SkArithmeticMode.h" |
| 9 #include "SkPath.h" | 9 #include "SkPath.h" |
| 10 #include "SkShader.h" | 10 #include "SkShader.h" |
| 11 #include "SkXfermode.h" | 11 #include "SkXfermode.h" |
| 12 | 12 |
| 13 enum { | 13 enum { |
| 14 kXfermodeCount = SkXfermode::kLastMode + 2, // All xfermodes plus arithmetic
mode. | 14 kXfermodeCount = SkXfermode::kLastMode + 2, // All xfermodes plus arithmetic
mode. |
| 15 kShapeSize = 22, | 15 kShapeSize = 22, |
| 16 kShapeSpacing = 36, | 16 kShapeSpacing = 36, |
| 17 kShapeTypeSpacing = 4 * kShapeSpacing / 3, | 17 kShapeTypeSpacing = 4 * kShapeSpacing / 3, |
| 18 kPaintSpacing = 4 * kShapeTypeSpacing, | 18 kPaintSpacing = 4 * kShapeTypeSpacing, |
| 19 kLabelSpacing = 3 * kShapeSize, | 19 kLabelSpacing = 3 * kShapeSize, |
| 20 kMargin = kShapeSpacing / 2, | 20 kMargin = kShapeSpacing / 2, |
| 21 kXfermodeTypeSpacing = kLabelSpacing + 2 * kPaintSpacing + kShapeTypeSpacing
, | 21 kXfermodeTypeSpacing = kLabelSpacing + 2 * kPaintSpacing + kShapeTypeSpacing
, |
| 22 kTitleSpacing = 3 * kShapeSpacing / 4, | 22 kTitleSpacing = 3 * kShapeSpacing / 4, |
| 23 kSubtitleSpacing = 5 * kShapeSpacing / 8 | 23 kSubtitleSpacing = 5 * kShapeSpacing / 8 |
| 24 }; | 24 }; |
| 25 | 25 |
| 26 static const SkColor kBGColor = SkColorSetARGB(200, 210, 184, 135); | 26 constexpr SkColor kBGColor = 0xc8d2b887; |
| 27 | 27 |
| 28 static const SkColor kShapeColors[2] = { | 28 constexpr SkColor kShapeColors[2] = { |
| 29 SkColorSetARGB(130, 255, 0, 128), // input color unknown | 29 0x82ff0080, // input color unknown |
| 30 SkColorSetARGB(255, 0, 255, 255) // input color opaque | 30 0xff00ffff, // input color opaque |
| 31 }; | 31 }; |
| 32 | 32 |
| 33 enum Shape { | 33 enum Shape { |
| 34 kSquare_Shape, | 34 kSquare_Shape, |
| 35 kDiamond_Shape, | 35 kDiamond_Shape, |
| 36 kOval_Shape, | 36 kOval_Shape, |
| 37 kConcave_Shape, | 37 kConcave_Shape, |
| 38 | 38 |
| 39 kLast_Shape = kConcave_Shape | 39 kLast_Shape = kConcave_Shape |
| 40 }; | 40 }; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 66 2 * kMargin + kTitleSpacing + kSubtitleSpacing + | 66 2 * kMargin + kTitleSpacing + kSubtitleSpacing + |
| 67 (1 + SkXfermode::kLastCoeffMode) * kShapeSpacing); | 67 (1 + SkXfermode::kLastCoeffMode) * kShapeSpacing); |
| 68 } | 68 } |
| 69 | 69 |
| 70 void onOnceBeforeDraw() override { | 70 void onOnceBeforeDraw() override { |
| 71 fLabelPaint.setAntiAlias(true); | 71 fLabelPaint.setAntiAlias(true); |
| 72 sk_tool_utils::set_portable_typeface(&fLabelPaint); | 72 sk_tool_utils::set_portable_typeface(&fLabelPaint); |
| 73 fLabelPaint.setTextSize(5 * kShapeSize/8); | 73 fLabelPaint.setTextSize(5 * kShapeSize/8); |
| 74 fLabelPaint.setSubpixelText(true); | 74 fLabelPaint.setSubpixelText(true); |
| 75 | 75 |
| 76 static const SkScalar radius = -1.4f * kShapeSize/2; | 76 constexpr SkScalar radius = -1.4f * kShapeSize/2; |
| 77 SkPoint pts[4] = { | 77 SkPoint pts[4] = { |
| 78 {-radius, 0}, | 78 {-radius, 0}, |
| 79 {0, -1.33f * radius}, | 79 {0, -1.33f * radius}, |
| 80 {radius, 0}, | 80 {radius, 0}, |
| 81 {0, 1.33f * radius} | 81 {0, 1.33f * radius} |
| 82 }; | 82 }; |
| 83 fOval.moveTo(pts[0]); | 83 fOval.moveTo(pts[0]); |
| 84 fOval.quadTo(pts[1], pts[2]); | 84 fOval.quadTo(pts[1], pts[2]); |
| 85 fOval.quadTo(pts[3], pts[0]); | 85 fOval.quadTo(pts[3], pts[0]); |
| 86 | 86 |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 | 275 |
| 276 typedef GM INHERITED; | 276 typedef GM INHERITED; |
| 277 }; | 277 }; |
| 278 | 278 |
| 279 ////////////////////////////////////////////////////////////////////////////// | 279 ////////////////////////////////////////////////////////////////////////////// |
| 280 | 280 |
| 281 static GM* MyFactory(void*) { return new AAXfermodesGM; } | 281 static GM* MyFactory(void*) { return new AAXfermodesGM; } |
| 282 static GMRegistry reg(MyFactory); | 282 static GMRegistry reg(MyFactory); |
| 283 | 283 |
| 284 } | 284 } |
| OLD | NEW |