aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--dm/DMGpuGMTask.cpp2
-rw-r--r--dm/DMWriteTask.cpp2
-rw-r--r--gm/gmmain.cpp2
-rw-r--r--gyp/skia_for_chromium_defines.gypi1
-rw-r--r--include/core/SkBitmap.h8
-rw-r--r--src/core/SkBitmap.cpp33
-rw-r--r--src/core/SkBitmapDevice.cpp2
-rw-r--r--src/core/SkBitmapScaler.cpp6
-rw-r--r--src/core/SkCanvas.cpp2
-rw-r--r--src/core/SkImageFilter.cpp2
-rw-r--r--src/core/SkReadBuffer.cpp2
-rw-r--r--src/core/SkScalerContext.cpp8
-rw-r--r--src/core/SkValidationUtils.h6
-rw-r--r--src/effects/SkPerlinNoiseShader.cpp4
-rw-r--r--src/effects/gradients/SkGradientShader.cpp2
-rw-r--r--src/gpu/GrPictureUtils.cpp5
-rw-r--r--src/gpu/SkGpuDevice.cpp4
-rw-r--r--src/image/SkImagePriv.h4
-rw-r--r--src/image/SkImage_Raster.cpp4
-rw-r--r--src/image/SkSurface_Raster.cpp5
-rw-r--r--src/images/SkImageDecoder_libwebp.cpp2
-rw-r--r--src/images/SkImageRef.cpp4
-rw-r--r--src/lazy/SkCachingPixelRef.cpp4
-rw-r--r--src/lazy/SkDiscardablePixelRef.cpp2
-rw-r--r--src/pdf/SkPDFDevice.cpp2
-rw-r--r--src/ports/SkImageDecoder_CG.cpp2
-rw-r--r--src/utils/SkGatherPixelRefsAndRects.h4
-rw-r--r--src/utils/SkPictureUtils.cpp2
-rw-r--r--src/views/sdl/SkOSWindow_SDL.cpp13
-rw-r--r--tests/BitmapCopyTest.cpp5
-rw-r--r--tests/BitmapTest.cpp12
-rw-r--r--tests/CanvasTest.cpp2
-rw-r--r--tests/ImageDecodingTest.cpp2
-rw-r--r--tests/PictureTest.cpp4
-rw-r--r--tests/PipeTest.cpp5
-rw-r--r--tests/ReadPixelsTest.cpp2
-rw-r--r--tests/SerializationTest.cpp4
-rw-r--r--tests/ShaderOpacityTest.cpp2
-rw-r--r--tests/WritePixelsTest.cpp2
39 files changed, 96 insertions, 83 deletions
diff --git a/dm/DMGpuGMTask.cpp b/dm/DMGpuGMTask.cpp
index a7b1d7b61f..c72f675660 100644
--- a/dm/DMGpuGMTask.cpp
+++ b/dm/DMGpuGMTask.cpp
@@ -37,7 +37,7 @@ void GpuGMTask::draw(GrContextFactory* grFactory) {
canvas->flush();
SkBitmap bitmap;
- bitmap.setInfo(info);
+ bitmap.setConfig(info);
canvas->readPixels(&bitmap, 0, 0);
this->spawnChild(SkNEW_ARGS(ExpectationsTask, (*this, fExpectations, bitmap)));
diff --git a/dm/DMWriteTask.cpp b/dm/DMWriteTask.cpp
index 98ea929288..7c9bb628a7 100644
--- a/dm/DMWriteTask.cpp
+++ b/dm/DMWriteTask.cpp
@@ -97,7 +97,7 @@ struct PngAndRaw {
info, rowBytes, NULL/*ctable*/, subset));
SkASSERT(pixels);
- bitmap->setInfo(info, rowBytes);
+ bitmap->setConfig(info, rowBytes);
bitmap->setPixelRef(pixels);
return true;
}
diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp
index 65a233ffac..4833975aef 100644
--- a/gm/gmmain.cpp
+++ b/gm/gmmain.cpp
@@ -590,7 +590,7 @@ public:
// the device is as large as the current rendertarget, so
// we explicitly only readback the amount we expect (in
// size) overwrite our previous allocation
- bitmap->setInfo(SkImageInfo::MakeN32Premul(size.fWidth, size.fHeight));
+ bitmap->setConfig(SkImageInfo::MakeN32Premul(size.fWidth, size.fHeight));
canvas->readPixels(bitmap, 0, 0);
}
#endif
diff --git a/gyp/skia_for_chromium_defines.gypi b/gyp/skia_for_chromium_defines.gypi
index 783d352e07..8337a464a8 100644
--- a/gyp/skia_for_chromium_defines.gypi
+++ b/gyp/skia_for_chromium_defines.gypi
@@ -15,7 +15,6 @@
'skia_for_chromium_defines': [
'SK_SUPPORT_LEGACY_GETTOPDEVICE',
'SK_SUPPORT_LEGACY_ASIMAGEINFO',
- 'SK_SUPPORT_LEGACY_SETCONFIG_INFO',
'SK_SUPPORT_LEGACY_N32_NAME',
'SK_IGNORE_CORRECT_HIGH_QUALITY_IMAGE_SCALE',
'SK_SUPPORT_LEGACY_INSTALLPIXELSPARAMS',
diff --git a/include/core/SkBitmap.h b/include/core/SkBitmap.h
index a6acb8713e..b487285d93 100644
--- a/include/core/SkBitmap.h
+++ b/include/core/SkBitmap.h
@@ -276,13 +276,7 @@ public:
kPremul_SkAlphaType);
}
- bool setInfo(const SkImageInfo&, size_t rowBytes = 0);
-
-#ifdef SK_SUPPORT_LEGACY_SETCONFIG_INFO
- bool setConfig(const SkImageInfo& info, size_t rowBytes = 0) {
- return this->setInfo(info, rowBytes);
- }
-#endif
+ bool setConfig(const SkImageInfo& info, size_t rowBytes = 0);
/**
* Allocate a pixelref to match the specified image info. If the Factory
diff --git a/src/core/SkBitmap.cpp b/src/core/SkBitmap.cpp
index 68874175cd..e5cc0d7fcd 100644
--- a/src/core/SkBitmap.cpp
+++ b/src/core/SkBitmap.cpp
@@ -202,7 +202,7 @@ static bool validate_alphaType(SkColorType colorType, SkAlphaType alphaType,
return true;
}
-bool SkBitmap::setInfo(const SkImageInfo& origInfo, size_t rowBytes) {
+bool SkBitmap::setConfig(const SkImageInfo& origInfo, size_t rowBytes) {
SkImageInfo info = origInfo;
if (!validate_alphaType(info.fColorType, info.fAlphaType,
@@ -241,7 +241,8 @@ bool SkBitmap::setInfo(const SkImageInfo& origInfo, size_t rowBytes) {
bool SkBitmap::setConfig(Config config, int width, int height, size_t rowBytes,
SkAlphaType alphaType) {
SkColorType ct = SkBitmapConfigToColorType(config);
- return this->setInfo(SkImageInfo::Make(width, height, ct, alphaType), rowBytes);
+ return this->setConfig(SkImageInfo::Make(width, height, ct, alphaType),
+ rowBytes);
}
bool SkBitmap::setAlphaType(SkAlphaType alphaType) {
@@ -418,7 +419,7 @@ bool SkBitmap::allocPixels(const SkImageInfo& info, SkPixelRefFactory* factory,
if (kIndex_8_SkColorType == info.fColorType && NULL == ctable) {
return reset_return_false(this);
}
- if (!this->setInfo(info)) {
+ if (!this->setConfig(info)) {
return reset_return_false(this);
}
@@ -443,7 +444,7 @@ bool SkBitmap::allocPixels(const SkImageInfo& info, SkPixelRefFactory* factory,
bool SkBitmap::installPixels(const SkImageInfo& info, void* pixels, size_t rb, SkColorTable* ct,
void (*releaseProc)(void* addr, void* context), void* context) {
- if (!this->setInfo(info, rb)) {
+ if (!this->setConfig(info, rb)) {
this->reset();
return false;
}
@@ -883,8 +884,8 @@ bool SkBitmap::extractSubset(SkBitmap* result, const SkIRect& subset) const {
SkPixelRef* pixelRef = fPixelRef->deepCopy(this->config(), &subset);
if (pixelRef != NULL) {
SkBitmap dst;
- dst.setInfo(SkImageInfo::Make(subset.width(), subset.height(),
- this->colorType(), 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());
@@ -899,8 +900,8 @@ bool SkBitmap::extractSubset(SkBitmap* result, const SkIRect& subset) const {
SkASSERT(static_cast<unsigned>(r.fTop) < static_cast<unsigned>(this->height()));
SkBitmap dst;
- dst.setInfo(SkImageInfo::Make(r.width(), r.height(), this->colorType(), this->alphaType()),
- this->rowBytes());
+ dst.setConfig(SkImageInfo::Make(r.width(), r.height(), this->colorType(), this->alphaType()),
+ this->rowBytes());
dst.setIsVolatile(this->isVolatile());
if (fPixelRef) {
@@ -993,7 +994,7 @@ bool SkBitmap::copyTo(SkBitmap* dst, SkColorType dstColorType,
dstInfo.fColorType = dstColorType;
SkBitmap tmpDst;
- if (!tmpDst.setInfo(dstInfo)) {
+ if (!tmpDst.setConfig(dstInfo)) {
return false;
}
@@ -1101,13 +1102,13 @@ bool SkBitmap::deepCopyTo(SkBitmap* dst) const {
// Use the same rowBytes as the original.
rowBytes = fRowBytes;
} else {
- // With the new config, an appropriate fRowBytes will be computed by setInfo.
+ // With the new config, an appropriate fRowBytes will be computed by setConfig.
rowBytes = 0;
}
SkImageInfo info = fInfo;
info.fColorType = dstCT;
- if (!dst->setInfo(info, rowBytes)) {
+ if (!dst->setConfig(info, rowBytes)) {
return false;
}
dst->setPixelRef(pixelRef, fPixelRefOrigin)->unref();
@@ -1217,7 +1218,7 @@ bool SkBitmap::extractAlpha(SkBitmap* dst, const SkPaint* paint,
dstM.fRowBytes = SkAlign4(dstM.fBounds.width());
} else {
NO_FILTER_CASE:
- tmpBitmap.setInfo(SkImageInfo::MakeA8(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",
@@ -1240,8 +1241,8 @@ bool SkBitmap::extractAlpha(SkBitmap* dst, const SkPaint* paint,
}
SkAutoMaskFreeImage dstCleanup(dstM.fImage);
- tmpBitmap.setInfo(SkImageInfo::MakeA8(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",
@@ -1331,7 +1332,7 @@ bool SkBitmap::ReadRawPixels(SkReadBuffer* buffer, SkBitmap* bitmap) {
SkAutoTUnref<SkPixelRef> pr(SkMallocPixelRef::NewWithData(info, info.minRowBytes(),
ctable.get(), data.get()));
- bitmap->setInfo(pr->info());
+ bitmap->setConfig(pr->info());
bitmap->setPixelRef(pr, 0, 0);
return true;
}
@@ -1355,7 +1356,7 @@ void SkBitmap::legacyUnflatten(SkReadBuffer& buffer) {
return;
}
- bool configIsValid = this->setInfo(info, rowBytes);
+ bool configIsValid = this->setConfig(info, rowBytes);
buffer.validate(configIsValid);
int reftype = buffer.readInt();
diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp
index 0f3cc2be50..109943598a 100644
--- a/src/core/SkBitmapDevice.cpp
+++ b/src/core/SkBitmapDevice.cpp
@@ -78,7 +78,7 @@ SkBitmapDevice* SkBitmapDevice::Create(const SkImageInfo& origInfo,
SkBitmap bitmap;
if (kUnknown_SkColorType == info.colorType()) {
- if (!bitmap.setInfo(info)) {
+ if (!bitmap.setConfig(info)) {
return NULL;
}
} else {
diff --git a/src/core/SkBitmapScaler.cpp b/src/core/SkBitmapScaler.cpp
index be32a891fc..ebcccf2fe0 100644
--- a/src/core/SkBitmapScaler.cpp
+++ b/src/core/SkBitmapScaler.cpp
@@ -296,9 +296,9 @@ bool SkBitmapScaler::Resize(SkBitmap* resultPtr,
// Convolve into the result.
SkBitmap result;
- result.setInfo(SkImageInfo::MakeN32(SkScalarCeilToInt(destSubset.width()),
- SkScalarCeilToInt(destSubset.height()),
- source.alphaType()));
+ result.setConfig(SkImageInfo::MakeN32(SkScalarCeilToInt(destSubset.width()),
+ SkScalarCeilToInt(destSubset.height()),
+ source.alphaType()));
result.allocPixels(allocator, NULL);
if (!result.readyToDraw()) {
return false;
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 6ed6a85780..7e10504fbd 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -499,7 +499,7 @@ SkCanvas::SkCanvas(int width, int height)
inc_canvas();
SkBitmap bitmap;
- bitmap.setInfo(SkImageInfo::MakeUnknown(width, height));
+ bitmap.setConfig(SkImageInfo::MakeUnknown(width, height));
this->init(SkNEW_ARGS(SkBitmapDevice, (bitmap)))->unref();
}
diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
index 6356c1a5dd..582f8992a3 100644
--- a/src/core/SkImageFilter.cpp
+++ b/src/core/SkImageFilter.cpp
@@ -309,7 +309,7 @@ SkImageFilter::Cache* SkImageFilter::GetExternalCache() {
void SkImageFilter::WrapTexture(GrTexture* texture, int width, int height, SkBitmap* result) {
SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
- result->setInfo(info);
+ result->setConfig(info);
result->setPixelRef(SkNEW_ARGS(SkGrPixelRef, (info, texture)))->unref();
}
diff --git a/src/core/SkReadBuffer.cpp b/src/core/SkReadBuffer.cpp
index a3ae8ae9b9..88894d13ab 100644
--- a/src/core/SkReadBuffer.cpp
+++ b/src/core/SkReadBuffer.cpp
@@ -276,7 +276,7 @@ bool SkReadBuffer::readBitmap(SkBitmap* bitmap) {
}
}
// Could not read the SkBitmap. Use a placeholder bitmap.
- bitmap->setInfo(SkImageInfo::MakeUnknown(width, height));
+ bitmap->setConfig(SkImageInfo::MakeUnknown(width, height));
return false;
}
diff --git a/src/core/SkScalerContext.cpp b/src/core/SkScalerContext.cpp
index 3e20bf69ed..fee1ff7908 100644
--- a/src/core/SkScalerContext.cpp
+++ b/src/core/SkScalerContext.cpp
@@ -584,6 +584,7 @@ static void generateMask(const SkMask& mask, const SkPath& path,
matrix.setTranslate(-SkIntToScalar(mask.fBounds.fLeft),
-SkIntToScalar(mask.fBounds.fTop));
+ SkBitmap::Config config = SkBitmap::kA8_Config;
paint.setAntiAlias(SkMask::kBW_Format != mask.fFormat);
switch (mask.fFormat) {
case SkMask::kBW_Format:
@@ -607,17 +608,18 @@ static void generateMask(const SkMask& mask, const SkPath& path,
SkRasterClip clip;
clip.setRect(SkIRect::MakeWH(dstW, dstH));
- const SkImageInfo info = SkImageInfo::MakeA8(dstW, dstH);
SkBitmap bm;
+ bm.setConfig(config, dstW, dstH, dstRB);
if (0 == dstRB) {
- if (!bm.allocPixels(info)) {
+ if (!bm.allocPixels()) {
// can't allocate offscreen, so empty the mask and return
sk_bzero(mask.fImage, mask.computeImageSize());
return;
}
+ bm.lockPixels();
} else {
- bm.installPixels(info, mask.fImage, dstRB);
+ bm.setPixels(mask.fImage);
}
sk_bzero(bm.getPixels(), bm.getSafeSize());
diff --git a/src/core/SkValidationUtils.h b/src/core/SkValidationUtils.h
index e9e59866ca..683da29c18 100644
--- a/src/core/SkValidationUtils.h
+++ b/src/core/SkValidationUtils.h
@@ -23,6 +23,12 @@ static inline bool SkIsValidMode(SkXfermode::Mode mode) {
return (mode >= 0) && (mode <= SkXfermode::kLastMode);
}
+/** Returns true if config's value is in the SkBitmap::Config enum.
+ */
+static inline bool SkIsValidConfig(SkBitmap::Config config) {
+ return (config >= 0) && (config <= static_cast<int>(SkBitmap::kConfigCount));
+}
+
/** Returns true if the rect's dimensions are between 0 and SK_MaxS32
*/
static inline bool SkIsValidIRect(const SkIRect& rect) {
diff --git a/src/effects/SkPerlinNoiseShader.cpp b/src/effects/SkPerlinNoiseShader.cpp
index a37dff5cda..68645540ca 100644
--- a/src/effects/SkPerlinNoiseShader.cpp
+++ b/src/effects/SkPerlinNoiseShader.cpp
@@ -92,10 +92,10 @@ struct SkPerlinNoiseShader::PaintingData {
}
#if SK_SUPPORT_GPU && !defined(SK_USE_SIMPLEX_NOISE)
- fPermutationsBitmap.setInfo(SkImageInfo::MakeA8(kBlockSize, 1));
+ fPermutationsBitmap.setConfig(SkImageInfo::MakeA8(kBlockSize, 1));
fPermutationsBitmap.setPixels(fLatticeSelector);
- fNoiseBitmap.setInfo(SkImageInfo::MakeN32Premul(kBlockSize, 4));
+ fNoiseBitmap.setConfig(SkImageInfo::MakeN32Premul(kBlockSize, 4));
fNoiseBitmap.setPixels(fNoise[0][0]);
#endif
}
diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp
index 038044d561..ada9859017 100644
--- a/src/effects/gradients/SkGradientShader.cpp
+++ b/src/effects/gradients/SkGradientShader.cpp
@@ -619,7 +619,7 @@ void SkGradientShaderBase::getGradientTableBitmap(SkBitmap* bitmap) const {
if (!gCache->find(storage.get(), size, bitmap)) {
// force our cahce32pixelref to be built
(void)cache->getCache32();
- bitmap->setInfo(SkImageInfo::MakeN32Premul(kCache32Count, 1));
+ bitmap->setConfig(SkImageInfo::MakeN32Premul(kCache32Count, 1));
bitmap->setPixelRef(cache->getCache32PixelRef());
gCache->add(storage.get(), size, *bitmap);
diff --git a/src/gpu/GrPictureUtils.cpp b/src/gpu/GrPictureUtils.cpp
index 30a1d39a3c..84a13be466 100644
--- a/src/gpu/GrPictureUtils.cpp
+++ b/src/gpu/GrPictureUtils.cpp
@@ -41,7 +41,10 @@ public:
fInfo.fHasNestedLayers = false;
fInfo.fIsNested = (2 == fSaveLayerDepth);
- fEmptyBitmap.setInfo(SkImageInfo::MakeUnknown(fInfo.fSize.fWidth, fInfo.fSize.fHeight));
+ fEmptyBitmap.setConfig(SkImageInfo::Make(fInfo.fSize.fWidth,
+ fInfo.fSize.fHeight,
+ kUnknown_SkColorType,
+ kIgnore_SkAlphaType));
fAccelData = accelData;
fAlreadyDrawn = false;
}
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 2e62647293..431238b9db 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -738,7 +738,7 @@ SkBitmap wrap_texture(GrTexture* texture) {
texture->asImageInfo(&info);
SkBitmap result;
- result.setInfo(info);
+ result.setConfig(info);
result.setPixelRef(SkNEW_ARGS(SkGrPixelRef, (info, texture)))->unref();
return result;
}
@@ -1818,7 +1818,7 @@ void SkGpuDevice::EXPERIMENTAL_optimize(SkPicture* picture) {
static void wrap_texture(GrTexture* texture, int width, int height, SkBitmap* result) {
SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
- result->setInfo(info);
+ result->setConfig(info);
result->setPixelRef(SkNEW_ARGS(SkGrPixelRef, (info, texture)))->unref();
}
diff --git a/src/image/SkImagePriv.h b/src/image/SkImagePriv.h
index 031832bd0d..9f9cd12f69 100644
--- a/src/image/SkImagePriv.h
+++ b/src/image/SkImagePriv.h
@@ -11,6 +11,8 @@
#include "SkBitmap.h"
#include "SkImage.h"
+extern SkBitmap::Config SkImageInfoToBitmapConfig(const SkImageInfo&);
+
// Call this if you explicitly want to use/share this pixelRef in the image
extern SkImage* SkNewImageFromPixelRef(const SkImageInfo&, SkPixelRef*,
size_t rowBytes);
@@ -21,7 +23,7 @@ extern SkImage* SkNewImageFromPixelRef(const SkImageInfo&, SkPixelRef*,
* be shared if either the bitmap is marked as immutable, or canSharePixelRef
* is true.
*
- * If the bitmap's colortype cannot be converted into a corresponding
+ * If the bitmap's config cannot be converted into a corresponding
* SkImageInfo, or the bitmap's pixels cannot be accessed, this will return
* NULL.
*/
diff --git a/src/image/SkImage_Raster.cpp b/src/image/SkImage_Raster.cpp
index 68fc1b32e6..3be7d84b7f 100644
--- a/src/image/SkImage_Raster.cpp
+++ b/src/image/SkImage_Raster.cpp
@@ -31,7 +31,7 @@ public:
return false;
}
- if (kUnknown_SkColorType == info.colorType()) {
+ if (SkImageInfoToBitmapConfig(info) == SkBitmap::kNo_Config) {
return false;
}
@@ -104,7 +104,7 @@ SkImage_Raster::SkImage_Raster(const Info& info, SkData* data, size_t rowBytes)
SkImage_Raster::SkImage_Raster(const Info& info, SkPixelRef* pr, size_t rowBytes)
: INHERITED(info.fWidth, info.fHeight)
{
- fBitmap.setInfo(info, rowBytes);
+ fBitmap.setConfig(info, rowBytes);
fBitmap.setPixelRef(pr);
fBitmap.lockPixels();
}
diff --git a/src/image/SkSurface_Raster.cpp b/src/image/SkSurface_Raster.cpp
index 0b6efe19fe..74197379ce 100644
--- a/src/image/SkSurface_Raster.cpp
+++ b/src/image/SkSurface_Raster.cpp
@@ -79,7 +79,8 @@ bool SkSurface_Raster::Valid(const SkImageInfo& info, size_t rowBytes) {
SkSurface_Raster::SkSurface_Raster(const SkImageInfo& info, void* pixels, size_t rb)
: INHERITED(info)
{
- fBitmap.installPixels(info, pixels, rb);
+ fBitmap.setConfig(info, rb);
+ fBitmap.setPixels(pixels);
fWeOwnThePixels = false; // We are "Direct"
}
@@ -88,7 +89,7 @@ SkSurface_Raster::SkSurface_Raster(SkPixelRef* pr)
{
const SkImageInfo& info = pr->info();
- fBitmap.setInfo(info, info.minRowBytes());
+ fBitmap.setConfig(info, info.minRowBytes());
fBitmap.setPixelRef(pr);
fWeOwnThePixels = true;
diff --git a/src/images/SkImageDecoder_libwebp.cpp b/src/images/SkImageDecoder_libwebp.cpp
index 353eabf015..02990258eb 100644
--- a/src/images/SkImageDecoder_libwebp.cpp
+++ b/src/images/SkImageDecoder_libwebp.cpp
@@ -311,7 +311,7 @@ bool SkWEBPImageDecoder::setDecodeConfig(SkBitmap* decodedBitmap,
} else {
info.fAlphaType = kOpaque_SkAlphaType;
}
- return decodedBitmap->setInfo(info);
+ return decodedBitmap->setConfig(info);
}
bool SkWEBPImageDecoder::onBuildTileIndex(SkStreamRewindable* stream,
diff --git a/src/images/SkImageRef.cpp b/src/images/SkImageRef.cpp
index 2cb8ec82ba..458aa2aa5a 100644
--- a/src/images/SkImageRef.cpp
+++ b/src/images/SkImageRef.cpp
@@ -32,7 +32,7 @@ SkImageRef::SkImageRef(const SkImageInfo& info, SkStreamRewindable* stream,
// This sets the colortype/alphatype to exactly match our info, so that this
// can get communicated down to the codec.
- fBitmap.setInfo(info);
+ fBitmap.setConfig(info);
#ifdef DUMP_IMAGEREF_LIFECYCLE
SkDebugf("add ImageRef %p [%d] data=%d\n",
@@ -190,7 +190,7 @@ SkImageRef::SkImageRef(SkReadBuffer& buffer, SkBaseMutex* mutex)
// This sets the colortype/alphatype to exactly match our info, so that this
// can get communicated down to the codec.
- fBitmap.setInfo(this->info());
+ fBitmap.setConfig(this->info());
}
void SkImageRef::flatten(SkWriteBuffer& buffer) const {
diff --git a/src/lazy/SkCachingPixelRef.cpp b/src/lazy/SkCachingPixelRef.cpp
index 76510f63cd..f1510fb67c 100644
--- a/src/lazy/SkCachingPixelRef.cpp
+++ b/src/lazy/SkCachingPixelRef.cpp
@@ -14,7 +14,7 @@ bool SkCachingPixelRef::Install(SkImageGenerator* generator,
SkASSERT(dst != NULL);
if ((NULL == generator)
|| !(generator->getInfo(&info))
- || !dst->setInfo(info)) {
+ || !dst->setConfig(info, 0)) {
SkDELETE(generator);
return false;
}
@@ -54,7 +54,7 @@ bool SkCachingPixelRef::onNewLockPixels(LockRec* rec) {
&bitmap);
if (NULL == fScaledCacheId) {
// Cache has been purged, must re-decode.
- if ((!bitmap.setInfo(info, fRowBytes)) || !bitmap.allocPixels()) {
+ if ((!bitmap.setConfig(info, fRowBytes)) || !bitmap.allocPixels()) {
fErrorInDecoding = true;
return false;
}
diff --git a/src/lazy/SkDiscardablePixelRef.cpp b/src/lazy/SkDiscardablePixelRef.cpp
index f0d7affdc8..53e9d1ab62 100644
--- a/src/lazy/SkDiscardablePixelRef.cpp
+++ b/src/lazy/SkDiscardablePixelRef.cpp
@@ -102,7 +102,7 @@ bool SkInstallDiscardablePixelRef(SkImageGenerator* generator, SkBitmap* dst,
SkAutoTDelete<SkImageGenerator> autoGenerator(generator);
if ((NULL == autoGenerator.get())
|| (!autoGenerator->getInfo(&info))
- || (!dst->setInfo(info))) {
+ || (!dst->setConfig(info, 0))) {
return false;
}
SkASSERT(dst->colorType() != kUnknown_SkColorType);
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index ab4d71d37f..e5402a021c 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -725,7 +725,7 @@ static inline SkBitmap makeContentBitmap(const SkISize& contentSize,
}
SkBitmap bitmap;
- bitmap.setInfo(info);
+ bitmap.setConfig(info);
return bitmap;
}
diff --git a/src/ports/SkImageDecoder_CG.cpp b/src/ports/SkImageDecoder_CG.cpp
index a21536b111..fe22ea0e76 100644
--- a/src/ports/SkImageDecoder_CG.cpp
+++ b/src/ports/SkImageDecoder_CG.cpp
@@ -70,7 +70,7 @@ bool SkImageDecoder_CG::onDecode(SkStream* stream, SkBitmap* bm, Mode mode) {
const int height = SkToInt(CGImageGetHeight(image));
SkImageInfo skinfo = SkImageInfo::MakeN32Premul(width, height);
- bm->setInfo(skinfo);
+ bm->setConfig(skinfo);
if (SkImageDecoder::kDecodeBounds_Mode == mode) {
return true;
}
diff --git a/src/utils/SkGatherPixelRefsAndRects.h b/src/utils/SkGatherPixelRefsAndRects.h
index 4e52ba07c8..894b8f0fde 100644
--- a/src/utils/SkGatherPixelRefsAndRects.h
+++ b/src/utils/SkGatherPixelRefsAndRects.h
@@ -28,7 +28,9 @@ public:
fSize.set(width, height);
fPRCont = prCont;
SkSafeRef(fPRCont);
- fEmptyBitmap.setInfo(SkImageInfo::MakeUnknown(width, height));
+ fEmptyBitmap.setConfig(SkImageInfo::Make(width, height,
+ kUnknown_SkColorType,
+ kIgnore_SkAlphaType));
}
virtual ~SkGatherPixelRefsAndRectsDevice() {
diff --git a/src/utils/SkPictureUtils.cpp b/src/utils/SkPictureUtils.cpp
index 512b228a49..fc1611d288 100644
--- a/src/utils/SkPictureUtils.cpp
+++ b/src/utils/SkPictureUtils.cpp
@@ -54,7 +54,7 @@ public:
GatherPixelRefDevice(int width, int height, PixelRefSet* prset) {
fSize.set(width, height);
- fEmptyBitmap.setInfo(SkImageInfo::MakeUnknown(width, height));
+ fEmptyBitmap.setConfig(SkImageInfo::MakeUnknown(width, height));
fPRSet = prset;
}
diff --git a/src/views/sdl/SkOSWindow_SDL.cpp b/src/views/sdl/SkOSWindow_SDL.cpp
index 27783d41fc..2a1fae28a6 100644
--- a/src/views/sdl/SkOSWindow_SDL.cpp
+++ b/src/views/sdl/SkOSWindow_SDL.cpp
@@ -23,23 +23,22 @@ static void post_SkEvent_event() {
}
static bool skia_setBitmapFromSurface(SkBitmap* dst, SDL_Surface* src) {
- SkColorType ct;
- SkAlphaType at;
+ SkBitmap::Config config;
switch (src->format->BytesPerPixel) {
case 2:
- ct = kRGB_565_SkColorType;
- at = kOpaque_SkAlphaType;
+ config = SkBitmap::kRGB_565_Config;
break;
case 4:
- ct = kN32_SkColorType;
- at = kPremul_SkAlphaType;
+ config = SkBitmap::kARGB_8888_Config;
break;
default:
return false;
}
- return dst->installPixels(SkImageInfo::Make(src->w, src->h, ct, at), src->pixels, src->pitch);
+ dst->setConfig(config, src->w, src->h, src->pitch);
+ dst->setPixels(src->pixels);
+ return true;
}
SkOSWindow::SkOSWindow(void* screen) {
diff --git a/tests/BitmapCopyTest.cpp b/tests/BitmapCopyTest.cpp
index 40cfbe0d54..74f4ac9d34 100644
--- a/tests/BitmapCopyTest.cpp
+++ b/tests/BitmapCopyTest.cpp
@@ -336,8 +336,9 @@ DEF_TEST(BitmapCopy, reporter) {
// Test with a very large configuration without pixel buffer
// attached.
SkBitmap tstSafeSize;
- tstSafeSize.setInfo(SkImageInfo::Make(100000000U, 100000000U,
- gPairs[i].fColorType, kPremul_SkAlphaType));
+ tstSafeSize.setConfig(SkImageInfo::Make(100000000U, 100000000U,
+ gPairs[i].fColorType,
+ kPremul_SkAlphaType));
int64_t safeSize = tstSafeSize.computeSafeSize64();
if (safeSize < 0) {
ERRORF(reporter, "getSafeSize64() negative: %s",
diff --git a/tests/BitmapTest.cpp b/tests/BitmapTest.cpp
index ef560aa6d6..dce1069542 100644
--- a/tests/BitmapTest.cpp
+++ b/tests/BitmapTest.cpp
@@ -13,10 +13,11 @@ static void test_bigwidth(skiatest::Reporter* reporter) {
SkBitmap bm;
int width = 1 << 29; // *4 will be the high-bit of 32bit int
- SkImageInfo info = SkImageInfo::MakeA8(width, 1);
- REPORTER_ASSERT(reporter, bm.setInfo(info));
+ SkImageInfo info = SkImageInfo::Make(width, 1, kAlpha_8_SkColorType,
+ kPremul_SkAlphaType);
+ REPORTER_ASSERT(reporter, bm.setConfig(info));
info.fColorType = kRGB_565_SkColorType;
- REPORTER_ASSERT(reporter, bm.setInfo(info));
+ REPORTER_ASSERT(reporter, bm.setConfig(info));
// for a 4-byte config, this width will compute a rowbytes of 0x80000000,
// which does not fit in a int32_t. setConfig should detect this, and fail.
@@ -25,7 +26,7 @@ static void test_bigwidth(skiatest::Reporter* reporter) {
// in a uint32_t (or larger), but for now this is the constraint.
info.fColorType = kN32_SkColorType;
- REPORTER_ASSERT(reporter, !bm.setInfo(info));
+ REPORTER_ASSERT(reporter, !bm.setConfig(info));
}
/**
@@ -36,7 +37,8 @@ DEF_TEST(Bitmap, reporter) {
for (int width = 0; width < 2; ++width) {
for (int height = 0; height < 2; ++height) {
SkBitmap bm;
- bool setConf = bm.setInfo(SkImageInfo::MakeN32Premul(width, height));
+ bool setConf = bm.setConfig(SkImageInfo::MakeN32Premul(width,
+ height));
REPORTER_ASSERT(reporter, setConf);
if (setConf) {
REPORTER_ASSERT(reporter, bm.allocPixels(NULL));
diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp
index 7219c9e750..a1c28ddbb4 100644
--- a/tests/CanvasTest.cpp
+++ b/tests/CanvasTest.cpp
@@ -101,7 +101,7 @@ static void test_clipVisitor(skiatest::Reporter* reporter, SkCanvas* canvas) {
SkISize size = canvas->getDeviceSize();
SkBitmap bm;
- bm.setInfo(SkImageInfo::MakeN32Premul(size.width(), size.height()));
+ bm.setConfig(SkImageInfo::MakeN32Premul(size.width(), size.height()));
SkCanvas c(bm);
Canvas2CanvasClipVisitor visitor(&c);
diff --git a/tests/ImageDecodingTest.cpp b/tests/ImageDecodingTest.cpp
index b30f551e0c..21c774727d 100644
--- a/tests/ImageDecodingTest.cpp
+++ b/tests/ImageDecodingTest.cpp
@@ -509,7 +509,7 @@ DEF_TEST(ImprovedBitmapFactory, reporter) {
SkStream::NewFromFile(path.c_str()));
if (sk_exists(path.c_str())) {
SkBitmap bm;
- SkAssertResult(bm.setInfo(SkImageInfo::MakeN32Premul(1, 1)));
+ SkAssertResult(bm.setConfig(SkImageInfo::MakeN32Premul(1, 1)));
REPORTER_ASSERT(reporter,
NULL != install_pixel_ref(&bm, stream.detach(), 1, true));
SkAutoLockPixels alp(bm);
diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp
index 1ef32abb95..98cd90e950 100644
--- a/tests/PictureTest.cpp
+++ b/tests/PictureTest.cpp
@@ -1185,7 +1185,7 @@ static void test_bad_bitmap() {
// This bitmap has a width and height but no pixels. As a result, attempting to record it will
// fail.
SkBitmap bm;
- bm.setInfo(SkImageInfo::MakeN32Premul(100, 100));
+ bm.setConfig(SkImageInfo::MakeN32Premul(100, 100));
SkPictureRecorder recorder;
SkCanvas* recordingCanvas = recorder.beginRecording(100, 100, NULL, 0);
recordingCanvas->drawBitmap(bm, 0, 0);
@@ -1616,7 +1616,7 @@ static void draw_bitmaps(const SkBitmap bitmap, SkCanvas* canvas) {
static void test_draw_bitmaps(SkCanvas* canvas) {
SkBitmap empty;
draw_bitmaps(empty, canvas);
- empty.setInfo(SkImageInfo::MakeN32Premul(10, 10));
+ empty.setConfig(SkImageInfo::MakeN32Premul(10, 10));
draw_bitmaps(empty, canvas);
}
diff --git a/tests/PipeTest.cpp b/tests/PipeTest.cpp
index 00a1a3f201..fd98fca7ef 100644
--- a/tests/PipeTest.cpp
+++ b/tests/PipeTest.cpp
@@ -16,7 +16,8 @@
// Ensures that the pipe gracefully handles drawing an invalid bitmap.
static void testDrawingBadBitmap(SkCanvas* pipeCanvas) {
SkBitmap badBitmap;
- badBitmap.setInfo(SkImageInfo::MakeUnknown(5, 5));
+ badBitmap.setConfig(SkImageInfo::Make(5, 5, kUnknown_SkColorType,
+ kPremul_SkAlphaType));
pipeCanvas->drawBitmap(badBitmap, 0, 0);
}
@@ -43,7 +44,7 @@ static void testDrawingAfterEndRecording(SkCanvas* canvas) {
DEF_TEST(Pipe, reporter) {
SkBitmap bitmap;
- bitmap.setInfo(SkImageInfo::MakeN32Premul(64, 64));
+ bitmap.setConfig(SkImageInfo::MakeN32Premul(64, 64));
SkCanvas canvas(bitmap);
PipeController pipeController(&canvas);
diff --git a/tests/ReadPixelsTest.cpp b/tests/ReadPixelsTest.cpp
index 3e22f7c73c..804a7c4abe 100644
--- a/tests/ReadPixelsTest.cpp
+++ b/tests/ReadPixelsTest.cpp
@@ -238,7 +238,7 @@ static void init_bitmap(SkBitmap* bitmap, const SkIRect& rect, BitmapInit init,
if (alloc) {
bitmap->allocPixels(info);
} else {
- bitmap->setInfo(info, rowBytes);
+ bitmap->setConfig(info, rowBytes);
}
}
diff --git a/tests/SerializationTest.cpp b/tests/SerializationTest.cpp
index ce91490f3e..c8f8e4926e 100644
--- a/tests/SerializationTest.cpp
+++ b/tests/SerializationTest.cpp
@@ -390,12 +390,12 @@ DEF_TEST(Serialization, reporter) {
SkImageInfo info = SkImageInfo::MakeN32Premul(kBitmapSize, kBitmapSize);
SkBitmap validBitmap;
- validBitmap.setInfo(info);
+ validBitmap.setConfig(info);
// Create a bitmap with a really large height
info.fHeight = 1000000000;
SkBitmap invalidBitmap;
- invalidBitmap.setInfo(info);
+ invalidBitmap.setConfig(info);
// The deserialization should succeed, and the rendering shouldn't crash,
// even when the device fails to initialize, due to its size
diff --git a/tests/ShaderOpacityTest.cpp b/tests/ShaderOpacityTest.cpp
index 90d25d731a..506c7cd36a 100644
--- a/tests/ShaderOpacityTest.cpp
+++ b/tests/ShaderOpacityTest.cpp
@@ -14,7 +14,7 @@ static void test_bitmap(skiatest::Reporter* reporter) {
SkImageInfo info = SkImageInfo::MakeN32Premul(2, 2);
SkBitmap bmp;
- bmp.setInfo(info);
+ bmp.setConfig(info);
// test 1: bitmap without pixel data
SkShader* shader = SkShader::CreateBitmapShader(bmp,
diff --git a/tests/WritePixelsTest.cpp b/tests/WritePixelsTest.cpp
index 1a527937de..a0e3051680 100644
--- a/tests/WritePixelsTest.cpp
+++ b/tests/WritePixelsTest.cpp
@@ -290,7 +290,7 @@ static const CanvasConfig gCanvasConfigs[] = {
// sure that the two rowBytes match (and the infos match).
//
static bool allocRowBytes(SkBitmap* bm, const SkImageInfo& info, size_t rowBytes) {
- if (!bm->setInfo(info, rowBytes)) {
+ if (!bm->setConfig(info, rowBytes)) {
return false;
}
SkPixelRef* pr = SkMallocPixelRef::NewAllocate(info, rowBytes, NULL);