| OLD | NEW |
| 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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 SkPackARGB32(0xFF, 0xD6, 0xD3, 0xD6), | 178 SkPackARGB32(0xFF, 0xD6, 0xD3, 0xD6), |
| 179 SkPackARGB32(0xFF, 0x42, 0x41, 0x42) | 179 SkPackARGB32(0xFF, 0x42, 0x41, 0x42) |
| 180 }; | 180 }; |
| 181 SkBitmap bg; | 181 SkBitmap bg; |
| 182 bg.allocN32Pixels(2, 2, true); | 182 bg.allocN32Pixels(2, 2, true); |
| 183 SkAutoLockPixels bgAlp(bg); | 183 SkAutoLockPixels bgAlp(bg); |
| 184 memcpy(bg.getPixels(), kCheckData, sizeof(kCheckData)); | 184 memcpy(bg.getPixels(), kCheckData, sizeof(kCheckData)); |
| 185 | 185 |
| 186 SkMatrix lm; | 186 SkMatrix lm; |
| 187 lm.setScale(SkIntToScalar(kCheckSize), SkIntToScalar(kCheckSize)); | 187 lm.setScale(SkIntToScalar(kCheckSize), SkIntToScalar(kCheckSize)); |
| 188 fBGShader.reset(SkShader::CreateBitmapShader(bg, | 188 fBGShader = SkShader::MakeBitmapShader(bg, SkShader::kRepeat_TileMode, |
| 189 SkShader::kRepeat_TileMode, | 189 SkShader::kRepeat_TileMode, &lm); |
| 190 SkShader::kRepeat_TileMode, | |
| 191 &lm)); | |
| 192 | 190 |
| 193 SkPaint bmpPaint; | 191 SkPaint bmpPaint; |
| 194 static const SkPoint kCenter = { SkIntToScalar(kSize) / 2, SkIntToScalar
(kSize) / 2 }; | 192 const SkPoint kCenter = { SkIntToScalar(kSize) / 2, SkIntToScalar(kSize)
/ 2 }; |
| 195 static const SkColor kColors[] = { SK_ColorTRANSPARENT, 0x80800000, | 193 const SkColor kColors[] = { |
| 196 0xF020F060, SK_ColorWHITE }; | 194 SK_ColorTRANSPARENT, 0x80800000, 0xF020F060, SK_ColorWHITE |
| 197 bmpPaint.setShader(SkGradientShader::CreateRadial(kCenter, | 195 }; |
| 198 3 * SkIntToScalar(kSiz
e) / 4, | 196 bmpPaint.setShader(SkGradientShader::MakeRadial(kCenter, 3 * SkIntToScal
ar(kSize) / 4, |
| 199 kColors, | 197 kColors, nullptr, SK_ARR
AY_COUNT(kColors), |
| 200 nullptr, | 198 SkShader::kRepeat_TileMo
de)); |
| 201 SK_ARRAY_COUNT(kColors
), | |
| 202 SkShader::kRepeat_Tile
Mode))->unref(); | |
| 203 | 199 |
| 204 SkBitmap bmp; | 200 SkBitmap bmp; |
| 205 bmp.allocN32Pixels(kSize, kSize); | 201 bmp.allocN32Pixels(kSize, kSize); |
| 206 SkCanvas bmpCanvas(bmp); | 202 SkCanvas bmpCanvas(bmp); |
| 207 | 203 |
| 208 bmpCanvas.clear(SK_ColorTRANSPARENT); | 204 bmpCanvas.clear(SK_ColorTRANSPARENT); |
| 209 SkRect rect = { SkIntToScalar(kSize) / 8, SkIntToScalar(kSize) / 8, | 205 SkRect rect = { SkIntToScalar(kSize) / 8, SkIntToScalar(kSize) / 8, |
| 210 7 * SkIntToScalar(kSize) / 8, 7 * SkIntToScalar(kSize) /
8}; | 206 7 * SkIntToScalar(kSize) / 8, 7 * SkIntToScalar(kSize) /
8}; |
| 211 bmpCanvas.drawRect(rect, bmpPaint); | 207 bmpCanvas.drawRect(rect, bmpPaint); |
| 212 | 208 |
| 213 fBmpShader.reset(SkShader::CreateBitmapShader(bmp, | 209 fBmpShader = SkShader::MakeBitmapShader(bmp, SkShader::kClamp_TileMode, |
| 214 SkShader::kClamp_TileMode, | 210 SkShader::kClamp_TileMode); |
| 215 SkShader::kClamp_TileMode)
); | |
| 216 } | 211 } |
| 217 | 212 |
| 218 enum { | 213 enum { |
| 219 kCheckSize = 8, | 214 kCheckSize = 8, |
| 220 kSize = 30, | 215 kSize = 30, |
| 221 kTestsPerRow = 15, | 216 kTestsPerRow = 15, |
| 222 }; | 217 }; |
| 223 | 218 |
| 224 SkAutoTUnref<SkShader> fBGShader; | 219 sk_sp<SkShader> fBGShader; |
| 225 SkAutoTUnref<SkShader> fBmpShader; | 220 sk_sp<SkShader> fBmpShader; |
| 226 | 221 |
| 227 typedef GM INHERITED; | 222 typedef GM INHERITED; |
| 228 }; | 223 }; |
| 229 | 224 |
| 230 ////////////////////////////////////////////////////////////////////////////// | 225 ////////////////////////////////////////////////////////////////////////////// |
| 231 | 226 |
| 232 DEF_GM(return new Xfermodes3GM;) | 227 DEF_GM(return new Xfermodes3GM;) |
| 233 | 228 |
| 234 } | 229 } |
| OLD | NEW |