aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/tileimagefilter.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2015-06-08 06:21:14 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-06-08 06:21:14 -0700
commit63195181d12751bed2fae6e167c7bed7f4a2de2a (patch)
tree7485e5166b679de2f386ac3eb6145c7e9e31c4de /gm/tileimagefilter.cpp
parent2baef5a1e104fe635c5b71fcdae159ba171c662c (diff)
Add bigtileimagefilter GM & improvements to toString
This is all the ancillary code from https://codereview.chromium.org/1152553006/ (Fix dst bound reported by SkTileImageFilter). TBR=reed@google.com, senorblanco@google.com Review URL: https://codereview.chromium.org/1169713003
Diffstat (limited to 'gm/tileimagefilter.cpp')
-rw-r--r--gm/tileimagefilter.cpp58
1 files changed, 30 insertions, 28 deletions
diff --git a/gm/tileimagefilter.cpp b/gm/tileimagefilter.cpp
index 2c4f6b2b2c..82393087b0 100644
--- a/gm/tileimagefilter.cpp
+++ b/gm/tileimagefilter.cpp
@@ -16,46 +16,48 @@
#define HEIGHT 100
#define MARGIN 12
+static SkBitmap make_bitmap() {
+ SkBitmap bitmap;
+ bitmap.allocN32Pixels(50, 50);
+ SkCanvas canvas(bitmap);
+ canvas.clear(0xFF000000);
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ sk_tool_utils::set_portable_typeface(&paint);
+ paint.setColor(0xD000D000);
+ paint.setTextSize(SkIntToScalar(50));
+ const char* str = "e";
+ canvas.drawText(str, strlen(str), SkIntToScalar(10), SkIntToScalar(45), paint);
+ return bitmap;
+}
+
+
namespace skiagm {
class TileImageFilterGM : public GM {
public:
- TileImageFilterGM() : fInitialized(false) {
+ TileImageFilterGM() {
this->setBGColor(0xFF000000);
}
protected:
- virtual SkString onShortName() {
+ SkString onShortName() override {
return SkString("tileimagefilter");
}
- void make_bitmap() {
- fBitmap.allocN32Pixels(50, 50);
- SkCanvas canvas(fBitmap);
- canvas.clear(0xFF000000);
- SkPaint paint;
- paint.setAntiAlias(true);
- sk_tool_utils::set_portable_typeface(&paint);
- paint.setColor(0xD000D000);
- paint.setTextSize(SkIntToScalar(50));
- const char* str = "e";
- canvas.drawText(str, strlen(str), SkIntToScalar(10), SkIntToScalar(45), paint);
- }
-
- virtual SkISize onISize() {
+ SkISize onISize() override{
return SkISize::Make(WIDTH, HEIGHT);
}
- virtual void onDraw(SkCanvas* canvas) {
- if (!fInitialized) {
- make_bitmap();
+ void onOnceBeforeDraw() override {
+ fBitmap = make_bitmap();
- fCheckerboard.allocN32Pixels(80, 80);
- SkCanvas checkerboardCanvas(fCheckerboard);
- sk_tool_utils::draw_checkerboard(&checkerboardCanvas, 0xFFA0A0A0, 0xFF404040, 8);
+ fCheckerboard.allocN32Pixels(80, 80);
+ SkCanvas checkerboardCanvas(fCheckerboard);
+ sk_tool_utils::draw_checkerboard(&checkerboardCanvas, 0xFFA0A0A0, 0xFF404040, 8);
+ }
- fInitialized = true;
- }
+ void onDraw(SkCanvas* canvas) override {
canvas->clear(SK_ColorBLACK);
int x = 0, y = 0;
@@ -109,14 +111,14 @@ protected:
canvas->restore();
}
private:
+ SkBitmap fBitmap;
+ SkBitmap fCheckerboard;
+
typedef GM INHERITED;
- SkBitmap fBitmap, fCheckerboard;
- bool fInitialized;
};
//////////////////////////////////////////////////////////////////////////////
-static GM* MyFactory(void*) { return new TileImageFilterGM; }
-static GMRegistry reg(MyFactory);
+DEF_GM( return SkNEW(TileImageFilterGM); )
}