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 | 7 |
8 #include "gm.h" | 8 #include "gm.h" |
9 | 9 |
10 #include "Resources.h" | 10 #include "Resources.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 } | 68 } |
69 advance(); | 69 advance(); |
70 }; | 70 }; |
71 | 71 |
72 auto nextBitmap = [&](const SkBitmap& bmp, const char* label) { | 72 auto nextBitmap = [&](const SkBitmap& bmp, const char* label) { |
73 canvas->drawBitmap(bmp, 0, 0); | 73 canvas->drawBitmap(bmp, 0, 0); |
74 canvas->drawText(label, strlen(label), 0, sz + textPaint.getFontSpacing(
), textPaint); | 74 canvas->drawText(label, strlen(label), 0, sz + textPaint.getFontSpacing(
), textPaint); |
75 advance(); | 75 advance(); |
76 }; | 76 }; |
77 | 77 |
78 auto nextXferRect = [&](SkColor srcColor, SkXfermode::Mode mode, SkColor dst
Color) { | 78 auto nextXferRect = [&](SkColor srcColor, SkBlendMode mode, SkColor dstColor
) { |
79 p.setColor(dstColor); | 79 p.setColor(dstColor); |
80 canvas->drawRect(r, p); | 80 canvas->drawRect(r, p); |
81 p.setColor(srcColor); | 81 p.setColor(srcColor); |
82 p.setXfermodeMode(mode); | 82 p.setBlendMode(mode); |
83 canvas->drawRect(r, p); | 83 canvas->drawRect(r, p); |
84 | 84 |
85 SkString srcText = SkStringPrintf("%08X", srcColor); | 85 SkString srcText = SkStringPrintf("%08X", srcColor); |
86 SkString dstText = SkStringPrintf("%08X", dstColor); | 86 SkString dstText = SkStringPrintf("%08X", dstColor); |
87 canvas->drawText(srcText.c_str(), srcText.size(), 0, sz + textPaint.getF
ontSpacing(), | 87 canvas->drawText(srcText.c_str(), srcText.size(), 0, sz + textPaint.getF
ontSpacing(), |
88 textPaint); | 88 textPaint); |
89 const char* modeName = SkXfermode::ModeName(mode); | 89 const char* modeName = SkXfermode::ModeName(mode); |
90 canvas->drawText(modeName, strlen(modeName), 0, sz + 2 * textPaint.getFo
ntSpacing(), | 90 canvas->drawText(modeName, strlen(modeName), 0, sz + 2 * textPaint.getFo
ntSpacing(), |
91 textPaint); | 91 textPaint); |
92 canvas->drawText(dstText.c_str(), dstText.size(), 0, sz + 3 * textPaint.
getFontSpacing(), | 92 canvas->drawText(dstText.c_str(), dstText.size(), 0, sz + 3 * textPaint.
getFontSpacing(), |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 nextRect("sRGB BMP", "Shader"); | 200 nextRect("sRGB BMP", "Shader"); |
201 | 201 |
202 // Carriage return. | 202 // Carriage return. |
203 canvas->restore(); | 203 canvas->restore(); |
204 canvas->translate(0, 2 * sz); | 204 canvas->translate(0, 2 * sz); |
205 | 205 |
206 // Xfermode tests, all done off-screen so certain modes work... | 206 // Xfermode tests, all done off-screen so certain modes work... |
207 | 207 |
208 canvas->saveLayer(nullptr, nullptr); | 208 canvas->saveLayer(nullptr, nullptr); |
209 | 209 |
210 nextXferRect(0x7fffffff, SkXfermode::kSrcOver_Mode, SK_ColorBLACK); | 210 nextXferRect(0x7fffffff, SkBlendMode::kSrcOver, SK_ColorBLACK); |
211 nextXferRect(0x7f000000, SkXfermode::kSrcOver_Mode, SK_ColorWHITE); | 211 nextXferRect(0x7f000000, SkBlendMode::kSrcOver, SK_ColorWHITE); |
212 | 212 |
213 nextXferRect(SK_ColorBLACK, SkXfermode::kDstOver_Mode, 0x7fffffff); | 213 nextXferRect(SK_ColorBLACK, SkBlendMode::kDstOver, 0x7fffffff); |
214 nextXferRect(SK_ColorWHITE, SkXfermode::kSrcIn_Mode, 0x7fff00ff); | 214 nextXferRect(SK_ColorWHITE, SkBlendMode::kSrcIn, 0x7fff00ff); |
215 nextXferRect(0x7fff00ff, SkXfermode::kDstIn_Mode, SK_ColorWHITE); | 215 nextXferRect(0x7fff00ff, SkBlendMode::kDstIn, SK_ColorWHITE); |
216 | 216 |
217 // 0x89 = 255 * linear_to_srgb(0.25) | 217 // 0x89 = 255 * linear_to_srgb(0.25) |
218 nextXferRect(0xff898989, SkXfermode::kPlus_Mode, 0xff898989); | 218 nextXferRect(0xff898989, SkBlendMode::kPlus, 0xff898989); |
219 | 219 |
220 // 0xDB = 255 * linear_to_srgb(sqrt(0.5)) | 220 // 0xDB = 255 * linear_to_srgb(sqrt(0.5)) |
221 nextXferRect(0xffdbdbdb, SkXfermode::kModulate_Mode, 0xffdbdbdb); | 221 nextXferRect(0xffdbdbdb, SkBlendMode::kModulate, 0xffdbdbdb); |
222 | 222 |
223 canvas->restore(); | 223 canvas->restore(); |
224 } | 224 } |
OLD | NEW |