diff options
author | Mike Reed <reed@google.com> | 2017-09-26 17:46:02 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-27 14:36:07 +0000 |
commit | 88757dacd4f532a0f647c02ae0ee596d31ab5c68 (patch) | |
tree | a07e9df0a581f84287d1a1c08f3f32cde0a3d9a0 /include/core/SkPixmap.h | |
parent | fa7ee2447e6227e7f441d32e570489130c0932bb (diff) |
guard old apis for querying byte-size of a bitmap/imageinfo/pixmap
Now with legacy behavior for allocpixels
This was reverted, so the current CL is a "fix" on top of ...
https://skia-review.googlesource.com/c/skia/+/50980
Related update to Chrome (in preparation for this change)
https://chromium-review.googlesource.com/c/chromium/src/+/685719
Bug: skia:
Change-Id: I4b370ee7e95083ab27421f008132219c9c7b86e9
Reviewed-on: https://skia-review.googlesource.com/51341
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'include/core/SkPixmap.h')
-rw-r--r-- | include/core/SkPixmap.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/core/SkPixmap.h b/include/core/SkPixmap.h index aa43b3441f..f304bde933 100644 --- a/include/core/SkPixmap.h +++ b/include/core/SkPixmap.h @@ -206,6 +206,7 @@ public: */ int shiftPerPixel() const { return fInfo.shiftPerPixel(); } +#ifdef SK_SUPPORT_LEGACY_SAFESIZE64 /** Returns conservative memory required for pixel storage. Includes unused memory on last row when rowBytesAsPixels() exceeds width(). @@ -228,6 +229,13 @@ public: @return exact pixel storage size if size fits in signed 32 bits */ size_t getSafeSize() const { return fInfo.getSafeSize(fRowBytes); } +#endif + + /** + * Returns the size (in bytes) of the pixmap's image buffer. + * If the calculation overflows, or if the height is 0, this returns 0. + */ + size_t computeByteSize() const { return fInfo.computeByteSize(fRowBytes); } /** Returns true if all pixels are opaque. SkColorType determines how pixels are encoded, and whether pixel describes alpha. Returns true for SkColorType |