diff options
author | 2012-03-08 22:13:04 +0000 | |
---|---|---|
committer | 2012-03-08 22:13:04 +0000 | |
commit | 26b73d31282aa13f476fa140cb82bd624b31d4bb (patch) | |
tree | 36738bad40b1dcbc9dbd7fa836fbbce50c8ac993 /gm/bitmapfilters.cpp | |
parent | a1bfa214c55fc1332a43c0343c909549f4178d05 (diff) |
defer any drawing until our first time, so we don't do it in our
constructor (which may get called multiple times)
git-svn-id: http://skia.googlecode.com/svn/trunk@3352 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/bitmapfilters.cpp')
-rw-r--r-- | gm/bitmapfilters.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/gm/bitmapfilters.cpp b/gm/bitmapfilters.cpp index cf98dcdd79..92c7b43dbb 100644 --- a/gm/bitmapfilters.cpp +++ b/gm/bitmapfilters.cpp @@ -78,14 +78,21 @@ static SkScalar draw_row(SkCanvas* canvas, const SkBitmap& bm) { } class FilterGM : public GM { -public: - SkBitmap fBM8, fBM4444, fBM16, fBM32; - - FilterGM() { + bool fOnce; + void init() { + if (fOnce) { + return; + } + fOnce = true; make_bm(&fBM8); fBM8.copyTo(&fBM4444, SkBitmap::kARGB_4444_Config); fBM8.copyTo(&fBM16, SkBitmap::kRGB_565_Config); fBM8.copyTo(&fBM32, SkBitmap::kARGB_8888_Config); + } +public: + SkBitmap fBM8, fBM4444, fBM16, fBM32; + + FilterGM() : fOnce(false) { this->setBGColor(0xFFDDDDDD); } @@ -99,6 +106,7 @@ protected: } virtual void onDraw(SkCanvas* canvas) { + this->init(); SkScalar x = SkIntToScalar(10); SkScalar y = SkIntToScalar(10); |