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
diff --git a/gm/bitmapfilters.cpp b/gm/bitmapfilters.cpp
index cf98dcd..92c7b43 100644
--- a/gm/bitmapfilters.cpp
+++ b/gm/bitmapfilters.cpp
@@ -78,14 +78,21 @@
}
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 @@
}
virtual void onDraw(SkCanvas* canvas) {
+ this->init();
SkScalar x = SkIntToScalar(10);
SkScalar y = SkIntToScalar(10);