aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmap.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2014-07-07 14:32:06 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-07-07 14:32:06 -0700
commit9a9eae21ed5235869702a66d6decddd6643792c3 (patch)
treea790837e35bb43388491a095adb69896fdc660bc /src/core/SkBitmap.cpp
parent620fc60b0486765d5bf9d9d3ea50dabe4f358307 (diff)
change pixelref to not inherit from SkFlattenable
If I can "inline" MallocPixelRef unflatten, then I think we can delete this code. The only caller today should be unflattening in the legacy path for bitmaps. R=robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/320873003
Diffstat (limited to 'src/core/SkBitmap.cpp')
-rw-r--r--src/core/SkBitmap.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/SkBitmap.cpp b/src/core/SkBitmap.cpp
index 316878bad0..e525ea2f1d 100644
--- a/src/core/SkBitmap.cpp
+++ b/src/core/SkBitmap.cpp
@@ -1292,6 +1292,7 @@ enum {
};
void SkBitmap::legacyUnflatten(SkReadBuffer& buffer) {
+#ifdef SK_SUPPORT_LEGACY_PIXELREF_UNFLATTENABLE
this->reset();
SkImageInfo info;
@@ -1317,7 +1318,7 @@ void SkBitmap::legacyUnflatten(SkReadBuffer& buffer) {
origin.fX = buffer.readInt();
origin.fY = buffer.readInt();
size_t offset = origin.fY * rowBytes + origin.fX * info.bytesPerPixel();
- SkPixelRef* pr = buffer.readPixelRef();
+ SkPixelRef* pr = buffer.readFlattenable<SkPixelRef>();
if (!buffer.validate((NULL == pr) ||
(pr->getAllocatedSizeInBytes() >= (offset + this->getSafeSize())))) {
origin.setZero();
@@ -1332,6 +1333,9 @@ void SkBitmap::legacyUnflatten(SkReadBuffer& buffer) {
sk_throw();
}
}
+#else
+ sk_throw();
+#endif
}
///////////////////////////////////////////////////////////////////////////////