gm/bitmapcopy: create the bitmap in a secondary canvas, since the one in which we draw might be backed by PDF and then accessBitmap does not work.
R=borenet@google.com, jvanverth@google.com
Author: edisonn@google.com
Review URL: https://chromiumcodereview.appspot.com/22353006
git-svn-id: http://skia.googlecode.com/svn/trunk@10614 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/bitmapcopy.cpp b/gm/bitmapcopy.cpp
index 89ca525..ba2c510 100644
--- a/gm/bitmapcopy.cpp
+++ b/gm/bitmapcopy.cpp
@@ -21,7 +21,8 @@
SkBitmap::Config gConfigs[] = {
SkBitmap::kRGB_565_Config,
- SkBitmap::kARGB_4444_Config,
+ SkBitmap::kARGB_4444_Config, // TODO(edisonn): Should we remove it from GM?
+ // it fails to copy in bitmap with this config.
SkBitmap::kARGB_8888_Config,
};
@@ -65,8 +66,11 @@
SkScalar horizMargin(SkIntToScalar(10));
SkScalar vertMargin(SkIntToScalar(10));
- draw_checks(canvas, 40, 40);
- SkBitmap src = canvas->getTopDevice()->accessBitmap(false);
+ SkDevice devTmp(SkBitmap::kARGB_8888_Config, 40, 40);
+ SkCanvas canvasTmp(&devTmp);
+
+ draw_checks(&canvasTmp, 40, 40);
+ SkBitmap src = canvasTmp.getTopDevice()->accessBitmap(false);
for (unsigned i = 0; i < NUM_CONFIGS; ++i) {
if (!src.deepCopyTo(&fDst[i], gConfigs[i])) {