aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/sk_tool_utils.cpp
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2015-01-26 12:49:00 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-01-26 12:49:00 -0800
commitb0cce2c1d37d4bf5b89da6c70062209ac4e0e643 (patch)
tree4a7885c5e4c203b8b13918d19f9b9409ba013491 /tools/sk_tool_utils.cpp
parent2445216b7aa726d01918eaccd72c0650585d0314 (diff)
s/sk_tools::DrawCheckerboard/sk_tool_utils::draw_checkerboard/
Diffstat (limited to 'tools/sk_tool_utils.cpp')
-rw-r--r--tools/sk_tool_utils.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/sk_tool_utils.cpp b/tools/sk_tool_utils.cpp
index 02001238e9..560384fb7c 100644
--- a/tools/sk_tool_utils.cpp
+++ b/tools/sk_tool_utils.cpp
@@ -10,6 +10,7 @@
#include "SkBitmap.h"
#include "SkCanvas.h"
+#include "SkShader.h"
#include "SkTestScalerContext.h"
DEFINE_bool(portableFonts, false, "Use portable fonts");
@@ -59,4 +60,20 @@ void write_pixels(SkCanvas* canvas, const SkBitmap& bitmap, int x, int y,
canvas->writePixels(info, tmp.getPixels(), tmp.rowBytes(), x, y);
}
+SkShader* create_checkerboard_shader(SkColor c1, SkColor c2, int size) {
+ SkBitmap bm;
+ bm.allocN32Pixels(2 * size, 2 * size);
+ bm.eraseColor(c1);
+ bm.eraseArea(SkIRect::MakeLTRB(0, 0, size, size), c2);
+ bm.eraseArea(SkIRect::MakeLTRB(size, size, 2 * size, 2 * size), c2);
+ return SkShader::CreateBitmapShader(
+ bm, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);
+}
+
+void draw_checkerboard(SkCanvas* canvas, SkColor c1, SkColor c2, int size) {
+ SkPaint paint;
+ paint.setShader(create_checkerboard_shader(c1, c2, size))->unref();
+ canvas->drawPaint(paint);
+}
+
} // namespace sk_tool_utils