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

Side by Side Diff: gm/xfermodes3.cpp

Issue 2396953002: Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints" (Closed)
Patch Set: add tmp virtual to unroll legacy arithmodes Created 4 years, 2 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 | « gm/xfermodes2.cpp ('k') | gyp/skia_for_android_framework_defines.gypi » ('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 * Copyright 2013 Google Inc. 2 * Copyright 2013 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 "SkBitmap.h" 9 #include "SkBitmap.h"
10 #include "SkGradientShader.h" 10 #include "SkGradientShader.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 auto tempSurface(this->possiblyCreateTempSurface(canvas, kSize, kSize)); 62 auto tempSurface(this->possiblyCreateTempSurface(canvas, kSize, kSize));
63 63
64 int test = 0; 64 int test = 0;
65 int x = 0, y = 0; 65 int x = 0, y = 0;
66 constexpr struct { SkPaint::Style fStyle; SkScalar fWidth; } kStrokes[] = { 66 constexpr struct { SkPaint::Style fStyle; SkScalar fWidth; } kStrokes[] = {
67 {SkPaint::kFill_Style, 0}, 67 {SkPaint::kFill_Style, 0},
68 {SkPaint::kStroke_Style, SkIntToScalar(kSize) / 2}, 68 {SkPaint::kStroke_Style, SkIntToScalar(kSize) / 2},
69 }; 69 };
70 for (size_t s = 0; s < SK_ARRAY_COUNT(kStrokes); ++s) { 70 for (size_t s = 0; s < SK_ARRAY_COUNT(kStrokes); ++s) {
71 for (size_t m = 0; m <= SkXfermode::kLastMode; ++m) { 71 for (size_t m = 0; m <= SkXfermode::kLastMode; ++m) {
72 SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(m); 72 SkBlendMode mode = static_cast<SkBlendMode>(m);
73 canvas->drawText(SkXfermode::ModeName(mode), 73 canvas->drawText(SkXfermode::ModeName(mode),
74 strlen(SkXfermode::ModeName(mode)), 74 strlen(SkXfermode::ModeName(mode)),
75 SkIntToScalar(x), 75 SkIntToScalar(x),
76 SkIntToScalar(y + kSize + 3) + labelP.getTextSi ze(), 76 SkIntToScalar(y + kSize + 3) + labelP.getTextSi ze(),
77 labelP); 77 labelP);
78 for (size_t c = 0; c < SK_ARRAY_COUNT(kSolidColors); ++c) { 78 for (size_t c = 0; c < SK_ARRAY_COUNT(kSolidColors); ++c) {
79 SkPaint modePaint; 79 SkPaint modePaint;
80 modePaint.setXfermodeMode(mode); 80 modePaint.setBlendMode(mode);
81 modePaint.setColor(kSolidColors[c]); 81 modePaint.setColor(kSolidColors[c]);
82 modePaint.setStyle(kStrokes[s].fStyle); 82 modePaint.setStyle(kStrokes[s].fStyle);
83 modePaint.setStrokeWidth(kStrokes[s].fWidth); 83 modePaint.setStrokeWidth(kStrokes[s].fWidth);
84 84
85 this->drawMode(canvas, x, y, kSize, kSize, modePaint, tempSu rface.get()); 85 this->drawMode(canvas, x, y, kSize, kSize, modePaint, tempSu rface.get());
86 86
87 ++test; 87 ++test;
88 x += kSize + 10; 88 x += kSize + 10;
89 if (!(test % kTestsPerRow)) { 89 if (!(test % kTestsPerRow)) {
90 x = 0; 90 x = 0;
91 y += kSize + 30; 91 y += kSize + 30;
92 } 92 }
93 } 93 }
94 for (size_t a = 0; a < SK_ARRAY_COUNT(kBmpAlphas); ++a) { 94 for (size_t a = 0; a < SK_ARRAY_COUNT(kBmpAlphas); ++a) {
95 SkPaint modePaint; 95 SkPaint modePaint;
96 modePaint.setXfermodeMode(mode); 96 modePaint.setBlendMode(mode);
97 modePaint.setAlpha(kBmpAlphas[a]); 97 modePaint.setAlpha(kBmpAlphas[a]);
98 modePaint.setShader(fBmpShader); 98 modePaint.setShader(fBmpShader);
99 modePaint.setStyle(kStrokes[s].fStyle); 99 modePaint.setStyle(kStrokes[s].fStyle);
100 modePaint.setStrokeWidth(kStrokes[s].fWidth); 100 modePaint.setStrokeWidth(kStrokes[s].fWidth);
101 101
102 this->drawMode(canvas, x, y, kSize, kSize, modePaint, tempSu rface.get()); 102 this->drawMode(canvas, x, y, kSize, kSize, modePaint, tempSu rface.get());
103 103
104 ++test; 104 ++test;
105 x += kSize + 10; 105 x += kSize + 10;
106 if (!(test % kTestsPerRow)) { 106 if (!(test % kTestsPerRow)) {
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 sk_sp<SkShader> fBmpShader; 221 sk_sp<SkShader> fBmpShader;
222 222
223 typedef GM INHERITED; 223 typedef GM INHERITED;
224 }; 224 };
225 225
226 ////////////////////////////////////////////////////////////////////////////// 226 //////////////////////////////////////////////////////////////////////////////
227 227
228 DEF_GM(return new Xfermodes3GM;) 228 DEF_GM(return new Xfermodes3GM;)
229 229
230 } 230 }
OLDNEW
« no previous file with comments | « gm/xfermodes2.cpp ('k') | gyp/skia_for_android_framework_defines.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698