add new readPixels with direct memory parameters

BUG=skia:
R=scroggo@google.com, bsalomon@google.com, robertphillips@google.com, fmalita@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/199413013

git-svn-id: http://skia.googlecode.com/svn/trunk@13840 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/PremulAlphaRoundTripTest.cpp b/tests/PremulAlphaRoundTripTest.cpp
index 1a42a9c..af041ce 100644
--- a/tests/PremulAlphaRoundTripTest.cpp
+++ b/tests/PremulAlphaRoundTripTest.cpp
@@ -39,12 +39,11 @@
 typedef uint32_t (*PackUnpremulProc)(SkColor);
 
 const struct {
-    SkColorType             fColorType;
-    PackUnpremulProc        fPackProc;
-    SkCanvas::Config8888    fConfig8888;
+    SkColorType         fColorType;
+    PackUnpremulProc    fPackProc;
 } gUnpremul[] = {
-    { kRGBA_8888_SkColorType, pack_unpremul_rgba, SkCanvas::kRGBA_Unpremul_Config8888 },
-    { kBGRA_8888_SkColorType, pack_unpremul_bgra, SkCanvas::kBGRA_Unpremul_Config8888 },
+    { kRGBA_8888_SkColorType, pack_unpremul_rgba },
+    { kBGRA_8888_SkColorType, pack_unpremul_bgra },
 };
 
 static void fillCanvas(SkCanvas* canvas, SkColorType colorType, PackUnpremulProc proc) {
@@ -99,21 +98,23 @@
             }
             SkCanvas canvas(device);
 
-            SkBitmap readBmp1;
-            readBmp1.allocN32Pixels(256, 256);
-            SkBitmap readBmp2;
-            readBmp2.allocN32Pixels(256, 256);
-
             for (size_t upmaIdx = 0; upmaIdx < SK_ARRAY_COUNT(gUnpremul); ++upmaIdx) {
                 fillCanvas(&canvas, gUnpremul[upmaIdx].fColorType, gUnpremul[upmaIdx].fPackProc);
 
+                const SkImageInfo info = SkImageInfo::Make(256, 256, gUnpremul[upmaIdx].fColorType,
+                                                           kUnpremul_SkAlphaType);
+                SkBitmap readBmp1;
+                readBmp1.allocPixels(info);
+                SkBitmap readBmp2;
+                readBmp2.allocPixels(info);
+
                 readBmp1.eraseColor(0);
                 readBmp2.eraseColor(0);
 
-                canvas.readPixels(&readBmp1, 0, 0, gUnpremul[upmaIdx].fConfig8888);
+                canvas.readPixels(&readBmp1, 0, 0);
                 sk_tool_utils::write_pixels(&canvas, readBmp1, 0, 0, gUnpremul[upmaIdx].fColorType,
                                             kUnpremul_SkAlphaType);
-                canvas.readPixels(&readBmp2, 0, 0, gUnpremul[upmaIdx].fConfig8888);
+                canvas.readPixels(&readBmp2, 0, 0);
 
                 bool success = true;
                 for (int y = 0; y < 256 && success; ++y) {