Index: src/effects/SkBlurMaskFilter.cpp |
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp |
index 4ab9944d8ca2ce573b3898c64bee64232cbfbbee..7204954d906c2642d92675c0a26ab24ded086ecd 100644 |
--- a/src/effects/SkBlurMaskFilter.cpp |
+++ b/src/effects/SkBlurMaskFilter.cpp |
@@ -522,19 +522,29 @@ void SkBlurMaskFilterImpl::computeFastBounds(const SkRect& src, |
src.fRight + pad, src.fBottom + pad); |
} |
-SkBlurMaskFilterImpl::SkBlurMaskFilterImpl(SkReadBuffer& buffer) |
- : SkMaskFilter(buffer) { |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
+SkBlurMaskFilterImpl::SkBlurMaskFilterImpl(SkReadBuffer& buffer) : SkMaskFilter(buffer) { |
fSigma = buffer.readScalar(); |
fBlurStyle = (SkBlurStyle)buffer.readInt(); |
fBlurFlags = buffer.readUInt() & SkBlurMaskFilter::kAll_BlurFlag; |
SkASSERT(fSigma > 0); |
SkASSERT((unsigned)fBlurStyle <= kLastEnum_SkBlurStyle); |
} |
+#endif |
+ |
+SkFlattenable* SkBlurMaskFilterImpl::CreateProc(SkReadBuffer& buffer) { |
+ const SkScalar sigma = buffer.readScalar(); |
+ const unsigned style = buffer.readUInt(); |
+ const unsigned flags = buffer.readUInt(); |
+ if (style <= kLastEnum_SkBlurStyle) { |
+ return SkBlurMaskFilter::Create((SkBlurStyle)style, sigma, flags); |
+ } |
+ return NULL; |
+} |
void SkBlurMaskFilterImpl::flatten(SkWriteBuffer& buffer) const { |
- this->INHERITED::flatten(buffer); |
buffer.writeScalar(fSigma); |
- buffer.writeInt(fBlurStyle); |
+ buffer.writeUInt(fBlurStyle); |
buffer.writeUInt(fBlurFlags); |
} |