1. remove references to (deprecated) SkGpuCanvas
authorreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Mon, 1 Oct 2012 17:54:05 +0000 (17:54 +0000)
committerreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Mon, 1 Oct 2012 17:54:05 +0000 (17:54 +0000)
2. remove references to setDevice (soon to be deprecated)
Review URL: https://codereview.appspot.com/6597055

git-svn-id: http://skia.googlecode.com/svn/trunk@5751 2bbb7eff-a529-9590-31e7-b0007b416f81

gm/gmmain.cpp
gm/ninepatchstretch.cpp
tests/PremulAlphaRoundTripTest.cpp
tests/ReadPixelsTest.cpp
tests/ReadWriteAlphaTest.cpp
tests/WritePixelsTest.cpp

index c5a72dd8ad8cd626f946d8a6c1d0c430b23c96f3..4f833fac067465f270f78bfaf5685ce43b8f3c32 100644 (file)
@@ -306,15 +306,15 @@ static ErrorBitfield generate_image(GM* gm, const ConfigData& gRec,
     SkISize size (gm->getISize());
     setup_bitmap(gRec, size, bitmap);
 
+    SkAutoTUnref<SkCanvas> canvas;
+
     if (gRec.fBackend == kRaster_Backend) {
-        SkCanvas* canvas;
+        SkAutoTUnref<SkDevice> device(new SkDevice(*bitmap));
         if (deferred) {
-            canvas = new SkDeferredCanvas;
-            canvas->setDevice(new SkDevice(*bitmap))->unref();
+            canvas.reset(new SkDeferredCanvas(device));
         } else {
-            canvas = new SkCanvas(*bitmap);
+            canvas.reset(new SkCanvas(device));
         }
-        SkAutoUnref canvasUnref(canvas);
         invokeGM(gm, canvas);
         canvas->flush();
     }
@@ -323,21 +323,19 @@ static ErrorBitfield generate_image(GM* gm, const ConfigData& gRec,
         if (NULL == context) {
             return ERROR_NO_GPU_CONTEXT;
         }
-        SkCanvas* gc;
+        SkAutoTUnref<SkDevice> device(new SkGpuDevice(context, rt));
         if (deferred) {
-            gc = new SkDeferredCanvas;
+            canvas.reset(new SkDeferredCanvas(device));
         } else {
-            gc = new SkGpuCanvas(context, rt);
+            canvas.reset(new SkCanvas(device));
         }
-        SkAutoUnref gcUnref(gc);
-        gc->setDevice(new SkGpuDevice(context, rt))->unref();
-        invokeGM(gm, gc);
+        invokeGM(gm, canvas);
         // the device is as large as the current rendertarget, so we explicitly
         // only readback the amount we expect (in size)
         // overwrite our previous allocation
         bitmap->setConfig(SkBitmap::kARGB_8888_Config, size.fWidth,
                                                        size.fHeight);
-        gc->readPixels(bitmap, 0, 0);
+        canvas->readPixels(bitmap, 0, 0);
     }
 #endif
     return ERROR_NONE;
index fde5b6c3ae1f8a4868cb0767b667c50ea7847482..38b6f7d0127a5e41aaaaa17981eceacb7e1f9a75 100644 (file)
@@ -15,7 +15,6 @@ class GrContext;
 
 static void make_bitmap(SkBitmap* bitmap, GrContext* ctx, SkIRect* center) {
     SkDevice* dev;
-    SkCanvas canvas;
 
     const int kFixed = 28;
     const int kStretchy = 8;
@@ -33,7 +32,8 @@ static void make_bitmap(SkBitmap* bitmap, GrContext* ctx, SkIRect* center) {
         dev = new SkDevice(*bitmap);
     }
 
-    canvas.setDevice(dev)->unref();
+    SkCanvas canvas(dev);
+    dev->unref();
     canvas.clear(0);
 
     SkRect r = SkRect::MakeWH(SkIntToScalar(kSize), SkIntToScalar(kSize));
index f2f1613d95d05e6ba5a143831eb602c7a438046a..17fb42a41c19bf381a8aadd2df9f912c2025696f 100644 (file)
@@ -48,24 +48,25 @@ static const SkCanvas::Config8888 gUnpremulConfigs[] = {
 
 void PremulAlphaRoundTripTest(skiatest::Reporter* reporter,
                               GrContext* context) {
-    SkCanvas canvas;
+    SkAutoTUnref<SkDevice> device;
     for (int dtype = 0; dtype < 2; ++dtype) {
         if (0 == dtype) {
-            canvas.setDevice(new SkDevice(SkBitmap::kARGB_8888_Config,
+            device.reset(new SkDevice(SkBitmap::kARGB_8888_Config,
                                           256,
                                           256,
-                                          false))->unref();
+                                          false));
         } else {
 #if !SK_SUPPORT_GPU || defined(SK_SCALAR_IS_FIXED)
             // GPU device known not to work in the fixed pt build.
             continue;
 #else
-            canvas.setDevice(new SkGpuDevice(context,
+            device.reset(new SkGpuDevice(context,
                                              SkBitmap::kARGB_8888_Config,
                                              256,
-                                             256))->unref();
+                                             256));
 #endif
         }
+        SkCanvas canvas(device);
 
         SkBitmap readBmp1;
         readBmp1.setConfig(SkBitmap::kARGB_8888_Config, 256, 256);
index 80ced213bd99ebcfa633c24c04a2f3f0c4f8c034..8b47906315b04aab1ce150257dbe6b94d6442c07 100644 (file)
@@ -109,7 +109,7 @@ void fillCanvas(SkCanvas* canvas) {
     static SkBitmap bmp;
     if (bmp.isNull()) {
         bmp.setConfig(SkBitmap::kARGB_8888_Config, DEV_W, DEV_H);
-        bool alloc = bmp.allocPixels();
+        SkDEBUGCODE(bool alloc =) bmp.allocPixels();
         SkASSERT(alloc);
         SkAutoLockPixels alp(bmp);
         intptr_t pixels = reinterpret_cast<intptr_t>(bmp.getPixels());
@@ -255,8 +255,6 @@ void init_bitmap(SkBitmap* bitmap, const SkIRect& rect, BitmapInit init) {
 }
 
 void ReadPixelsTest(skiatest::Reporter* reporter, GrContext* context) {
-    SkCanvas canvas;
-
     const SkIRect testRects[] = {
         // entire thing
         DEV_RECT,
@@ -305,23 +303,24 @@ void ReadPixelsTest(skiatest::Reporter* reporter, GrContext* context) {
     };
 
     for (int dtype = 0; dtype < 2; ++dtype) {
-
+        SkAutoTUnref<SkDevice> device;
         if (0 == dtype) {
-            canvas.setDevice(new SkDevice(SkBitmap::kARGB_8888_Config,
+            device.reset(new SkDevice(SkBitmap::kARGB_8888_Config,
                                           DEV_W,
                                           DEV_H,
-                                          false))->unref();
+                                          false));
         } else {
 // GPU device known not to work in the fixed pt build.
 #if defined(SK_SCALAR_IS_FIXED) || !SK_SUPPORT_GPU
             continue;
 #else
-            canvas.setDevice(new SkGpuDevice(context,
+            device.reset(new SkGpuDevice(context,
                                              SkBitmap::kARGB_8888_Config,
                                              DEV_W,
-                                             DEV_H))->unref();
+                                             DEV_H));
 #endif
         }
+        SkCanvas canvas(device);
         fillCanvas(&canvas);
 
         static const SkCanvas::Config8888 gReadConfigs[] = {
index 751c9128c4e1dc62bc54b2c8f3d04c364d33f827..eea78ce6c06627e51906b976564dae294ea4141a 100644 (file)
@@ -77,9 +77,8 @@ static void ReadWriteAlphaTest(skiatest::Reporter* reporter, GrContext* context)
     REPORTER_ASSERT(reporter, match);
 
     // Now try writing on the single channel texture
-    SkCanvas canvas;
-
-    canvas.setDevice(new SkGpuDevice(context, texture->asRenderTarget()))->unref();
+    SkAutoTUnref<SkDevice> device(new SkGpuDevice(context, texture->asRenderTarget()));
+    SkCanvas canvas(device);
 
     SkPaint paint;
 
index e482fd5d8b2c701c723f859dea686b51fdec71a0..f5c4175308c87e2cbeed0c07218d0a13e8620a56 100644 (file)
@@ -301,32 +301,29 @@ static const CanvasConfig gCanvasConfigs[] = {
 #endif
 };
 
-bool setupCanvas(SkCanvas* canvas, const CanvasConfig& c, GrContext* grCtx) {
+SkDevice* createDevice(const CanvasConfig& c, GrContext* grCtx) {
     switch (c.fDevType) {
         case kRaster_DevType: {
             SkBitmap bmp;
             size_t rowBytes = c.fTightRowBytes ? 0 : 4 * DEV_W + 100;
             bmp.setConfig(SkBitmap::kARGB_8888_Config, DEV_W, DEV_H, rowBytes);
             if (!bmp.allocPixels()) {
-                return false;
+                sk_throw();
+                return NULL;
             }
             // if rowBytes isn't tight then set the padding to a known value
             if (rowBytes) {
                 SkAutoLockPixels alp(bmp);
                 memset(bmp.getPixels(), DEV_PAD, bmp.getSafeSize());
             }
-            canvas->setDevice(new SkDevice(bmp))->unref();
-            break;
+            return new SkDevice(bmp);
         }
 #if SK_SUPPORT_GPU
         case kGpu_DevType:
-            canvas->setDevice(new SkGpuDevice(grCtx,
-                                              SkBitmap::kARGB_8888_Config,
-                                              DEV_W, DEV_H))->unref();
-            break;
+            return new SkGpuDevice(grCtx, SkBitmap::kARGB_8888_Config, DEV_W, DEV_H);
 #endif
     }
-    return true;
+    return NULL;
 }
 
 bool setupBitmap(SkBitmap* bitmap,
@@ -400,7 +397,8 @@ void WritePixelsTest(skiatest::Reporter* reporter, GrContext* context) {
     };
 
     for (size_t i = 0; i < SK_ARRAY_COUNT(gCanvasConfigs); ++i) {
-        REPORTER_ASSERT(reporter, setupCanvas(&canvas, gCanvasConfigs[i], context));
+        SkAutoTUnref<SkDevice> device(createDevice(gCanvasConfigs[i], context));
+        SkCanvas canvas(device);
 
         static const SkCanvas::Config8888 gSrcConfigs[] = {
             SkCanvas::kNative_Premul_Config8888,