OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 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 "SkBitmap.h" | 9 #include "SkBitmap.h" |
10 #include "SkGradientShader.h" | 10 #include "SkGradientShader.h" |
11 #include "SkXfermode.h" | 11 #include "SkXfermode.h" |
12 #include "SkColorPriv.h" | 12 #include "SkColorPriv.h" |
13 | 13 |
14 #if SK_SUPPORT_GPU | 14 #if SK_SUPPORT_GPU |
15 #include "GrContext.h" | 15 #include "GrContext.h" |
16 #include "SkGpuDevice.h" | 16 #include "SkGpuDevice.h" |
17 #endif | 17 #endif |
18 | 18 |
19 namespace skiagm { | 19 namespace skiagm { |
20 | 20 |
21 /** | 21 /** |
22 * This tests drawing device-covering rects with solid colors and bitmap shaders
over a | 22 * This tests drawing device-covering rects with solid colors and bitmap shaders
over a |
23 * checkerboard background using different xfermodes. | 23 * checkerboard background using different xfermodes. |
24 */ | 24 */ |
25 class Xfermodes3GM : public GM { | 25 class Xfermodes3GM : public GM { |
26 public: | 26 public: |
27 Xfermodes3GM() {} | 27 Xfermodes3GM() {} |
28 | 28 |
29 protected: | 29 protected: |
30 virtual SkString onShortName() SK_OVERRIDE { | 30 SkString onShortName() SK_OVERRIDE { |
31 return SkString("xfermodes3"); | 31 return SkString("xfermodes3"); |
32 } | 32 } |
33 | 33 |
34 virtual SkISize onISize() SK_OVERRIDE { | 34 SkISize onISize() SK_OVERRIDE { |
35 return SkISize::Make(630, 1215); | 35 return SkISize::Make(630, 1215); |
36 } | 36 } |
37 | 37 |
38 virtual void onDrawBackground(SkCanvas* canvas) SK_OVERRIDE { | 38 void onDrawBackground(SkCanvas* canvas) SK_OVERRIDE { |
39 SkPaint bgPaint; | 39 SkPaint bgPaint; |
40 bgPaint.setColor(0xFF70D0E0); | 40 bgPaint.setColor(0xFF70D0E0); |
41 canvas->drawPaint(bgPaint); | 41 canvas->drawPaint(bgPaint); |
42 } | 42 } |
43 | 43 |
44 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { | 44 void onDraw(SkCanvas* canvas) SK_OVERRIDE { |
45 canvas->translate(SkIntToScalar(10), SkIntToScalar(20)); | 45 canvas->translate(SkIntToScalar(10), SkIntToScalar(20)); |
46 | 46 |
47 SkPaint labelP; | 47 SkPaint labelP; |
48 labelP.setAntiAlias(true); | 48 labelP.setAntiAlias(true); |
49 sk_tool_utils::set_portable_typeface(&labelP); | 49 sk_tool_utils::set_portable_typeface(&labelP); |
50 | 50 |
51 static const SkColor kSolidColors[] = { | 51 static const SkColor kSolidColors[] = { |
52 SK_ColorTRANSPARENT, | 52 SK_ColorTRANSPARENT, |
53 SK_ColorBLUE, | 53 SK_ColorBLUE, |
54 0x80808000 | 54 0x80808000 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 } | 177 } |
178 | 178 |
179 r.inset(-SK_ScalarHalf, -SK_ScalarHalf); | 179 r.inset(-SK_ScalarHalf, -SK_ScalarHalf); |
180 SkPaint borderPaint; | 180 SkPaint borderPaint; |
181 borderPaint.setStyle(SkPaint::kStroke_Style); | 181 borderPaint.setStyle(SkPaint::kStroke_Style); |
182 canvas->drawRect(r, borderPaint); | 182 canvas->drawRect(r, borderPaint); |
183 | 183 |
184 canvas->restore(); | 184 canvas->restore(); |
185 } | 185 } |
186 | 186 |
187 virtual void onOnceBeforeDraw() SK_OVERRIDE { | 187 void onOnceBeforeDraw() SK_OVERRIDE { |
188 static const uint32_t kCheckData[] = { | 188 static const uint32_t kCheckData[] = { |
189 SkPackARGB32(0xFF, 0x40, 0x40, 0x40), | 189 SkPackARGB32(0xFF, 0x40, 0x40, 0x40), |
190 SkPackARGB32(0xFF, 0xD0, 0xD0, 0xD0), | 190 SkPackARGB32(0xFF, 0xD0, 0xD0, 0xD0), |
191 SkPackARGB32(0xFF, 0xD0, 0xD0, 0xD0), | 191 SkPackARGB32(0xFF, 0xD0, 0xD0, 0xD0), |
192 SkPackARGB32(0xFF, 0x40, 0x40, 0x40) | 192 SkPackARGB32(0xFF, 0x40, 0x40, 0x40) |
193 }; | 193 }; |
194 SkBitmap bg; | 194 SkBitmap bg; |
195 bg.allocN32Pixels(2, 2, true); | 195 bg.allocN32Pixels(2, 2, true); |
196 SkAutoLockPixels bgAlp(bg); | 196 SkAutoLockPixels bgAlp(bg); |
197 memcpy(bg.getPixels(), kCheckData, sizeof(kCheckData)); | 197 memcpy(bg.getPixels(), kCheckData, sizeof(kCheckData)); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 SkAutoTUnref<SkShader> fBmpShader; | 238 SkAutoTUnref<SkShader> fBmpShader; |
239 | 239 |
240 typedef GM INHERITED; | 240 typedef GM INHERITED; |
241 }; | 241 }; |
242 | 242 |
243 ////////////////////////////////////////////////////////////////////////////// | 243 ////////////////////////////////////////////////////////////////////////////// |
244 | 244 |
245 DEF_GM(return new Xfermodes3GM;) | 245 DEF_GM(return new Xfermodes3GM;) |
246 | 246 |
247 } | 247 } |
OLD | NEW |