aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkBitmapSource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects/SkBitmapSource.cpp')
-rw-r--r--src/effects/SkBitmapSource.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/effects/SkBitmapSource.cpp b/src/effects/SkBitmapSource.cpp
index ee8b798936..2624229aee 100644
--- a/src/effects/SkBitmapSource.cpp
+++ b/src/effects/SkBitmapSource.cpp
@@ -32,6 +32,12 @@ SkBitmapSource::SkBitmapSource(const SkBitmap& bitmap,
}
SkFlattenable* SkBitmapSource::CreateProc(SkReadBuffer& buffer) {
+ SkFilterQuality filterQuality;
+ if (buffer.isVersionLT(SkReadBuffer::kBitmapourceFilterQuality_Version)) {
+ filterQuality = kHigh_SkFilterQuality;
+ } else {
+ filterQuality = (SkFilterQuality)buffer.readInt();
+ }
SkRect src, dst;
buffer.readRect(&src);
buffer.readRect(&dst);
@@ -39,10 +45,11 @@ SkFlattenable* SkBitmapSource::CreateProc(SkReadBuffer& buffer) {
if (!buffer.readBitmap(&bitmap)) {
return NULL;
}
- return SkBitmapSource::Create(bitmap, src, dst);
+ return SkBitmapSource::Create(bitmap, src, dst, filterQuality);
}
void SkBitmapSource::flatten(SkWriteBuffer& buffer) const {
+ buffer.writeInt(fFilterQuality);
buffer.writeRect(fSrcRect);
buffer.writeRect(fDstRect);
buffer.writeBitmap(fBitmap);