| Index: src/core/SkBitmap.cpp
|
| diff --git a/src/core/SkBitmap.cpp b/src/core/SkBitmap.cpp
|
| index e308b88b4252ac13bcd09c0a7643d557bd4767a3..f89ea4beca1c215821a39be852826f880f4fd0ba 100644
|
| --- a/src/core/SkBitmap.cpp
|
| +++ b/src/core/SkBitmap.cpp
|
| @@ -161,7 +161,6 @@ int SkBitmap::ComputeBytesPerPixel(SkBitmap::Config config) {
|
| case kA1_Config:
|
| bpp = 0; // not applicable
|
| break;
|
| - case kRLE_Index8_Config:
|
| case kA8_Config:
|
| case kIndex8_Config:
|
| bpp = 1;
|
| @@ -191,7 +190,6 @@ size_t SkBitmap::ComputeRowBytes(Config c, int width) {
|
|
|
| switch (c) {
|
| case kNo_Config:
|
| - case kRLE_Index8_Config:
|
| break;
|
| case kA1_Config:
|
| rowBytes.set(width);
|
| @@ -473,8 +471,7 @@ bool SkBitmap::copyPixelsTo(void* const dst, size_t dstSize,
|
| dstRowBytes = fRowBytes;
|
| }
|
|
|
| - if (getConfig() == kRLE_Index8_Config ||
|
| - dstRowBytes < ComputeRowBytes(getConfig(), fWidth) ||
|
| + if (dstRowBytes < ComputeRowBytes(getConfig(), fWidth) ||
|
| dst == NULL || (getPixels() == NULL && pixelRef() == NULL))
|
| return false;
|
|
|
| @@ -538,19 +535,18 @@ bool SkBitmap::isOpaque() const {
|
| case kARGB_8888_Config:
|
| return (fFlags & kImageIsOpaque_Flag) != 0;
|
|
|
| - case kIndex8_Config:
|
| - case kRLE_Index8_Config: {
|
| - uint32_t flags = 0;
|
| -
|
| - this->lockPixels();
|
| - // if lockPixels failed, we may not have a ctable ptr
|
| - if (fColorTable) {
|
| - flags = fColorTable->getFlags();
|
| - }
|
| - this->unlockPixels();
|
| + case kIndex8_Config: {
|
| + uint32_t flags = 0;
|
|
|
| - return (flags & SkColorTable::kColorsAreOpaque_Flag) != 0;
|
| + this->lockPixels();
|
| + // if lockPixels failed, we may not have a ctable ptr
|
| + if (fColorTable) {
|
| + flags = fColorTable->getFlags();
|
| }
|
| + this->unlockPixels();
|
| +
|
| + return (flags & SkColorTable::kColorsAreOpaque_Flag) != 0;
|
| + }
|
|
|
| case kRGB_565_Config:
|
| return true;
|
| @@ -606,10 +602,6 @@ void* SkBitmap::getAddr(int x, int y) const {
|
| case SkBitmap::kA1_Config:
|
| base += x >> 3;
|
| break;
|
| - case kRLE_Index8_Config:
|
| - SkDEBUGFAIL("Can't return addr for kRLE_Index8_Config");
|
| - base = NULL;
|
| - break;
|
| default:
|
| SkDEBUGFAIL("Can't return addr for config");
|
| base = NULL;
|
| @@ -654,13 +646,6 @@ SkColor SkBitmap::getColor(int x, int y) const {
|
| uint32_t* addr = this->getAddr32(x, y);
|
| return SkUnPreMultiply::PMColorToColor(addr[0]);
|
| }
|
| - case kRLE_Index8_Config: {
|
| - uint8_t dst;
|
| - const SkBitmap::RLEPixels* rle =
|
| - (const SkBitmap::RLEPixels*)this->getPixels();
|
| - SkPackBits::Unpack8(&dst, x, 1, rle->packedAtY(y));
|
| - return SkUnPreMultiply::PMColorToColor((*fColorTable)[dst]);
|
| - }
|
| case kNo_Config:
|
| SkASSERT(false);
|
| return 0;
|
| @@ -695,7 +680,6 @@ bool SkBitmap::ComputeIsOpaque(const SkBitmap& bm) {
|
| }
|
| return true;
|
| } break;
|
| - case kRLE_Index8_Config:
|
| case SkBitmap::kIndex8_Config: {
|
| SkAutoLockColors alc(bm);
|
| const SkPMColor* table = alc.colors();
|
| @@ -946,34 +930,6 @@ bool SkBitmap::extractSubset(SkBitmap* result, const SkIRect& subset) const {
|
| }
|
| }
|
|
|
| - if (kRLE_Index8_Config == fConfig) {
|
| - SkAutoLockPixels alp(*this);
|
| - // don't call readyToDraw(), since we can operate w/o a colortable
|
| - // at this stage
|
| - if (this->getPixels() == NULL) {
|
| - return false;
|
| - }
|
| - SkBitmap bm;
|
| -
|
| - bm.setConfig(kIndex8_Config, r.width(), r.height());
|
| - bm.allocPixels(this->getColorTable());
|
| - if (NULL == bm.getPixels()) {
|
| - return false;
|
| - }
|
| -
|
| - const RLEPixels* rle = (const RLEPixels*)this->getPixels();
|
| - uint8_t* dst = bm.getAddr8(0, 0);
|
| - const int width = bm.width();
|
| - const size_t rowBytes = bm.rowBytes();
|
| -
|
| - for (int y = r.fTop; y < r.fBottom; y++) {
|
| - SkPackBits::Unpack8(dst, r.fLeft, width, rle->packedAtY(y));
|
| - dst += rowBytes;
|
| - }
|
| - result->swap(bm);
|
| - return true;
|
| - }
|
| -
|
| // If the upper left of the rectangle was outside the bounds of this SkBitmap, we should have
|
| // exited above.
|
| SkASSERT(static_cast<unsigned>(r.fLeft) < static_cast<unsigned>(this->width()));
|
|
|