gm/bitmapcopy: create the bitmap in a secondary canvas, since the one in which we...
authorcommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 7 Aug 2013 17:03:09 +0000 (17:03 +0000)
committercommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 7 Aug 2013 17:03:09 +0000 (17:03 +0000)
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

gm/bitmapcopy.cpp

index 89ca525..ba2c510 100644 (file)
@@ -21,7 +21,8 @@ static const char* gConfigNames[] = {
 
 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 @@ protected:
         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])) {