diff options
author | Chris Craik <ccraik@google.com> | 2015-07-27 17:23:52 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-07-27 17:23:52 +0000 |
commit | 4604c1dc67f634e1fac37f623f5b093615d49f0f (patch) | |
tree | fa11cc4c3d87e9299efcf3356852dcb77aaed8f9 | |
parent | fef1b28917df9a23b28ec5e5e7f83097b8574550 (diff) | |
parent | 6260b22501996d2e7a0323b493ae6c4badb93c28 (diff) | |
download | frameworks_base-4604c1dc67f634e1fac37f623f5b093615d49f0f.zip frameworks_base-4604c1dc67f634e1fac37f623f5b093615d49f0f.tar.gz frameworks_base-4604c1dc67f634e1fac37f623f5b093615d49f0f.tar.bz2 |
Merge "Fix bitmap get/set pixels for ALPHA_8" into mnc-dev
-rwxr-xr-x | core/jni/android/graphics/Bitmap.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp index 0d80a7f..670d3c0 100755 --- a/core/jni/android/graphics/Bitmap.cpp +++ b/core/jni/android/graphics/Bitmap.cpp @@ -475,6 +475,14 @@ static void FromColor_D4444_Raw(void* dst, const SkColor src[], int width, } } +static void FromColor_DA8(void* dst, const SkColor src[], int width, int x, int y) { + uint8_t* d = (uint8_t*)dst; + + for (int stop = x + width; x < stop; x++) { + *d++ = SkColorGetA(*src++); + } +} + // can return NULL static FromColorProc ChooseFromColorProc(const SkBitmap& bitmap) { switch (bitmap.colorType()) { @@ -485,6 +493,8 @@ static FromColorProc ChooseFromColorProc(const SkBitmap& bitmap) { FromColor_D4444_Raw; case kRGB_565_SkColorType: return FromColor_D565; + case kAlpha_8_SkColorType: + return FromColor_DA8; default: break; } @@ -632,6 +642,15 @@ static void ToColor_SI8_Opaque(SkColor dst[], const void* src, int width, } while (--width != 0); } +static void ToColor_SA8(SkColor dst[], const void* src, int width, SkColorTable*) { + SkASSERT(width > 0); + const uint8_t* s = (const uint8_t*)src; + do { + uint8_t c = *s++; + *dst++ = SkColorSetARGB(c, c, c, c); + } while (--width != 0); +} + // can return NULL static ToColorProc ChooseToColorProc(const SkBitmap& src) { switch (src.colorType()) { @@ -673,6 +692,8 @@ static ToColorProc ChooseToColorProc(const SkBitmap& src) { default: return NULL; } + case kAlpha_8_SkColorType: + return ToColor_SA8; default: break; } |