diff options
Diffstat (limited to 'include/core/SkBitmap.h')
-rw-r--r-- | include/core/SkBitmap.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/include/core/SkBitmap.h b/include/core/SkBitmap.h index fd25a23cdd..faff35aebe 100644 --- a/include/core/SkBitmap.h +++ b/include/core/SkBitmap.h @@ -238,16 +238,20 @@ public: bool setInfo(const SkImageInfo&, size_t rowBytes = 0); + enum AllocFlags { + kZeroPixels_AllocFlag = 1 << 0, + }; /** * Allocate the bitmap's pixels to match the requested image info. If the Factory * is non-null, call it to allcoate the pixelref. If the ImageInfo requires - * a colortable, then ColorTable must be non-null, and will be ref'd. + * a colortable, then ColorTable must be non-null. + * * On failure, the bitmap will be set to empty and return false. */ - bool SK_WARN_UNUSED_RESULT tryAllocPixels(const SkImageInfo&, SkPixelRefFactory*, SkColorTable*); - - void allocPixels(const SkImageInfo& info, SkPixelRefFactory* factory, SkColorTable* ctable) { - if (!this->tryAllocPixels(info, factory, ctable)) { + bool SK_WARN_UNUSED_RESULT tryAllocPixels(const SkImageInfo& info, sk_sp<SkColorTable> ctable, + uint32_t flags = 0); + void allocPixels(const SkImageInfo& info, sk_sp<SkColorTable> ctable, uint32_t flags = 0) { + if (!this->tryAllocPixels(info, std::move(ctable), flags)) { sk_throw(); } } |