| Index: skia/ext/bitmap_platform_device_android.cc
|
| ===================================================================
|
| --- skia/ext/bitmap_platform_device_android.cc (revision 127021)
|
| +++ skia/ext/bitmap_platform_device_android.cc (working copy)
|
| @@ -21,21 +21,25 @@
|
| return NULL;
|
| }
|
|
|
| +BitmapPlatformDevice* BitmapPlatformDevice::CreateAndClear(int width,
|
| + int height,
|
| + bool is_opaque) {
|
| + BitmapPlatformDevice* device = Create(width, height, is_opaque);
|
| + if (!is_opaque)
|
| + device->accessBitmap(true).eraseARGB(0, 0, 0, 0);
|
| + return device;
|
| +}
|
| +
|
| BitmapPlatformDevice* BitmapPlatformDevice::Create(int width, int height,
|
| bool is_opaque,
|
| uint8_t* data) {
|
| SkBitmap bitmap;
|
| bitmap.setConfig(SkBitmap::kARGB_8888_Config, width, height);
|
| - if (data) {
|
| + if (data)
|
| bitmap.setPixels(data);
|
| - } else {
|
| - if (!bitmap.allocPixels())
|
| - return NULL;
|
| - // Follow the logic in SkCanvas::createDevice(), initialize the bitmap if it
|
| - // is not opaque.
|
| - if (!is_opaque)
|
| - bitmap.eraseARGB(0, 0, 0, 0);
|
| - }
|
| + else if (!bitmap.allocPixels())
|
| + return NULL;
|
| +
|
| bitmap.setIsOpaque(is_opaque);
|
| return new BitmapPlatformDevice(bitmap);
|
| }
|
|
|