Merge "Fix bitmap get/set pixels for ALPHA_8" into mnc-dev
This commit is contained in:
@@ -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
|
// can return NULL
|
||||||
static FromColorProc ChooseFromColorProc(const SkBitmap& bitmap) {
|
static FromColorProc ChooseFromColorProc(const SkBitmap& bitmap) {
|
||||||
switch (bitmap.colorType()) {
|
switch (bitmap.colorType()) {
|
||||||
@@ -485,6 +493,8 @@ static FromColorProc ChooseFromColorProc(const SkBitmap& bitmap) {
|
|||||||
FromColor_D4444_Raw;
|
FromColor_D4444_Raw;
|
||||||
case kRGB_565_SkColorType:
|
case kRGB_565_SkColorType:
|
||||||
return FromColor_D565;
|
return FromColor_D565;
|
||||||
|
case kAlpha_8_SkColorType:
|
||||||
|
return FromColor_DA8;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -632,6 +642,15 @@ static void ToColor_SI8_Opaque(SkColor dst[], const void* src, int width,
|
|||||||
} while (--width != 0);
|
} 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
|
// can return NULL
|
||||||
static ToColorProc ChooseToColorProc(const SkBitmap& src) {
|
static ToColorProc ChooseToColorProc(const SkBitmap& src) {
|
||||||
switch (src.colorType()) {
|
switch (src.colorType()) {
|
||||||
@@ -673,6 +692,8 @@ static ToColorProc ChooseToColorProc(const SkBitmap& src) {
|
|||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
case kAlpha_8_SkColorType:
|
||||||
|
return ToColor_SA8;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user