aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkBitmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/core/SkBitmap.h')
-rw-r--r--include/core/SkBitmap.h14
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();
}
}