OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 "sk_tool_utils.h" | 8 #include "sk_tool_utils.h" |
9 #include "sk_tool_utils_flags.h" | 9 #include "sk_tool_utils_flags.h" |
10 | 10 |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 void write_pixels(SkCanvas* canvas, const SkBitmap& bitmap, int x, int y, | 171 void write_pixels(SkCanvas* canvas, const SkBitmap& bitmap, int x, int y, |
172 SkColorType colorType, SkAlphaType alphaType) { | 172 SkColorType colorType, SkAlphaType alphaType) { |
173 SkBitmap tmp(bitmap); | 173 SkBitmap tmp(bitmap); |
174 tmp.lockPixels(); | 174 tmp.lockPixels(); |
175 | 175 |
176 const SkImageInfo info = SkImageInfo::Make(tmp.width(), tmp.height(), colorT
ype, alphaType); | 176 const SkImageInfo info = SkImageInfo::Make(tmp.width(), tmp.height(), colorT
ype, alphaType); |
177 | 177 |
178 canvas->writePixels(info, tmp.getPixels(), tmp.rowBytes(), x, y); | 178 canvas->writePixels(info, tmp.getPixels(), tmp.rowBytes(), x, y); |
179 } | 179 } |
180 | 180 |
181 SkShader* create_checkerboard_shader(SkColor c1, SkColor c2, int size) { | 181 sk_sp<SkShader> create_checkerboard_shader(SkColor c1, SkColor c2, int size) { |
182 SkBitmap bm; | 182 SkBitmap bm; |
183 bm.allocN32Pixels(2 * size, 2 * size); | 183 bm.allocN32Pixels(2 * size, 2 * size); |
184 bm.eraseColor(c1); | 184 bm.eraseColor(c1); |
185 bm.eraseArea(SkIRect::MakeLTRB(0, 0, size, size), c2); | 185 bm.eraseArea(SkIRect::MakeLTRB(0, 0, size, size), c2); |
186 bm.eraseArea(SkIRect::MakeLTRB(size, size, 2 * size, 2 * size), c2); | 186 bm.eraseArea(SkIRect::MakeLTRB(size, size, 2 * size, 2 * size), c2); |
187 return SkShader::CreateBitmapShader( | 187 return SkShader::MakeBitmapShader( |
188 bm, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode); | 188 bm, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode); |
189 } | 189 } |
190 | 190 |
191 SkBitmap create_checkerboard_bitmap(int w, int h, SkColor c1, SkColor c2, int ch
eckSize) { | 191 SkBitmap create_checkerboard_bitmap(int w, int h, SkColor c1, SkColor c2, int ch
eckSize) { |
192 SkBitmap bitmap; | 192 SkBitmap bitmap; |
193 bitmap.allocN32Pixels(w, h); | 193 bitmap.allocN32Pixels(w, h); |
194 SkCanvas canvas(bitmap); | 194 SkCanvas canvas(bitmap); |
195 | 195 |
196 sk_tool_utils::draw_checkerboard(&canvas, c1, c2, checkSize); | 196 sk_tool_utils::draw_checkerboard(&canvas, c1, c2, checkSize); |
197 return bitmap; | 197 return bitmap; |
198 } | 198 } |
199 | 199 |
200 void draw_checkerboard(SkCanvas* canvas, SkColor c1, SkColor c2, int size) { | 200 void draw_checkerboard(SkCanvas* canvas, SkColor c1, SkColor c2, int size) { |
201 SkPaint paint; | 201 SkPaint paint; |
202 paint.setShader(create_checkerboard_shader(c1, c2, size))->unref(); | 202 paint.setShader(create_checkerboard_shader(c1, c2, size)); |
203 paint.setXfermodeMode(SkXfermode::kSrc_Mode); | 203 paint.setXfermodeMode(SkXfermode::kSrc_Mode); |
204 canvas->drawPaint(paint); | 204 canvas->drawPaint(paint); |
205 } | 205 } |
206 | 206 |
207 SkBitmap create_string_bitmap(int w, int h, SkColor c, int x, int y, | 207 SkBitmap create_string_bitmap(int w, int h, SkColor c, int x, int y, |
208 int textSize, const char* str) { | 208 int textSize, const char* str) { |
209 SkBitmap bitmap; | 209 SkBitmap bitmap; |
210 bitmap.allocN32Pixels(w, h); | 210 bitmap.allocN32Pixels(w, h); |
211 SkCanvas canvas(bitmap); | 211 SkCanvas canvas(bitmap); |
212 | 212 |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 for (int y = 0; y < src.height(); ++y) { | 437 for (int y = 0; y < src.height(); ++y) { |
438 for (int x = 0; x < src.width(); ++x) { | 438 for (int x = 0; x < src.width(); ++x) { |
439 *dst.getAddr32(x, y) = blur_pixel(src, x, y, kernel.get(), wh); | 439 *dst.getAddr32(x, y) = blur_pixel(src, x, y, kernel.get(), wh); |
440 } | 440 } |
441 } | 441 } |
442 | 442 |
443 return dst; | 443 return dst; |
444 } | 444 } |
445 | 445 |
446 } // namespace sk_tool_utils | 446 } // namespace sk_tool_utils |
OLD | NEW |