summaryrefslogtreecommitdiffstatsci
path: root/src/skia-image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/skia-image.cpp')
-rw-r--r--src/skia-image.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/skia-image.cpp b/src/skia-image.cpp
index b8ff05b..f583ff1 100644
--- a/src/skia-image.cpp
+++ b/src/skia-image.cpp
@@ -13,9 +13,22 @@ SkBaseDevice *
create_skia_device_image (const device_config_t& config)
{
SkBitmap skia_bitmap;
- skia_bitmap.setConfig(SkBitmap::kARGB_8888_Config,
- config.width, config.height);
+ if (!skia_bitmap.setConfig(SkBitmap::kARGB_8888_Config,
+ config.width, config.height)) {
+ warnx("Failed to configure bitmap\n");
+ return NULL;
+ }
+#ifdef USE_LEGACY_SKIA_SRA
skia_bitmap.allocPixels();
+#else
+ SkImageInfo info = SkImageInfo::Make(config.width, config.height,
+ kBGRA_8888_SkColorType,
+ kPremul_SkAlphaType);
+ if (! skia_bitmap.allocPixels(info)) {
+ warnx("Failed to allocate pixels\n");
+ return NULL;
+ }
+#endif
return new SkBitmapDevice (skia_bitmap);
}