aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-17 02:55:57 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-17 02:55:57 +0000
commita8c183125f2861067daf432cada06d431a795cd0 (patch)
tree202e5fd40988c363c3d83fd049e1b08b90bd683a /samplecode
parent0817a87970849a7e4aa9cfab9ec362b1cc9e3674 (diff)
use SkColorType instead of SkBitmap::Config in samplecode
BUG=skia: R=reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/169063002 git-svn-id: http://skia.googlecode.com/svn/trunk@13473 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode')
-rw-r--r--samplecode/SampleAAClip.cpp6
-rw-r--r--samplecode/SampleAARectModes.cpp3
-rw-r--r--samplecode/SampleAARects.cpp3
-rw-r--r--samplecode/SampleApp.cpp22
-rw-r--r--samplecode/SampleBitmapRect.cpp6
-rw-r--r--samplecode/SampleBlur.cpp5
-rw-r--r--samplecode/SampleColorFilter.cpp6
-rw-r--r--samplecode/SampleDash.cpp3
-rw-r--r--samplecode/SampleDither.cpp8
-rw-r--r--samplecode/SampleDitherBitmap.cpp13
-rw-r--r--samplecode/SampleEncode.cpp44
-rw-r--r--samplecode/SampleFatBits.cpp3
-rw-r--r--samplecode/SampleFilter.cpp25
-rw-r--r--samplecode/SampleFilter2.cpp2
-rw-r--r--samplecode/SampleFilterFuzz.cpp62
-rw-r--r--samplecode/SampleFontCache.cpp5
-rw-r--r--samplecode/SampleHairModes.cpp3
-rw-r--r--samplecode/SampleHairline.cpp14
-rw-r--r--samplecode/SampleLayerMask.cpp3
-rw-r--r--samplecode/SampleMipMap.cpp3
-rw-r--r--samplecode/SampleOvalTest.cpp3
-rw-r--r--samplecode/SamplePath.cpp3
-rw-r--r--samplecode/SampleRegion.cpp3
-rw-r--r--samplecode/SampleRepeatTile.cpp3
-rw-r--r--samplecode/SampleRotateCircles.cpp3
-rw-r--r--samplecode/SampleShaderText.cpp7
-rw-r--r--samplecode/SampleSlides.cpp3
-rw-r--r--samplecode/SampleText.cpp4
-rw-r--r--samplecode/SampleTextAlpha.cpp2
-rw-r--r--samplecode/SampleTextureDomain.cpp3
-rw-r--r--samplecode/SampleTiling.cpp19
-rw-r--r--samplecode/SampleTinyBitmap.cpp5
-rw-r--r--samplecode/SampleUnpremul.cpp5
-rw-r--r--samplecode/SampleVertices.cpp3
-rw-r--r--samplecode/SampleWritePixels.cpp3
-rw-r--r--samplecode/SampleXfermodesBlur.cpp5
36 files changed, 119 insertions, 194 deletions
diff --git a/samplecode/SampleAAClip.cpp b/samplecode/SampleAAClip.cpp
index d4e632d7af..5419f68ed1 100644
--- a/samplecode/SampleAAClip.cpp
+++ b/samplecode/SampleAAClip.cpp
@@ -46,9 +46,9 @@ static void drawClip(SkCanvas* canvas, const SkAAClip& clip) {
clip.copyToMask(&mask);
SkAutoMaskFreeImage amfi(mask.fImage);
- bm.setConfig(SkBitmap::kA8_Config, mask.fBounds.width(),
- mask.fBounds.height(), mask.fRowBytes);
- bm.setPixels(mask.fImage);
+ bm.installPixels(SkImageInfo::MakeA8(mask.fBounds.width(),
+ mask.fBounds.height()),
+ mask.fImage, mask.fRowBytes, NULL, NULL);
SkPaint paint;
canvas->drawBitmap(bm,
diff --git a/samplecode/SampleAARectModes.cpp b/samplecode/SampleAARectModes.cpp
index 3a8eb13749..bea0e28799 100644
--- a/samplecode/SampleAARectModes.cpp
+++ b/samplecode/SampleAARectModes.cpp
@@ -63,8 +63,7 @@ static SkScalar drawCell(SkCanvas* canvas, SkXfermode* mode,
static SkShader* make_bg_shader() {
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
- bm.allocPixels();
+ bm.allocN32Pixels(2, 2);
*bm.getAddr32(0, 0) = *bm.getAddr32(1, 1) = 0xFFFFFFFF;
*bm.getAddr32(1, 0) = *bm.getAddr32(0, 1) = SkPackARGB32(0xFF, 0xCC,
0xCC, 0xCC);
diff --git a/samplecode/SampleAARects.cpp b/samplecode/SampleAARects.cpp
index e84c9664a0..f552df6f15 100644
--- a/samplecode/SampleAARects.cpp
+++ b/samplecode/SampleAARects.cpp
@@ -14,8 +14,7 @@
static SkBitmap createBitmap(int n) {
SkBitmap bitmap;
- bitmap.setConfig(SkBitmap::kARGB_8888_Config, n, n);
- bitmap.allocPixels();
+ bitmap.allocN32Pixels(n, n);
bitmap.eraseColor(SK_ColorGREEN);
SkCanvas canvas(bitmap);
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 5b37662dcd..80ffaaa6cf 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -1363,24 +1363,6 @@ void SampleWindow::onDraw(SkCanvas* canvas) {
#include "SkColorPriv.h"
-#if 0 // UNUSED
-static void reverseRedAndBlue(const SkBitmap& bm) {
- SkASSERT(bm.config() == SkBitmap::kARGB_8888_Config);
- uint8_t* p = (uint8_t*)bm.getPixels();
- uint8_t* stop = p + bm.getSize();
- while (p < stop) {
- // swap red/blue (to go from ARGB(int) to RGBA(memory) and premultiply
- unsigned scale = SkAlpha255To256(p[3]);
- unsigned r = p[2];
- unsigned b = p[0];
- p[0] = SkAlphaMul(r, scale);
- p[1] = SkAlphaMul(p[1], scale);
- p[2] = SkAlphaMul(b, scale);
- p += 4;
- }
-}
-#endif
-
void SampleWindow::saveToPdf()
{
fSaveToPdf = true;
@@ -1576,7 +1558,7 @@ static SkColorType gColorTypeCycle[] = {
kUnknown_SkColorType, // index8 -> none
};
-static SkColorType cycle_configs(SkColorType c) {
+static SkColorType cycle_colortypes(SkColorType c) {
return gColorTypeCycle[c];
}
@@ -1974,7 +1956,7 @@ bool SampleWindow::onHandleKey(SkKey key) {
if (USE_ARROWS_FOR_ZOOM) {
this->changeZoomLevel(-1.f / 32.f);
} else {
- this->setColorType(cycle_configs(this->getBitmap().colorType()));
+ this->setColorType(cycle_colortypes(this->getBitmap().colorType()));
this->updateTitle();
}
return true;
diff --git a/samplecode/SampleBitmapRect.cpp b/samplecode/SampleBitmapRect.cpp
index 422ed583ef..cf1196c62d 100644
--- a/samplecode/SampleBitmapRect.cpp
+++ b/samplecode/SampleBitmapRect.cpp
@@ -34,8 +34,7 @@ class GrContext;
#define SCALAR_SIZE SkIntToScalar(INT_SIZE)
static void make_bitmap(SkBitmap* bitmap) {
- bitmap->setConfig(SkBitmap::kARGB_8888_Config, INT_SIZE, INT_SIZE);
- bitmap->allocPixels();
+ bitmap->allocN32Pixels(INT_SIZE, INT_SIZE);
SkCanvas canvas(*bitmap);
canvas.drawColor(SK_ColorRED);
@@ -164,8 +163,7 @@ static void make_big_bitmap(SkBitmap* bm) {
const int BIG_W = SkScalarRoundToInt(paint.measureText(gText, strlen(gText)));
- bm->setConfig(SkBitmap::kARGB_8888_Config, BIG_W, BIG_H);
- bm->allocPixels();
+ bm->allocN32Pixels(BIG_W, BIG_H);
bm->eraseColor(SK_ColorWHITE);
SkCanvas canvas(*bm);
diff --git a/samplecode/SampleBlur.cpp b/samplecode/SampleBlur.cpp
index d951d8508b..a918bf217b 100644
--- a/samplecode/SampleBlur.cpp
+++ b/samplecode/SampleBlur.cpp
@@ -23,8 +23,9 @@ static SkBitmap make_bitmap() {
SkBitmap bm;
SkColorTable* ctable = new SkColorTable(c, 256);
- bm.setConfig(SkBitmap::kIndex8_Config, 256, 256);
- bm.allocPixels(ctable);
+ bm.allocPixels(SkImageInfo::Make(256, 256, kIndex_8_SkColorType,
+ kPremul_SkAlphaType),
+ NULL, ctable);
ctable->unref();
bm.lockPixels();
diff --git a/samplecode/SampleColorFilter.cpp b/samplecode/SampleColorFilter.cpp
index 7218268b62..2dc2e427dc 100644
--- a/samplecode/SampleColorFilter.cpp
+++ b/samplecode/SampleColorFilter.cpp
@@ -88,8 +88,7 @@ static void test_5bits() {
SkShader* createChecker();
SkShader* createChecker() {
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
- bm.allocPixels();
+ bm.allocN32Pixels(2, 2);
bm.lockPixels();
*bm.getAddr32(0, 0) = *bm.getAddr32(1, 1) = SkPreMultiplyColor(0xFFFFFFFF);
*bm.getAddr32(0, 1) = *bm.getAddr32(1, 0) = SkPreMultiplyColor(0xFFCCCCCC);
@@ -104,8 +103,7 @@ SkShader* createChecker() {
static SkBitmap createBitmap(int n) {
SkBitmap bitmap;
- bitmap.setConfig(SkBitmap::kARGB_8888_Config, n, n);
- bitmap.allocPixels();
+ bitmap.allocN32Pixels(n, n);
bitmap.eraseColor(SK_ColorTRANSPARENT);
SkCanvas canvas(bitmap);
diff --git a/samplecode/SampleDash.cpp b/samplecode/SampleDash.cpp
index 20e28969c8..26d36942df 100644
--- a/samplecode/SampleDash.cpp
+++ b/samplecode/SampleDash.cpp
@@ -17,8 +17,7 @@ static void setBitmapDash(SkPaint* paint, int width) {
SkColor c = paint->getColor();
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, 2, 1);
- bm.allocPixels();
+ bm.allocN32Pixels(2, 1);
bm.lockPixels();
*bm.getAddr32(0, 0) = SkPreMultiplyARGB(0xFF, SkColorGetR(c),
SkColorGetG(c), SkColorGetB(c));
diff --git a/samplecode/SampleDither.cpp b/samplecode/SampleDither.cpp
index 38d67ad7cf..57c7613d93 100644
--- a/samplecode/SampleDither.cpp
+++ b/samplecode/SampleDither.cpp
@@ -70,14 +70,8 @@ static void draw_sweep(SkCanvas* c, int width, int height, SkScalar angle) {
}
static void make_bm(SkBitmap* bm) {
- bm->setConfig(SkBitmap::kARGB_8888_Config, 100, 100);
- bm->allocPixels();
-#if 0
- bm->eraseColor(SK_ColorBLUE);
- return;
-#else
+ bm->allocN32Pixels(100, 100);
bm->eraseColor(SK_ColorTRANSPARENT);
-#endif
SkCanvas c(*bm);
draw_sweep(&c, bm->width(), bm->height(), 0);
diff --git a/samplecode/SampleDitherBitmap.cpp b/samplecode/SampleDitherBitmap.cpp
index dc439002d0..d6d15e9887 100644
--- a/samplecode/SampleDitherBitmap.cpp
+++ b/samplecode/SampleDitherBitmap.cpp
@@ -60,8 +60,9 @@ static SkBitmap make_bitmap() {
SkColorTable* ctable = new SkColorTable(c, 256, kOpaque_SkAlphaType);
SkBitmap bm;
- bm.setConfig(SkBitmap::kIndex8_Config, 256, 32);
- bm.allocPixels(ctable);
+ bm.allocPixels(SkImageInfo::Make(256, 32, kIndex_8_SkColorType,
+ kPremul_SkAlphaType),
+ NULL, ctable);
ctable->unref();
bm.lockPixels();
@@ -101,14 +102,6 @@ protected:
static void setBitmapOpaque(SkBitmap* bm, bool isOpaque) {
SkAutoLockPixels alp(*bm); // needed for ctable
bm->setAlphaType(isOpaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType);
-#if 0
- SkColorTable* ctable = bm->getColorTable();
- if (ctable) {
- if (ctable->isOpaque() != isOpaque) {
- // how do we change a colortable? don't want to
- }
- }
-#endif
}
static void draw2(SkCanvas* canvas, const SkBitmap& bm) {
diff --git a/samplecode/SampleEncode.cpp b/samplecode/SampleEncode.cpp
index 7af47a697e..4769fbb0a8 100644
--- a/samplecode/SampleEncode.cpp
+++ b/samplecode/SampleEncode.cpp
@@ -26,14 +26,13 @@
#include "SkStream.h"
-static void make_image(SkBitmap* bm, SkBitmap::Config config, int configIndex) {
+static void make_image(SkBitmap* bm, SkColorType ct, int configIndex) {
const int width = 98;
const int height = 100;
- SkBitmap device;
-
- device.setConfig(SkBitmap::kARGB_8888_Config, width, height);
- device.allocPixels();
+ const SkImageInfo info = SkImageInfo::Make(width, height, ct, kPremul_SkAlphaType);
+ SkBitmap device;
+ device.allocN32Pixels(width, height);
SkCanvas canvas(device);
SkPaint paint;
@@ -43,13 +42,12 @@ static void make_image(SkBitmap* bm, SkBitmap::Config config, int configIndex) {
canvas.drawCircle(SkIntToScalar(width)/2, SkIntToScalar(height)/2,
SkIntToScalar(width)/2, paint);
- bm->setConfig(config, width, height);
- switch (config) {
- case SkBitmap::kARGB_8888_Config:
+ switch (ct) {
+ case kPMColor_SkColorType:
bm->swap(device);
break;
- case SkBitmap::kRGB_565_Config: {
- bm->allocPixels();
+ case kRGB_565_SkColorType: {
+ bm->allocPixels(info);
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
*bm->getAddr16(x, y) = SkPixel32ToPixel16(*device.getAddr32(x, y));
@@ -57,7 +55,7 @@ static void make_image(SkBitmap* bm, SkBitmap::Config config, int configIndex) {
}
break;
}
- case SkBitmap::kIndex8_Config: {
+ case kIndex_8_SkColorType: {
SkPMColor colors[256];
for (int i = 0; i < 256; i++) {
if (configIndex & 1) {
@@ -67,9 +65,8 @@ static void make_image(SkBitmap* bm, SkBitmap::Config config, int configIndex) {
}
}
SkColorTable* ctable = new SkColorTable(colors, 256);
- bm->allocPixels(ctable);
+ bm->allocPixels(info, NULL, ctable);
ctable->unref();
-
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
*bm->getAddr8(x, y) = SkGetPackedR32(*device.getAddr32(x, y));
@@ -78,16 +75,16 @@ static void make_image(SkBitmap* bm, SkBitmap::Config config, int configIndex) {
break;
}
default:
- break;
+ SkASSERT(0);
}
}
// configs to build the original bitmap in. Can be at most these 3
-static const SkBitmap::Config gConfigs[] = {
- SkBitmap::kARGB_8888_Config,
- SkBitmap::kRGB_565_Config,
- SkBitmap::kIndex8_Config, // opaque
- SkBitmap::kIndex8_Config // alpha
+static const SkColorType gColorTypes[] = {
+ kPMColor_SkColorType,
+ kRGB_565_SkColorType,
+ kIndex_8_SkColorType, // opaque
+ kIndex_8_SkColorType // alpha
};
static const char* const gConfigLabels[] = {
@@ -115,13 +112,12 @@ public:
int fBitmapCount;
EncodeView() {
- #if 1
- fBitmapCount = SK_ARRAY_COUNT(gConfigs);
+ fBitmapCount = SK_ARRAY_COUNT(gColorTypes);
fBitmaps = new SkBitmap[fBitmapCount];
fEncodedPNGs = new SkAutoDataUnref[fBitmapCount];
fEncodedJPEGs = new SkAutoDataUnref[fBitmapCount];
for (int i = 0; i < fBitmapCount; i++) {
- make_image(&fBitmaps[i], gConfigs[i], i);
+ make_image(&fBitmaps[i], gColorTypes[i], i);
for (size_t j = 0; j < SK_ARRAY_COUNT(gTypes); j++) {
SkAutoTDelete<SkImageEncoder> codec(
@@ -144,10 +140,6 @@ public:
}
}
}
- #else
- fBitmaps = NULL;
- fBitmapCount = 0;
- #endif
this->setBGColor(0xFFDDDDDD);
}
diff --git a/samplecode/SampleFatBits.cpp b/samplecode/SampleFatBits.cpp
index 8b486bd016..6900fae3eb 100644
--- a/samplecode/SampleFatBits.cpp
+++ b/samplecode/SampleFatBits.cpp
@@ -39,8 +39,7 @@ static SkShader* createChecker() {
// SkColor colors[] = { 0xFFFDFDFD, 0xFFF4F4F4 };
SkColor colors[] = { 0xFFFFFFFF, 0xFFFFFFFF };
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
- bm.allocPixels();
+ bm.allocN32Pixels(2, 2);
bm.lockPixels();
*bm.getAddr32(0, 0) = *bm.getAddr32(1, 1) = SkPreMultiplyColor(colors[0]);
*bm.getAddr32(0, 1) = *bm.getAddr32(1, 0) = SkPreMultiplyColor(colors[1]);
diff --git a/samplecode/SampleFilter.cpp b/samplecode/SampleFilter.cpp
index 7f902d5b2e..1b26bf2463 100644
--- a/samplecode/SampleFilter.cpp
+++ b/samplecode/SampleFilter.cpp
@@ -22,13 +22,14 @@
#include "SkDither.h"
static void make_bm(SkBitmap* bm) {
- const SkColor colors[] = {
- SK_ColorRED, SK_ColorGREEN,
- SK_ColorBLUE, SK_ColorWHITE
+ const SkPMColor colors[] = {
+ SkPreMultiplyColor(SK_ColorRED), SkPreMultiplyColor(SK_ColorGREEN),
+ SkPreMultiplyColor(SK_ColorBLUE), SkPreMultiplyColor(SK_ColorWHITE)
};
SkColorTable* ctable = new SkColorTable(colors, 4);
- bm->setConfig(SkBitmap::kIndex8_Config, 2, 2);
- bm->allocPixels(ctable);
+ bm->allocPixels(SkImageInfo::Make(2, 2, kIndex_8_SkColorType,
+ kOpaque_SkAlphaType),
+ NULL, ctable);
ctable->unref();
*bm->getAddr8(0, 0) = 0;
@@ -39,22 +40,8 @@ static void make_bm(SkBitmap* bm) {
static SkScalar draw_bm(SkCanvas* canvas, const SkBitmap& bm,
SkScalar x, SkScalar y, SkPaint* paint) {
-#if 1
canvas->drawBitmap(bm, x, y, paint);
return SkIntToScalar(bm.width()) * 5/4;
-#else
- SkAutoCanvasRestore acr(canvas, true);
- canvas->translate(x, y);
-
- SkScalar w = SkIntToScalar(bm.width());
- SkScalar h = SkIntToScalar(bm.height());
- SkShader* s = SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode,
- SkShader::kRepeat_TileMode);
- paint->setShader(s)->unref();
- canvas->drawRect(SkRect::MakeWH(w, h), *paint);
- paint->setShader(NULL);
- return w * 5/4;
-#endif
}
static SkScalar draw_set(SkCanvas* c, const SkBitmap& bm, SkScalar x, SkPaint* p) {
diff --git a/samplecode/SampleFilter2.cpp b/samplecode/SampleFilter2.cpp
index f3ab7f4574..552ce8a83c 100644
--- a/samplecode/SampleFilter2.cpp
+++ b/samplecode/SampleFilter2.cpp
@@ -103,7 +103,7 @@ protected:
p.setTextSize(SkIntToScalar(18));
SkString s;
s.append(" depth=");
- s.appendS32(fBitmaps[i].config() == SkBitmap::kRGB_565_Config ? 16 : 32);
+ s.appendS32(fBitmaps[i].colorType() == kRGB_565_SkColorType ? 16 : 32);
canvas->drawText(s.c_str(), s.size(), x + W + SkIntToScalar(4),
y + H/2, p);
}
diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp
index 4ef7d4033a..f753b50304 100644
--- a/samplecode/SampleFilterFuzz.cpp
+++ b/samplecode/SampleFilterFuzz.cpp
@@ -111,13 +111,36 @@ static SkDisplacementMapEffect::ChannelSelectorType make_channel_selector_type()
return static_cast<SkDisplacementMapEffect::ChannelSelectorType>(R(4)+1);
}
-static void make_g_bitmap(SkBitmap& bitmap) {
- bitmap.setConfig((SkBitmap::Config)R(SkBitmap::kConfigCount), kBitmapSize, kBitmapSize);
- while (!bitmap.allocPixels()) {
- bitmap.setConfig((SkBitmap::Config)R(SkBitmap::kConfigCount), kBitmapSize, kBitmapSize);
+static bool valid_for_raster_canvas(const SkImageInfo& info) {
+ switch (info.colorType()) {
+ case kAlpha_8_SkColorType:
+ case kRGB_565_SkColorType:
+ return true;
+ case kPMColor_SkColorType:
+ return kPremul_SkAlphaType == info.alphaType() ||
+ kOpaque_SkAlphaType == info.alphaType();
+ default:
+ break;
}
- SkBitmapDevice device(bitmap);
- SkCanvas canvas(&device);
+ return false;
+}
+
+static SkColorType rand_colortype() {
+ return (SkColorType)R(kLastEnum_SkColorType + 1);
+}
+
+static void rand_bitmap_for_canvas(SkBitmap* bitmap) {
+ SkImageInfo info;
+ do {
+ info = SkImageInfo::Make(kBitmapSize, kBitmapSize, rand_colortype(),
+ kPremul_SkAlphaType);
+ } while (!valid_for_raster_canvas(info) || !bitmap->allocPixels(info));
+}
+
+static void make_g_bitmap(SkBitmap& bitmap) {
+ rand_bitmap_for_canvas(&bitmap);
+
+ SkCanvas canvas(bitmap);
canvas.clear(0x00000000);
SkPaint paint;
paint.setAntiAlias(true);
@@ -128,31 +151,10 @@ static void make_g_bitmap(SkBitmap& bitmap) {
SkIntToScalar(kBitmapSize/4), paint);
}
-static bool valid_for_raster_canvas(const SkBitmap& bm) {
- SkImageInfo info;
- if (!bm.asImageInfo(&info)) {
- return false;
- }
- switch (info.fColorType) {
- case kAlpha_8_SkColorType:
- case kRGB_565_SkColorType:
- return true;
- case kPMColor_SkColorType:
- return kPremul_SkAlphaType == info.fAlphaType ||
- kOpaque_SkAlphaType == info.fAlphaType;
- default:
- break;
- }
- return false;
-}
-
static void make_checkerboard_bitmap(SkBitmap& bitmap) {
- bitmap.setConfig((SkBitmap::Config)R(SkBitmap::kConfigCount), kBitmapSize, kBitmapSize);
- while (valid_for_raster_canvas(bitmap) && !bitmap.allocPixels()) {
- bitmap.setConfig((SkBitmap::Config)R(SkBitmap::kConfigCount), kBitmapSize, kBitmapSize);
- }
- SkBitmapDevice device(bitmap);
- SkCanvas canvas(&device);
+ rand_bitmap_for_canvas(&bitmap);
+
+ SkCanvas canvas(bitmap);
canvas.clear(0x00000000);
SkPaint darkPaint;
darkPaint.setColor(0xFF804020);
diff --git a/samplecode/SampleFontCache.cpp b/samplecode/SampleFontCache.cpp
index c5f4457729..77f66b0eff 100644
--- a/samplecode/SampleFontCache.cpp
+++ b/samplecode/SampleFontCache.cpp
@@ -92,8 +92,9 @@ public:
status = pthread_create(&fMThreads[i], NULL, measure_proc, NULL);
SkASSERT(0 == status);
- fBitmaps[i].setConfig(SkBitmap::kRGB_565_Config, 320, 240);
- fBitmaps[i].allocPixels();
+ fBitmaps[i].allocPixels(SkImageInfo::Make(320, 240,
+ kRGB_565_SkColorType,
+ kOpaque_SkAlphaType));
status = pthread_create(&fDThreads[i], NULL, draw_proc, &fBitmaps[i]);
SkASSERT(0 == status);
}
diff --git a/samplecode/SampleHairModes.cpp b/samplecode/SampleHairModes.cpp
index 4168ffd6b4..4aa8e0208f 100644
--- a/samplecode/SampleHairModes.cpp
+++ b/samplecode/SampleHairModes.cpp
@@ -62,8 +62,7 @@ static SkScalar drawCell(SkCanvas* canvas, SkXfermode* mode, SkAlpha a0, SkAlpha
static SkShader* make_bg_shader() {
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
- bm.allocPixels();
+ bm.allocN32Pixels(2, 2);
*bm.getAddr32(0, 0) = *bm.getAddr32(1, 1) = 0xFFFFFFFF;
*bm.getAddr32(1, 0) = *bm.getAddr32(0, 1) = SkPackARGB32(0xFF, 0xCC, 0xCC, 0xCC);
diff --git a/samplecode/SampleHairline.cpp b/samplecode/SampleHairline.cpp
index f08146e672..4ac8b6255a 100644
--- a/samplecode/SampleHairline.cpp
+++ b/samplecode/SampleHairline.cpp
@@ -33,8 +33,7 @@ static SkRandom gRand;
static void test_chromium_9005() {
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, 800, 600);
- bm.allocPixels();
+ bm.allocN32Pixels(800, 600);
SkCanvas canvas(bm);
@@ -227,16 +226,13 @@ protected:
}
SkBitmap bm, bm2;
- bm.setConfig(SkBitmap::kARGB_8888_Config,
- WIDTH + MARGIN*2,
- HEIGHT + MARGIN*2);
- bm.allocPixels();
+ bm.allocN32Pixels(WIDTH + MARGIN*2, HEIGHT + MARGIN*2);
// this will erase our margin, which we want to always stay 0
bm.eraseColor(SK_ColorTRANSPARENT);
- bm2.setConfig(SkBitmap::kARGB_8888_Config, WIDTH, HEIGHT,
- bm.rowBytes());
- bm2.setPixels(bm.getAddr32(MARGIN, MARGIN));
+ bm2.installPixels(SkImageInfo::MakeN32Premul(WIDTH, HEIGHT),
+ bm.getAddr32(MARGIN, MARGIN), bm.rowBytes(),
+ NULL, NULL);
SkCanvas c2(bm2);
SkPaint paint;
diff --git a/samplecode/SampleLayerMask.cpp b/samplecode/SampleLayerMask.cpp
index 33c06d1cb2..b3bbac622f 100644
--- a/samplecode/SampleLayerMask.cpp
+++ b/samplecode/SampleLayerMask.cpp
@@ -36,8 +36,7 @@ protected:
SkBitmap mask;
int w = SkScalarRoundToInt(r.width());
int h = SkScalarRoundToInt(r.height());
- mask.setConfig(SkBitmap::kARGB_8888_Config, w, h);
- mask.allocPixels();
+ mask.allocN32Pixels(w, h);
mask.eraseColor(SK_ColorTRANSPARENT);
SkCanvas c(mask);
SkRect bounds = r;
diff --git a/samplecode/SampleMipMap.cpp b/samplecode/SampleMipMap.cpp
index 3cfeeb704e..a9804ac5e4 100644
--- a/samplecode/SampleMipMap.cpp
+++ b/samplecode/SampleMipMap.cpp
@@ -14,8 +14,7 @@
static SkBitmap createBitmap(int n) {
SkBitmap bitmap;
- bitmap.setConfig(SkBitmap::kARGB_8888_Config, n, n);
- bitmap.allocPixels();
+ bitmap.allocN32Pixels(n, n);
bitmap.eraseColor(SK_ColorTRANSPARENT);
SkCanvas canvas(bitmap);
diff --git a/samplecode/SampleOvalTest.cpp b/samplecode/SampleOvalTest.cpp
index a105b82801..ef9c20d031 100644
--- a/samplecode/SampleOvalTest.cpp
+++ b/samplecode/SampleOvalTest.cpp
@@ -22,8 +22,7 @@ public:
OvalTestView() {
fSize.set(SK_Scalar1, SK_Scalar1);
- fBitmap.setConfig(SkBitmap::kARGB_8888_Config, kILimit, kILimit);
- fBitmap.allocPixels();
+ fBitmap.allocN32Pixels(kILimit, kILimit);
fInsideColor = SkPreMultiplyColor(SK_ColorRED);
fOutsideColor = SkPreMultiplyColor(SK_ColorGREEN);
diff --git a/samplecode/SamplePath.cpp b/samplecode/SamplePath.cpp
index a09be281b4..e35eeb6717 100644
--- a/samplecode/SamplePath.cpp
+++ b/samplecode/SamplePath.cpp
@@ -73,8 +73,7 @@ static void test_cubic2() {
}
SkBitmap bitmap;
- bitmap.setConfig(SkBitmap::kARGB_8888_Config, 300, 200);
- bitmap.allocPixels();
+ bitmap.allocN32Pixels(300, 200);
SkCanvas canvas(bitmap);
SkPaint paint;
diff --git a/samplecode/SampleRegion.cpp b/samplecode/SampleRegion.cpp
index c29f0907ce..54858de7a1 100644
--- a/samplecode/SampleRegion.cpp
+++ b/samplecode/SampleRegion.cpp
@@ -20,8 +20,7 @@ static void test_strokerect(SkCanvas* canvas) {
int height = 100;
SkBitmap bitmap;
- bitmap.setConfig(SkBitmap::kA8_Config, width*2, height*2);
- bitmap.allocPixels();
+ bitmap.allocPixels(SkImageInfo::MakeA8(width*2, height*2));
bitmap.eraseColor(SK_ColorTRANSPARENT);
SkScalar dx = 20;
diff --git a/samplecode/SampleRepeatTile.cpp b/samplecode/SampleRepeatTile.cpp
index 988345c0fc..b352894329 100644
--- a/samplecode/SampleRepeatTile.cpp
+++ b/samplecode/SampleRepeatTile.cpp
@@ -14,8 +14,7 @@
static void make_bitmap(SkBitmap* bm) {
const int W = 100;
const int H = 100;
- bm->setConfig(SkBitmap::kARGB_8888_Config, W, H);
- bm->allocPixels();
+ bm->allocN32Pixels(W, H);
SkPaint paint;
SkCanvas canvas(*bm);
diff --git a/samplecode/SampleRotateCircles.cpp b/samplecode/SampleRotateCircles.cpp
index 537f42485b..f9b32ea417 100644
--- a/samplecode/SampleRotateCircles.cpp
+++ b/samplecode/SampleRotateCircles.cpp
@@ -108,8 +108,7 @@ protected:
int h = w;
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, w, h);
- bm.allocPixels();
+ bm.allocN32Pixels(w, h);
bm.eraseColor(0);
SkAutoLockPixels alp(bm);
diff --git a/samplecode/SampleShaderText.cpp b/samplecode/SampleShaderText.cpp
index 6855824d3f..c7048ab401 100644
--- a/samplecode/SampleShaderText.cpp
+++ b/samplecode/SampleShaderText.cpp
@@ -11,9 +11,8 @@
#include "SkGradientShader.h"
#include "SkUnitMappers.h"
-static void makebm(SkBitmap* bm, SkBitmap::Config config, int w, int h) {
- bm->setConfig(config, w, h);
- bm->allocPixels();
+static void makebm(SkBitmap* bm, int w, int h) {
+ bm->allocN32Pixels(w, h);
bm->eraseColor(SK_ColorTRANSPARENT);
SkCanvas canvas(*bm);
@@ -39,7 +38,7 @@ static SkShader* MakeBitmapShader(SkShader::TileMode tx, SkShader::TileMode ty,
int w, int h) {
static SkBitmap bmp;
if (bmp.isNull()) {
- makebm(&bmp, SkBitmap::kARGB_8888_Config, w/2, h/4);
+ makebm(&bmp, w/2, h/4);
}
return SkShader::CreateBitmapShader(bmp, tx, ty);
}
diff --git a/samplecode/SampleSlides.cpp b/samplecode/SampleSlides.cpp
index 4f6803221c..26cfc7d1a3 100644
--- a/samplecode/SampleSlides.cpp
+++ b/samplecode/SampleSlides.cpp
@@ -686,8 +686,7 @@ public:
fIndex = 0;
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, 1024, 768);
- bm.allocPixels();
+ bm.allocN32Pixels(1024, 768);
SkCanvas canvas(bm);
SkScalar s = SkIntToScalar(1024) / 640;
canvas.scale(s, s);
diff --git a/samplecode/SampleText.cpp b/samplecode/SampleText.cpp
index 7e98171daa..c1aca6398c 100644
--- a/samplecode/SampleText.cpp
+++ b/samplecode/SampleText.cpp
@@ -273,8 +273,8 @@ protected:
}
static void make_textstrip(SkBitmap* bm) {
- bm->setConfig(SkBitmap::kRGB_565_Config, 200, 18);
- bm->allocPixels();
+ bm->allocPixels(SkImageInfo::Make(200, 18, kRGB_565_SkColorType,
+ kOpaque_SkAlphaType));
bm->eraseColor(SK_ColorWHITE);
SkCanvas canvas(*bm);
diff --git a/samplecode/SampleTextAlpha.cpp b/samplecode/SampleTextAlpha.cpp
index 83616f4260..2732452c82 100644
--- a/samplecode/SampleTextAlpha.cpp
+++ b/samplecode/SampleTextAlpha.cpp
@@ -29,7 +29,7 @@
#include "SkStream.h"
static void check_for_nonwhite(const SkBitmap& bm, int alpha) {
- if (bm.config() != SkBitmap::kRGB_565_Config) {
+ if (bm.colorType() != kRGB_565_SkColorType) {
return;
}
diff --git a/samplecode/SampleTextureDomain.cpp b/samplecode/SampleTextureDomain.cpp
index 854df6ecfd..47a3ab0a09 100644
--- a/samplecode/SampleTextureDomain.cpp
+++ b/samplecode/SampleTextureDomain.cpp
@@ -13,8 +13,7 @@
static SkBitmap make_bitmap() {
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config , 5, 5);
- bm.allocPixels();
+ bm.allocN32Pixels(5, 5);
for (int y = 0; y < bm.height(); y++) {
uint32_t* p = bm.getAddr32(0, y);
diff --git a/samplecode/SampleTiling.cpp b/samplecode/SampleTiling.cpp
index c35cf88846..735b9907ef 100644
--- a/samplecode/SampleTiling.cpp
+++ b/samplecode/SampleTiling.cpp
@@ -24,9 +24,8 @@
#include "SkBlurMask.h"
#include "SkBlurDrawLooper.h"
-static void makebm(SkBitmap* bm, SkBitmap::Config config, int w, int h) {
- bm->setConfig(config, w, h);
- bm->allocPixels();
+static void makebm(SkBitmap* bm, SkColorType ct, int w, int h) {
+ bm->allocPixels(SkImageInfo::Make(w, h, ct, kPremul_SkAlphaType));
bm->eraseColor(SK_ColorTRANSPARENT);
SkCanvas canvas(*bm);
@@ -55,9 +54,9 @@ static void setup(SkPaint* paint, const SkBitmap& bm, bool filter,
paint->setFilterLevel(filter ? SkPaint::kLow_FilterLevel : SkPaint::kNone_FilterLevel);
}
-static const SkBitmap::Config gConfigs[] = {
- SkBitmap::kARGB_8888_Config,
- SkBitmap::kRGB_565_Config,
+static const SkColorType gColorTypes[] = {
+ kPMColor_SkColorType,
+ kRGB_565_SkColorType,
};
static const int gWidth = 32;
static const int gHeight = 32;
@@ -71,8 +70,8 @@ public:
SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(1)),
SkIntToScalar(2), SkIntToScalar(2)) {
fTextPicture = new SkPicture();
- for (size_t i = 0; i < SK_ARRAY_COUNT(gConfigs); i++) {
- makebm(&fTexture[i], gConfigs[i], gWidth, gHeight);
+ for (size_t i = 0; i < SK_ARRAY_COUNT(gColorTypes); i++) {
+ makebm(&fTexture[i], gColorTypes[i], gWidth, gHeight);
}
}
@@ -80,7 +79,7 @@ public:
fTextPicture->unref();
}
- SkBitmap fTexture[SK_ARRAY_COUNT(gConfigs)];
+ SkBitmap fTexture[SK_ARRAY_COUNT(gColorTypes)];
protected:
// overrides from SkEventSink
@@ -131,7 +130,7 @@ protected:
y += SkIntToScalar(16);
- for (size_t i = 0; i < SK_ARRAY_COUNT(gConfigs); i++) {
+ for (size_t i = 0; i < SK_ARRAY_COUNT(gColorTypes); i++) {
for (size_t j = 0; j < SK_ARRAY_COUNT(gFilters); j++) {
x = SkIntToScalar(10);
for (size_t kx = 0; kx < SK_ARRAY_COUNT(gModes); kx++) {
diff --git a/samplecode/SampleTinyBitmap.cpp b/samplecode/SampleTinyBitmap.cpp
index 72664c7fc8..57ce2ff319 100644
--- a/samplecode/SampleTinyBitmap.cpp
+++ b/samplecode/SampleTinyBitmap.cpp
@@ -22,8 +22,9 @@ static SkBitmap make_bitmap() {
SkColorTable* ctable = new SkColorTable(c, N);
SkBitmap bm;
- bm.setConfig(SkBitmap::kIndex8_Config, 1, 1);
- bm.allocPixels(ctable);
+ bm.allocPixels(SkImageInfo::Make(1, 1, kIndex_8_SkColorType,
+ kPremul_SkAlphaType),
+ NULL, ctable);
ctable->unref();
bm.lockPixels();
diff --git a/samplecode/SampleUnpremul.cpp b/samplecode/SampleUnpremul.cpp
index 58d8ec248c..f2f60cc312 100644
--- a/samplecode/SampleUnpremul.cpp
+++ b/samplecode/SampleUnpremul.cpp
@@ -125,10 +125,7 @@ protected:
// Copy it to a bitmap which can be drawn, converting
// to premultiplied:
SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, fBitmap.width(),
- fBitmap.height());
- SkASSERT(fBitmap.config() == SkBitmap::kARGB_8888_Config);
- if (!bm.allocPixels()) {
+ if (!bm.allocN32Pixels(fBitmap.width(), fBitmap.height())) {
SkString errMsg("allocPixels failed");
canvas->drawText(errMsg.c_str(), errMsg.size(), 0, height, paint);
return;
diff --git a/samplecode/SampleVertices.cpp b/samplecode/SampleVertices.cpp
index 323c4b58cb..4c3a17eb00 100644
--- a/samplecode/SampleVertices.cpp
+++ b/samplecode/SampleVertices.cpp
@@ -28,10 +28,9 @@
static SkShader* make_shader0(SkIPoint* size) {
SkBitmap bm;
size->set(2, 2);
- bm.setConfig(SkBitmap::kARGB_8888_Config, size->fX, size->fY);
SkPMColor color0 = SkPreMultiplyARGB(0x80, 0x80, 0xff, 0x80);
SkPMColor color1 = SkPreMultiplyARGB(0x40, 0xff, 0x00, 0xff);
- bm.allocPixels();
+ bm.allocN32Pixels(size->fX, size->fY);
bm.eraseColor(color0);
bm.lockPixels();
uint32_t* pixels = (uint32_t*) bm.getPixels();
diff --git a/samplecode/SampleWritePixels.cpp b/samplecode/SampleWritePixels.cpp
index 04f34840e1..f7829eaada 100644
--- a/samplecode/SampleWritePixels.cpp
+++ b/samplecode/SampleWritePixels.cpp
@@ -19,8 +19,7 @@
static void create_bitmap(SkBitmap* bitmap) {
const int W = 100;
const int H = 100;
- bitmap->setConfig(SkBitmap::kARGB_8888_Config, W, H);
- bitmap->allocPixels();
+ bitmap->allocN32Pixels(W, H);
SkCanvas canvas(*bitmap);
canvas.drawColor(SK_ColorRED);
diff --git a/samplecode/SampleXfermodesBlur.cpp b/samplecode/SampleXfermodesBlur.cpp
index 3b8b592017..cae415d9d0 100644
--- a/samplecode/SampleXfermodesBlur.cpp
+++ b/samplecode/SampleXfermodesBlur.cpp
@@ -76,8 +76,9 @@ public:
const static int W = 64;
const static int H = 64;
XfermodesBlurView() {
- fBG.setConfig(SkBitmap::kARGB_4444_Config, 2, 2, 4, kOpaque_SkAlphaType);
- fBG.setPixels(gBG);
+ fBG.installPixels(SkImageInfo::Make(2, 2, kARGB_4444_SkColorType,
+ kPremul_SkAlphaType),
+ gBG, 4, NULL, NULL);
}
protected: