OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 #include "gm.h" | 8 #include "gm.h" |
9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
10 #include "SkPaint.h" | 10 #include "SkPaint.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 }; | 56 }; |
57 static const StyleAndName gStyles[] = { | 57 static const StyleAndName gStyles[] = { |
58 {SkPaint::kFill_Style, "Fill"}, | 58 {SkPaint::kFill_Style, "Fill"}, |
59 {SkPaint::kStroke_Style, "Stroke"}, | 59 {SkPaint::kStroke_Style, "Stroke"}, |
60 {SkPaint::kStrokeAndFill_Style, "Stroke And Fill"}, | 60 {SkPaint::kStrokeAndFill_Style, "Stroke And Fill"}, |
61 }; | 61 }; |
62 | 62 |
63 SkPaint titlePaint; | 63 SkPaint titlePaint; |
64 titlePaint.setColor(SK_ColorBLACK); | 64 titlePaint.setColor(SK_ColorBLACK); |
65 titlePaint.setAntiAlias(true); | 65 titlePaint.setAntiAlias(true); |
66 sk_tool_utils::set_portable_typeface(&titlePaint); | 66 sk_tool_utils::set_portable_typeface_always(&titlePaint); |
67 titlePaint.setLCDRenderText(true); | 67 titlePaint.setLCDRenderText(true); |
68 titlePaint.setTextSize(15 * SK_Scalar1); | 68 titlePaint.setTextSize(15 * SK_Scalar1); |
69 const char title[] = "Empty Paths Drawn Into Rectangle Clips With " | 69 const char title[] = "Empty Paths Drawn Into Rectangle Clips With " |
70 "Indicated Style and Fill"; | 70 "Indicated Style and Fill"; |
71 canvas->drawText(title, strlen(title), | 71 canvas->drawText(title, strlen(title), |
72 20 * SK_Scalar1, | 72 20 * SK_Scalar1, |
73 20 * SK_Scalar1, | 73 20 * SK_Scalar1, |
74 titlePaint); | 74 titlePaint); |
75 | 75 |
76 SkRandom rand; | 76 SkRandom rand; |
77 SkRect rect = SkRect::MakeWH(100*SK_Scalar1, 30*SK_Scalar1); | 77 SkRect rect = SkRect::MakeWH(100*SK_Scalar1, 30*SK_Scalar1); |
78 int i = 0; | 78 int i = 0; |
79 canvas->save(); | 79 canvas->save(); |
80 canvas->translate(10 * SK_Scalar1, 0); | 80 canvas->translate(10 * SK_Scalar1, 0); |
81 canvas->save(); | 81 canvas->save(); |
82 for (size_t style = 0; style < SK_ARRAY_COUNT(gStyles); ++style) { | 82 for (size_t style = 0; style < SK_ARRAY_COUNT(gStyles); ++style) { |
83 for (size_t fill = 0; fill < SK_ARRAY_COUNT(gFills); ++fill) { | 83 for (size_t fill = 0; fill < SK_ARRAY_COUNT(gFills); ++fill) { |
84 if (0 == i % 4) { | 84 if (0 == i % 4) { |
85 canvas->restore(); | 85 canvas->restore(); |
86 canvas->translate(0, rect.height() + 40 * SK_Scalar1); | 86 canvas->translate(0, rect.height() + 40 * SK_Scalar1); |
87 canvas->save(); | 87 canvas->save(); |
88 } else { | 88 } else { |
89 canvas->translate(rect.width() + 40 * SK_Scalar1, 0); | 89 canvas->translate(rect.width() + 40 * SK_Scalar1, 0); |
90 } | 90 } |
91 ++i; | 91 ++i; |
92 | 92 |
93 | 93 |
94 SkColor color = rand.nextU(); | 94 SkColor color = rand.nextU(); |
95 color = 0xff000000| color; // force solid | 95 color = 0xff000000 | color; // force solid |
| 96 sk_tool_utils::color_to_565(&color); |
96 this->drawEmpty(canvas, color, rect, | 97 this->drawEmpty(canvas, color, rect, |
97 gStyles[style].fStyle, gFills[fill].fFill); | 98 gStyles[style].fStyle, gFills[fill].fFill); |
98 | 99 |
99 SkPaint rectPaint; | 100 SkPaint rectPaint; |
100 rectPaint.setColor(SK_ColorBLACK); | 101 rectPaint.setColor(SK_ColorBLACK); |
101 rectPaint.setStyle(SkPaint::kStroke_Style); | 102 rectPaint.setStyle(SkPaint::kStroke_Style); |
102 rectPaint.setStrokeWidth(-1); | 103 rectPaint.setStrokeWidth(-1); |
103 rectPaint.setAntiAlias(true); | 104 rectPaint.setAntiAlias(true); |
104 canvas->drawRect(rect, rectPaint); | 105 canvas->drawRect(rect, rectPaint); |
105 | 106 |
106 SkPaint labelPaint; | 107 SkPaint labelPaint; |
107 labelPaint.setColor(color); | 108 labelPaint.setColor(color); |
108 labelPaint.setAntiAlias(true); | 109 labelPaint.setAntiAlias(true); |
109 sk_tool_utils::set_portable_typeface(&labelPaint); | 110 sk_tool_utils::set_portable_typeface_always(&labelPaint); |
110 labelPaint.setLCDRenderText(true); | |
111 labelPaint.setTextSize(12 * SK_Scalar1); | 111 labelPaint.setTextSize(12 * SK_Scalar1); |
112 canvas->drawText(gStyles[style].fName, | 112 canvas->drawText(gStyles[style].fName, |
113 strlen(gStyles[style].fName), | 113 strlen(gStyles[style].fName), |
114 0, rect.height() + 15 * SK_Scalar1, | 114 0, rect.height() + 15 * SK_Scalar1, |
115 labelPaint); | 115 labelPaint); |
116 canvas->drawText(gFills[fill].fName, | 116 canvas->drawText(gFills[fill].fName, |
117 strlen(gFills[fill].fName), | 117 strlen(gFills[fill].fName), |
118 0, rect.height() + 28 * SK_Scalar1, | 118 0, rect.height() + 28 * SK_Scalar1, |
119 labelPaint); | 119 labelPaint); |
120 } | 120 } |
121 } | 121 } |
122 canvas->restore(); | 122 canvas->restore(); |
123 canvas->restore(); | 123 canvas->restore(); |
124 } | 124 } |
125 | 125 |
126 private: | 126 private: |
127 typedef GM INHERITED; | 127 typedef GM INHERITED; |
128 }; | 128 }; |
129 | 129 |
130 ////////////////////////////////////////////////////////////////////////////// | 130 ////////////////////////////////////////////////////////////////////////////// |
131 | 131 |
132 static GM* MyFactory(void*) { return new EmptyPathGM; } | 132 static GM* MyFactory(void*) { return new EmptyPathGM; } |
133 static GMRegistry reg(MyFactory); | 133 static GMRegistry reg(MyFactory); |
134 | 134 |
135 } | 135 } |
OLD | NEW |