Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(580)

Unified Diff: src/core/SkMipMap.cpp

Issue 301283003: Revert "Revert of setConfig -> setInfo (https://codereview.chromium.org/308683005/)" (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: add guard for android Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/core/SkImageFilter.cpp ('k') | src/core/SkReadBuffer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkMipMap.cpp
diff --git a/src/core/SkMipMap.cpp b/src/core/SkMipMap.cpp
index ff62f4d59d53b154340d69a611621fec49edc1c7..cb88eb4596be618e9eab7519f889b2fb6a64d3e0 100644
--- a/src/core/SkMipMap.cpp
+++ b/src/core/SkMipMap.cpp
@@ -123,21 +123,21 @@ SkMipMap::Level* SkMipMap::AllocLevels(int levelCount, size_t pixelSize) {
SkMipMap* SkMipMap::Build(const SkBitmap& src) {
void (*proc)(SkBitmap* dst, int x, int y, const SkBitmap& src);
- const SkBitmap::Config config = src.config();
- switch (config) {
- case SkBitmap::kARGB_8888_Config:
+ const SkColorType ct = src.colorType();
+ const SkAlphaType at = src.alphaType();
+ switch (ct) {
+ case kRGBA_8888_SkColorType:
+ case kBGRA_8888_SkColorType:
proc = downsampleby2_proc32;
break;
- case SkBitmap::kRGB_565_Config:
+ case kRGB_565_SkColorType:
proc = downsampleby2_proc16;
break;
- case SkBitmap::kARGB_4444_Config:
+ case kARGB_4444_SkColorType:
proc = downsampleby2_proc4444;
break;
- case SkBitmap::kIndex8_Config:
- case SkBitmap::kA8_Config:
default:
- return NULL; // don't build mipmaps for these configs
+ return NULL; // don't build mipmaps for any other colortypes (yet)
}
SkAutoLockPixels alp(src);
@@ -157,7 +157,7 @@ SkMipMap* SkMipMap::Build(const SkBitmap& src) {
if (0 == width || 0 == height) {
break;
}
- size += SkBitmap::ComputeRowBytes(config, width) * height;
+ size += SkColorTypeMinRowBytes(ct, width) * height;
countLevels += 1;
}
}
@@ -180,7 +180,7 @@ SkMipMap* SkMipMap::Build(const SkBitmap& src) {
for (int i = 0; i < countLevels; ++i) {
width >>= 1;
height >>= 1;
- rowBytes = SkToU32(SkBitmap::ComputeRowBytes(config, width));
+ rowBytes = SkToU32(SkColorTypeMinRowBytes(ct, width));
levels[i].fPixels = addr;
levels[i].fWidth = width;
@@ -189,8 +189,7 @@ SkMipMap* SkMipMap::Build(const SkBitmap& src) {
levels[i].fScale = (float)width / src.width();
SkBitmap dstBM;
- dstBM.setConfig(config, width, height, rowBytes);
- dstBM.setPixels(addr);
+ dstBM.installPixels(SkImageInfo::Make(width, height, ct, at), addr, rowBytes);
srcBM.lockPixels();
for (int y = 0; y < height; y++) {
« no previous file with comments | « src/core/SkImageFilter.cpp ('k') | src/core/SkReadBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698