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])) {