Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(694)

Side by Side Diff: gm/emptypath.cpp

Issue 1182833004: make emptypath portable; add 565 color utility (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/sk_tool_utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 }
OLDNEW
« no previous file with comments | « no previous file | tools/sk_tool_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698