store SkAlphaType inside SkBitmap, on road to support unpremul

BUG=
R=bsalomon@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11877 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/bleed.cpp b/gm/bleed.cpp
index dc7e96f..0d09394 100644
--- a/gm/bleed.cpp
+++ b/gm/bleed.cpp
@@ -19,7 +19,8 @@
 static void make_red_ringed_bitmap(SkBitmap* result, int width, int height) {
     SkASSERT(0 == width % 2 && 0 == width % 2);
 
-    result->setConfig(SkBitmap::kARGB_8888_Config, width, height);
+    result->setConfig(SkBitmap::kARGB_8888_Config, width, height, 0,
+                      kOpaque_SkAlphaType);
     result->allocPixels();
     SkAutoLockPixels lock(*result);
 
@@ -56,7 +57,6 @@
     for (int x = 0; x < width; ++x) {
         scanline[x] = SK_ColorRED;
     }
-    result->setIsOpaque(true);
     result->setImmutable();
 }
 
diff --git a/gm/xfermodes.cpp b/gm/xfermodes.cpp
index 65f53bf..e839b0e 100644
--- a/gm/xfermodes.cpp
+++ b/gm/xfermodes.cpp
@@ -60,9 +60,8 @@
     }
 
     virtual void onOnceBeforeDraw() SK_OVERRIDE {
-        fBG.setConfig(SkBitmap::kARGB_4444_Config, 2, 2, 4);
+        fBG.setConfig(SkBitmap::kARGB_4444_Config, 2, 2, 4, kOpaque_SkAlphaType);
         fBG.setPixels(gData);
-        fBG.setIsOpaque(true);
 
         make_bitmaps(W, H, &fSrcB, &fDstB);
     }
diff --git a/gm/xfermodes2.cpp b/gm/xfermodes2.cpp
index 990ee50..046c3dd 100644
--- a/gm/xfermodes2.cpp
+++ b/gm/xfermodes2.cpp
@@ -93,11 +93,10 @@
             SkPackARGB32(0xFF, 0x40, 0x40, 0x40)
         };
         SkBitmap bg;
-        bg.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
+        bg.setConfig(SkBitmap::kARGB_8888_Config, 2, 2, 0, kOpaque_SkAlphaType);
         bg.allocPixels();
         SkAutoLockPixels bgAlp(bg);
         memcpy(bg.getPixels(), kCheckData, sizeof(kCheckData));
-        bg.setIsOpaque(true);
 
         fBG.reset(SkShader::CreateBitmapShader(bg,
                                                SkShader::kRepeat_TileMode,
diff --git a/gm/xfermodes3.cpp b/gm/xfermodes3.cpp
index baac3cd..d01c019 100644
--- a/gm/xfermodes3.cpp
+++ b/gm/xfermodes3.cpp
@@ -188,11 +188,10 @@
             SkPackARGB32(0xFF, 0x40, 0x40, 0x40)
         };
         SkBitmap bg;
-        bg.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
+        bg.setConfig(SkBitmap::kARGB_8888_Config, 2, 2, 0, kOpaque_SkAlphaType);
         bg.allocPixels();
         SkAutoLockPixels bgAlp(bg);
         memcpy(bg.getPixels(), kCheckData, sizeof(kCheckData));
-        bg.setIsOpaque(true);
 
         fBGShader.reset(SkShader::CreateBitmapShader(bg,
                                                      SkShader::kRepeat_TileMode,