| Index: src/core/SkBitmap.cpp
|
| diff --git a/src/core/SkBitmap.cpp b/src/core/SkBitmap.cpp
|
| index a89ca35f0d3f070b07f8dd195a6efb2804861e11..bf8d8a1dfc97dca61a165108815d279d0c12ed22 100644
|
| --- a/src/core/SkBitmap.cpp
|
| +++ b/src/core/SkBitmap.cpp
|
| @@ -648,29 +648,29 @@ SkColor SkBitmap::getColor(int x, int y) const {
|
| SkASSERT((unsigned)x < (unsigned)this->width());
|
| SkASSERT((unsigned)y < (unsigned)this->height());
|
|
|
| - switch (this->config()) {
|
| - case SkBitmap::kA8_Config: {
|
| + switch (this->colorType()) {
|
| + case kAlpha_8_SkColorType: {
|
| uint8_t* addr = this->getAddr8(x, y);
|
| return SkColorSetA(0, addr[0]);
|
| }
|
| - case SkBitmap::kIndex8_Config: {
|
| + case kIndex_8_SkColorType: {
|
| SkPMColor c = this->getIndex8Color(x, y);
|
| return SkUnPreMultiply::PMColorToColor(c);
|
| }
|
| - case SkBitmap::kRGB_565_Config: {
|
| + case kRGB_565_SkColorType: {
|
| uint16_t* addr = this->getAddr16(x, y);
|
| return SkPixel16ToColor(addr[0]);
|
| }
|
| - case SkBitmap::kARGB_4444_Config: {
|
| + case kARGB_4444_SkColorType: {
|
| uint16_t* addr = this->getAddr16(x, y);
|
| SkPMColor c = SkPixel4444ToPixel32(addr[0]);
|
| return SkUnPreMultiply::PMColorToColor(c);
|
| }
|
| - case SkBitmap::kARGB_8888_Config: {
|
| + case kBGRA_8888_SkColorType:
|
| + case kRGBA_8888_SkColorType: {
|
| uint32_t* addr = this->getAddr32(x, y);
|
| return SkUnPreMultiply::PMColorToColor(addr[0]);
|
| }
|
| - case kNo_Config:
|
| default:
|
| SkASSERT(false);
|
| return 0;
|
| @@ -688,8 +688,8 @@ bool SkBitmap::ComputeIsOpaque(const SkBitmap& bm) {
|
| const int height = bm.height();
|
| const int width = bm.width();
|
|
|
| - switch (bm.config()) {
|
| - case SkBitmap::kA8_Config: {
|
| + switch (bm.colorType()) {
|
| + case kAlpha_8_SkColorType: {
|
| unsigned a = 0xFF;
|
| for (int y = 0; y < height; ++y) {
|
| const uint8_t* row = bm.getAddr8(0, y);
|
| @@ -702,7 +702,7 @@ bool SkBitmap::ComputeIsOpaque(const SkBitmap& bm) {
|
| }
|
| return true;
|
| } break;
|
| - case SkBitmap::kIndex8_Config: {
|
| + case kIndex_8_SkColorType: {
|
| SkAutoLockColors alc(bm);
|
| const SkPMColor* table = alc.colors();
|
| if (!table) {
|
| @@ -714,10 +714,10 @@ bool SkBitmap::ComputeIsOpaque(const SkBitmap& bm) {
|
| }
|
| return 0xFF == SkGetPackedA32(c);
|
| } break;
|
| - case SkBitmap::kRGB_565_Config:
|
| + case kRGB_565_SkColorType:
|
| return true;
|
| break;
|
| - case SkBitmap::kARGB_4444_Config: {
|
| + case kARGB_4444_SkColorType: {
|
| unsigned c = 0xFFFF;
|
| for (int y = 0; y < height; ++y) {
|
| const SkPMColor16* row = bm.getAddr16(0, y);
|
| @@ -730,7 +730,8 @@ bool SkBitmap::ComputeIsOpaque(const SkBitmap& bm) {
|
| }
|
| return true;
|
| } break;
|
| - case SkBitmap::kARGB_8888_Config: {
|
| + case kBGRA_8888_SkColorType:
|
| + case kRGBA_8888_SkColorType: {
|
| SkPMColor c = (SkPMColor)~0;
|
| for (int y = 0; y < height; ++y) {
|
| const SkPMColor* row = bm.getAddr32(0, y);
|
| @@ -885,8 +886,8 @@ bool SkBitmap::extractSubset(SkBitmap* result, const SkIRect& subset) const {
|
| SkPixelRef* pixelRef = fPixelRef->deepCopy(this->config(), &subset);
|
| if (pixelRef != NULL) {
|
| SkBitmap dst;
|
| - dst.setConfig(this->config(), subset.width(), subset.height(), 0,
|
| - this->alphaType());
|
| + dst.setConfig(SkImageInfo::Make(subset.width(), subset.height(),
|
| + this->colorType(), this->alphaType()));
|
| dst.setIsVolatile(this->isVolatile());
|
| dst.setPixelRef(pixelRef)->unref();
|
| SkDEBUGCODE(dst.validate());
|
| @@ -901,8 +902,8 @@ bool SkBitmap::extractSubset(SkBitmap* result, const SkIRect& subset) const {
|
| SkASSERT(static_cast<unsigned>(r.fTop) < static_cast<unsigned>(this->height()));
|
|
|
| SkBitmap dst;
|
| - dst.setConfig(this->config(), r.width(), r.height(), this->rowBytes(),
|
| - this->alphaType());
|
| + dst.setConfig(SkImageInfo::Make(r.width(), r.height(), this->colorType(), this->alphaType()),
|
| + this->rowBytes());
|
| dst.setIsVolatile(this->isVolatile());
|
|
|
| if (fPixelRef) {
|
| @@ -1131,10 +1132,10 @@ static bool GetBitmapAlpha(const SkBitmap& src, uint8_t* SK_RESTRICT alpha,
|
| SkASSERT(alpha != NULL);
|
| SkASSERT(alphaRowBytes >= src.width());
|
|
|
| - SkBitmap::Config config = src.config();
|
| - int w = src.width();
|
| - int h = src.height();
|
| - size_t rb = src.rowBytes();
|
| + SkColorType colorType = src.colorType();
|
| + int w = src.width();
|
| + int h = src.height();
|
| + size_t rb = src.rowBytes();
|
|
|
| SkAutoLockPixels alp(src);
|
| if (!src.readyToDraw()) {
|
| @@ -1146,14 +1147,14 @@ static bool GetBitmapAlpha(const SkBitmap& src, uint8_t* SK_RESTRICT alpha,
|
| return false;
|
| }
|
|
|
| - if (SkBitmap::kA8_Config == config && !src.isOpaque()) {
|
| + if (kAlpha_8_SkColorType == colorType && !src.isOpaque()) {
|
| const uint8_t* s = src.getAddr8(0, 0);
|
| while (--h >= 0) {
|
| memcpy(alpha, s, w);
|
| s += rb;
|
| alpha += alphaRowBytes;
|
| }
|
| - } else if (SkBitmap::kARGB_8888_Config == config && !src.isOpaque()) {
|
| + } else if (kN32_SkColorType == colorType && !src.isOpaque()) {
|
| const SkPMColor* SK_RESTRICT s = src.getAddr32(0, 0);
|
| while (--h >= 0) {
|
| for (int x = 0; x < w; x++) {
|
| @@ -1162,7 +1163,7 @@ static bool GetBitmapAlpha(const SkBitmap& src, uint8_t* SK_RESTRICT alpha,
|
| s = (const SkPMColor*)((const char*)s + rb);
|
| alpha += alphaRowBytes;
|
| }
|
| - } else if (SkBitmap::kARGB_4444_Config == config && !src.isOpaque()) {
|
| + } else if (kARGB_4444_SkColorType == colorType && !src.isOpaque()) {
|
| const SkPMColor16* SK_RESTRICT s = src.getAddr16(0, 0);
|
| while (--h >= 0) {
|
| for (int x = 0; x < w; x++) {
|
| @@ -1171,7 +1172,7 @@ static bool GetBitmapAlpha(const SkBitmap& src, uint8_t* SK_RESTRICT alpha,
|
| s = (const SkPMColor16*)((const char*)s + rb);
|
| alpha += alphaRowBytes;
|
| }
|
| - } else if (SkBitmap::kIndex8_Config == config && !src.isOpaque()) {
|
| + } else if (kIndex_8_SkColorType == colorType && !src.isOpaque()) {
|
| SkColorTable* ct = src.getColorTable();
|
| if (ct) {
|
| const SkPMColor* SK_RESTRICT table = ct->lockColors();
|
| @@ -1219,8 +1220,7 @@ bool SkBitmap::extractAlpha(SkBitmap* dst, const SkPaint* paint,
|
| dstM.fRowBytes = SkAlign4(dstM.fBounds.width());
|
| } else {
|
| NO_FILTER_CASE:
|
| - tmpBitmap.setConfig(SkBitmap::kA8_Config, this->width(), this->height(),
|
| - srcM.fRowBytes);
|
| + tmpBitmap.setConfig(SkImageInfo::MakeA8(this->width(), this->height()), srcM.fRowBytes);
|
| if (!tmpBitmap.allocPixels(allocator, NULL)) {
|
| // Allocation of pixels for alpha bitmap failed.
|
| SkDebugf("extractAlpha failed to allocate (%d,%d) alpha bitmap\n",
|
| @@ -1243,8 +1243,8 @@ bool SkBitmap::extractAlpha(SkBitmap* dst, const SkPaint* paint,
|
| }
|
| SkAutoMaskFreeImage dstCleanup(dstM.fImage);
|
|
|
| - tmpBitmap.setConfig(SkBitmap::kA8_Config, dstM.fBounds.width(),
|
| - dstM.fBounds.height(), dstM.fRowBytes);
|
| + tmpBitmap.setConfig(SkImageInfo::MakeA8(dstM.fBounds.width(), dstM.fBounds.height()),
|
| + dstM.fRowBytes);
|
| if (!tmpBitmap.allocPixels(allocator, NULL)) {
|
| // Allocation of pixels for alpha bitmap failed.
|
| SkDebugf("extractAlpha failed to allocate (%d,%d) alpha bitmap\n",
|
| @@ -1437,12 +1437,12 @@ void SkBitmap::validate() const {
|
| #ifndef SK_IGNORE_TO_STRING
|
| void SkBitmap::toString(SkString* str) const {
|
|
|
| - static const char* gConfigNames[kConfigCount] = {
|
| - "NONE", "A8", "INDEX8", "565", "4444", "8888"
|
| + static const char* gColorTypeNames[kLastEnum_SkColorType + 1] = {
|
| + "UNKNOWN", "A8", "565", "4444", "RGBA", "BGRA", "INDEX8",
|
| };
|
|
|
| str->appendf("bitmap: ((%d, %d) %s", this->width(), this->height(),
|
| - gConfigNames[this->config()]);
|
| + gColorTypeNames[this->colorType()]);
|
|
|
| str->append(" (");
|
| if (this->isOpaque()) {
|
|
|