| Index: gm/tileimagefilter.cpp
|
| diff --git a/gm/tileimagefilter.cpp b/gm/tileimagefilter.cpp
|
| index 2c4f6b2b2c80023128c456a1ea47ca69acc9740d..82393087b04b68349477f5700fe0832630524716 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); )
|
|
|
| }
|
|
|