call premultiply instead of pack32
git-svn-id: http://skia.googlecode.com/svn/trunk@545 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/images/SkImageDecoder_libico.cpp b/src/images/SkImageDecoder_libico.cpp
index ef5b7ac..52e9e4f 100644
--- a/src/images/SkImageDecoder_libico.cpp
+++ b/src/images/SkImageDecoder_libico.cpp
@@ -351,7 +351,7 @@
int alphaBit = (alphaByte & m) >> shift;
//alphaBit == 1 => alpha = 0
int alpha = (alphaBit-1) & 0xFF;
- *address = SkPackARGB32(alpha, red & alpha, green & alpha, blue & alpha);
+ *address = SkPreMultiplyARGB(alpha, red, green, blue);
}
static void editPixelBit32(const int pixelNo, const unsigned char* buf,
@@ -364,7 +364,7 @@
int red = readByte(buf, xorOffset + 4*pixelNo + 2);
int alphaBit = (alphaByte & m) >> shift;
int alpha = readByte(buf, xorOffset + 4*pixelNo + 3) & ((alphaBit-1)&0xFF);
- *address = SkPackARGB32(alpha, red & alpha, green & alpha, blue & alpha);
+ *address = SkPreMultiplyARGB(alpha, red, green, blue);
}
/////////////////////////////////////////////////////////////////////////////////////////