aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-03-29 15:18:04 +0000
committerGravatar djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-03-29 15:18:04 +0000
commit54924243c1b65b3ee6d8fa064b50a9b1bb2a19a5 (patch)
treee27f07f67a7d5ecd2149ced9d389c1a078ebb656 /src
parent5a64e58ebb19228828eaa800822afa4d9510ccf2 (diff)
Cleanup code related to SkFlattenable::flatten()
The following changes were made by this CL: 1. Make flatten() a protected method as callers should use SkFlattenableWriteBuffer to flatten an object 2. Make flatten a const method (including subclasses) 3. Mark subclass implementation of flatten with SK_OVERRIDE 4. Ensure overridden flatten impls call their parent 5. Remove no-op implementations of flatten from subclasses Additionally, if necessary the unflattening constructor was also moved to the protected section of the subclasses header if it was not already there. git-svn-id: http://skia.googlecode.com/svn/trunk@3540 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src')
-rw-r--r--src/animator/SkDrawExtraPathEffect.cpp2
-rw-r--r--src/core/SkBitmapProcShader.cpp2
-rw-r--r--src/core/SkBitmapProcShader.h2
-rw-r--r--src/core/SkBlitter.cpp5
-rw-r--r--src/core/SkColorFilter.cpp2
-rw-r--r--src/core/SkComposeShader.cpp2
-rw-r--r--src/core/SkFlattenable.cpp2
-rw-r--r--src/core/SkMallocPixelRef.cpp2
-rw-r--r--src/core/SkPathEffect.cpp6
-rw-r--r--src/core/SkPixelRef.cpp2
-rw-r--r--src/core/SkRasterizer.cpp3
-rw-r--r--src/core/SkShader.cpp10
-rw-r--r--src/core/SkShape.cpp4
-rw-r--r--src/core/SkXfermode.cpp16
-rw-r--r--src/effects/Sk1DPathEffect.cpp3
-rw-r--r--src/effects/Sk2DPathEffect.cpp5
-rw-r--r--src/effects/SkAvoidXfermode.cpp2
-rw-r--r--src/effects/SkBlurDrawLooper.cpp3
-rw-r--r--src/effects/SkBlurImageFilter.cpp2
-rw-r--r--src/effects/SkBlurMaskFilter.cpp6
-rw-r--r--src/effects/SkColorFilters.cpp8
-rw-r--r--src/effects/SkColorMatrixFilter.cpp2
-rw-r--r--src/effects/SkCornerPathEffect.cpp3
-rw-r--r--src/effects/SkDashPathEffect.cpp3
-rw-r--r--src/effects/SkDiscretePathEffect.cpp3
-rw-r--r--src/effects/SkEmbossMaskFilter.cpp7
-rw-r--r--src/effects/SkGradientShader.cpp72
-rw-r--r--src/effects/SkGroupShape.cpp2
-rw-r--r--src/effects/SkKernel33MaskFilter.cpp4
-rw-r--r--src/effects/SkLayerDrawLooper.cpp2
-rw-r--r--src/effects/SkLayerRasterizer.cpp2
-rw-r--r--src/effects/SkMorphologyImageFilter.cpp2
-rw-r--r--src/effects/SkPixelXorXfermode.cpp4
-rw-r--r--src/effects/SkRectShape.cpp4
-rw-r--r--src/effects/SkTableColorFilter.cpp4
-rw-r--r--src/effects/SkTableMaskFilter.cpp2
-rwxr-xr-xsrc/effects/SkTestImageFilters.cpp10
-rw-r--r--src/effects/SkTransparentShader.cpp5
-rw-r--r--src/images/SkFlipPixelRef.cpp2
-rw-r--r--src/images/SkImageRef.cpp2
-rw-r--r--src/ports/SkImageRef_ashmem.cpp2
-rw-r--r--src/ports/SkImageRef_ashmem.h6
-rw-r--r--src/utils/SkUnitMappers.cpp2
43 files changed, 109 insertions, 125 deletions
diff --git a/src/animator/SkDrawExtraPathEffect.cpp b/src/animator/SkDrawExtraPathEffect.cpp
index c901df312a..c9de254a65 100644
--- a/src/animator/SkDrawExtraPathEffect.cpp
+++ b/src/animator/SkDrawExtraPathEffect.cpp
@@ -140,8 +140,6 @@ protected:
}
private:
- virtual void flatten(SkFlattenableWriteBuffer& ) {}
-
static bool GetContourLength(const char* token, size_t len, void* clen, SkScriptValue* value) {
if (SK_LITERAL_STR_EQUAL("contourLength", token, len)) {
value->fOperand.fScalar = *(SkScalar*) clen;
diff --git a/src/core/SkBitmapProcShader.cpp b/src/core/SkBitmapProcShader.cpp
index e3c46d0ed2..7ae6afca81 100644
--- a/src/core/SkBitmapProcShader.cpp
+++ b/src/core/SkBitmapProcShader.cpp
@@ -68,7 +68,7 @@ SkShader::BitmapType SkBitmapProcShader::asABitmap(SkBitmap* texture,
return kDefault_BitmapType;
}
-void SkBitmapProcShader::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkBitmapProcShader::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
fRawBitmap.flatten(buffer);
diff --git a/src/core/SkBitmapProcShader.h b/src/core/SkBitmapProcShader.h
index 6140259e6e..26b4cc2ea5 100644
--- a/src/core/SkBitmapProcShader.h
+++ b/src/core/SkBitmapProcShader.h
@@ -36,7 +36,7 @@ public:
protected:
SkBitmapProcShader(SkFlattenableReadBuffer& );
- virtual void flatten(SkFlattenableWriteBuffer& );
+ virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
SkBitmap fRawBitmap; // experimental for RLE encoding
SkBitmapProcState fState;
diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp
index 2ce0197d24..735ad0431f 100644
--- a/src/core/SkBlitter.cpp
+++ b/src/core/SkBlitter.cpp
@@ -659,14 +659,13 @@ public:
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Sk3DShader)
protected:
- Sk3DShader(SkFlattenableReadBuffer& buffer) :
- INHERITED(buffer) {
+ Sk3DShader(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {
fProxy = static_cast<SkShader*>(buffer.readFlattenable());
fPMColor = buffer.readU32();
fMask = NULL;
}
- virtual void flatten(SkFlattenableWriteBuffer& buffer) {
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
this->INHERITED::flatten(buffer);
buffer.writeFlattenable(fProxy);
buffer.write32(fPMColor);
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp
index 2ca88bb7a2..b96b77ea23 100644
--- a/src/core/SkColorFilter.cpp
+++ b/src/core/SkColorFilter.cpp
@@ -66,7 +66,7 @@ void SkFilterShader::endSession() {
this->INHERITED::endSession();
}
-void SkFilterShader::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkFilterShader::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeFlattenable(fShader);
buffer.writeFlattenable(fFilter);
diff --git a/src/core/SkComposeShader.cpp b/src/core/SkComposeShader.cpp
index c8d329914e..6f3eccd5e0 100644
--- a/src/core/SkComposeShader.cpp
+++ b/src/core/SkComposeShader.cpp
@@ -70,7 +70,7 @@ private:
uint8_t fAlpha;
};
-void SkComposeShader::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkComposeShader::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeFlattenable(fShaderA);
buffer.writeFlattenable(fShaderB);
diff --git a/src/core/SkFlattenable.cpp b/src/core/SkFlattenable.cpp
index 9d8c215a8c..6a445ea751 100644
--- a/src/core/SkFlattenable.cpp
+++ b/src/core/SkFlattenable.cpp
@@ -37,7 +37,7 @@ void SkWriteRegion(SkWriter32* writer, const SkRegion& rgn) {
///////////////////////////////////////////////////////////////////////////////
-void SkFlattenable::flatten(SkFlattenableWriteBuffer&)
+void SkFlattenable::flatten(SkFlattenableWriteBuffer&) const
{
/* we don't write anything at the moment, but this allows our subclasses
to not know that, since we want them to always call INHERITED::flatten()
diff --git a/src/core/SkMallocPixelRef.cpp b/src/core/SkMallocPixelRef.cpp
index 1cf64a1db0..313a26eeaa 100644
--- a/src/core/SkMallocPixelRef.cpp
+++ b/src/core/SkMallocPixelRef.cpp
@@ -34,7 +34,7 @@ void SkMallocPixelRef::onUnlockPixels() {
// nothing to do
}
-void SkMallocPixelRef::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkMallocPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.write32(fSize);
diff --git a/src/core/SkPathEffect.cpp b/src/core/SkPathEffect.cpp
index 0c0143da46..bbf6f18a23 100644
--- a/src/core/SkPathEffect.cpp
+++ b/src/core/SkPathEffect.cpp
@@ -29,7 +29,8 @@ SkPairPathEffect::~SkPairPathEffect() {
/*
Format: [oe0-factory][pe1-factory][pe0-size][pe0-data][pe1-data]
*/
-void SkPairPathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkPairPathEffect::flatten(SkFlattenableWriteBuffer& buffer) const {
+ this->INHERITED::flatten(buffer);
buffer.writeFlattenable(fPE0);
buffer.writeFlattenable(fPE1);
}
@@ -108,7 +109,8 @@ bool SkStrokePathEffect::filterPath(SkPath* dst, const SkPath& src,
return true;
}
-void SkStrokePathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkStrokePathEffect::flatten(SkFlattenableWriteBuffer& buffer) const {
+ this->INHERITED::flatten(buffer);
buffer.writeScalar(fWidth);
buffer.writeScalar(fMiter);
buffer.write8(fStyle);
diff --git a/src/core/SkPixelRef.cpp b/src/core/SkPixelRef.cpp
index 2d4daae781..f01fbea81d 100644
--- a/src/core/SkPixelRef.cpp
+++ b/src/core/SkPixelRef.cpp
@@ -49,7 +49,7 @@ SkPixelRef::SkPixelRef(SkFlattenableReadBuffer& buffer, SkBaseMutex* mutex)
fIsImmutable = buffer.readBool();
}
-void SkPixelRef::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeBool(fIsImmutable);
}
diff --git a/src/core/SkRasterizer.cpp b/src/core/SkRasterizer.cpp
index 7ccced8a7a..d5023b3044 100644
--- a/src/core/SkRasterizer.cpp
+++ b/src/core/SkRasterizer.cpp
@@ -12,9 +12,6 @@
#include "SkMaskFilter.h"
#include "SkPath.h"
-// do nothing for now, since we don't store anything at flatten time
-SkRasterizer::SkRasterizer(SkFlattenableReadBuffer&) {}
-
bool SkRasterizer::rasterize(const SkPath& fillPath, const SkMatrix& matrix,
const SkIRect* clipBounds, SkMaskFilter* filter,
SkMask* mask, SkMask::CreateMode mode) {
diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp
index a3b3b6a216..bfdebc1b07 100644
--- a/src/core/SkShader.cpp
+++ b/src/core/SkShader.cpp
@@ -41,7 +41,7 @@ void SkShader::endSession() {
SkDEBUGCODE(fInSession = false;)
}
-void SkShader::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkShader::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeBool(fLocalMatrix != NULL);
if (fLocalMatrix) {
@@ -238,7 +238,7 @@ SkColorShader::SkColorShader(SkFlattenableReadBuffer& b) : INHERITED(b) {
fColor = b.readU32();
}
-void SkColorShader::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkColorShader::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.write8(fInheritColor);
if (fInheritColor) {
@@ -331,8 +331,6 @@ SK_DEFINE_FLATTENABLE_REGISTRAR(SkColorShader)
#include "SkEmptyShader.h"
-SkEmptyShader::SkEmptyShader(SkFlattenableReadBuffer& b) : INHERITED(b) {}
-
uint32_t SkEmptyShader::getFlags() { return 0; }
uint8_t SkEmptyShader::getSpan16Alpha() const { return 0; }
@@ -351,8 +349,4 @@ void SkEmptyShader::shadeSpanAlpha(int x, int y, uint8_t alpha[], int count) {
SkDEBUGFAIL("should never get called, since setContext() returned false");
}
-void SkEmptyShader::flatten(SkFlattenableWriteBuffer& buffer) {
- this->INHERITED::flatten(buffer);
-}
-
SK_DEFINE_FLATTENABLE_REGISTRAR(SkEmptyShader)
diff --git a/src/core/SkShape.cpp b/src/core/SkShape.cpp
index 0c4907e0e0..c386af8990 100644
--- a/src/core/SkShape.cpp
+++ b/src/core/SkShape.cpp
@@ -60,10 +60,6 @@ SkShape::SkShape(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {
inc_shape(this);
}
-void SkShape::flatten(SkFlattenableWriteBuffer& buffer) {
- this->INHERITED::flatten(buffer);
-}
-
void SkShape::onDraw(SkCanvas*) {}
SK_DEFINE_FLATTENABLE_REGISTRAR(SkShape)
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp
index bcb721d35f..62e62a17c1 100644
--- a/src/core/SkXfermode.cpp
+++ b/src/core/SkXfermode.cpp
@@ -685,7 +685,8 @@ SkProcXfermode::SkProcXfermode(SkFlattenableReadBuffer& buffer)
fProc = (SkXfermodeProc)buffer.readFunctionPtr();
}
-void SkProcXfermode::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkProcXfermode::flatten(SkFlattenableWriteBuffer& buffer) const {
+ this->INHERITED::flatten(buffer);
if (buffer.isCrossProcess()) {
// function pointer is only valid in the current process. Write a NULL
// so it can't be accidentally used
@@ -729,16 +730,10 @@ public:
return true;
}
- virtual void flatten(SkFlattenableWriteBuffer& buffer) {
- this->INHERITED::flatten(buffer);
- buffer.write32(fMode);
- }
-
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkProcCoeffXfermode)
protected:
- SkProcCoeffXfermode(SkFlattenableReadBuffer& buffer)
- : INHERITED(buffer) {
+ SkProcCoeffXfermode(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {
fMode = (SkXfermode::Mode)buffer.readU32();
const ProcCoeff& rec = gProcCoeffs[fMode];
@@ -749,6 +744,11 @@ protected:
this->INHERITED::setProc(rec.fProc);
}
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
+ this->INHERITED::flatten(buffer);
+ buffer.write32(fMode);
+ }
+
private:
Mode fMode;
Coeff fSrcCoeff, fDstCoeff;
diff --git a/src/effects/Sk1DPathEffect.cpp b/src/effects/Sk1DPathEffect.cpp
index 11170f4a46..62ca7b39b8 100644
--- a/src/effects/Sk1DPathEffect.cpp
+++ b/src/effects/Sk1DPathEffect.cpp
@@ -156,7 +156,8 @@ SkScalar SkPath1DPathEffect::begin(SkScalar contourLength) {
return fInitialOffset;
}
-void SkPath1DPathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkPath1DPathEffect::flatten(SkFlattenableWriteBuffer& buffer) const {
+ this->INHERITED::flatten(buffer);
buffer.writeScalar(fAdvance);
if (fAdvance > 0) {
fPath.flatten(buffer);
diff --git a/src/effects/Sk2DPathEffect.cpp b/src/effects/Sk2DPathEffect.cpp
index 60ec2576d3..9a9216215a 100644
--- a/src/effects/Sk2DPathEffect.cpp
+++ b/src/effects/Sk2DPathEffect.cpp
@@ -64,7 +64,8 @@ void Sk2DPathEffect::end(SkPath* dst) {}
///////////////////////////////////////////////////////////////////////////////
-void Sk2DPathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
+void Sk2DPathEffect::flatten(SkFlattenableWriteBuffer& buffer) const {
+ this->INHERITED::flatten(buffer);
char storage[SkMatrix::kMaxFlattenSize];
uint32_t size = fMatrix.flatten(storage);
buffer.write32(size);
@@ -92,7 +93,7 @@ SkPath2DPathEffect::SkPath2DPathEffect(SkFlattenableReadBuffer& buffer)
fPath.unflatten(buffer);
}
-void SkPath2DPathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkPath2DPathEffect::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
fPath.flatten(buffer);
}
diff --git a/src/effects/SkAvoidXfermode.cpp b/src/effects/SkAvoidXfermode.cpp
index d6682226ca..b5375e602f 100644
--- a/src/effects/SkAvoidXfermode.cpp
+++ b/src/effects/SkAvoidXfermode.cpp
@@ -29,7 +29,7 @@ SkAvoidXfermode::SkAvoidXfermode(SkFlattenableReadBuffer& buffer)
fMode = (Mode)buffer.readU8();
}
-void SkAvoidXfermode::flatten(SkFlattenableWriteBuffer& buffer)
+void SkAvoidXfermode::flatten(SkFlattenableWriteBuffer& buffer) const
{
this->INHERITED::flatten(buffer);
diff --git a/src/effects/SkBlurDrawLooper.cpp b/src/effects/SkBlurDrawLooper.cpp
index 656f8f7d6c..3b785731fa 100644
--- a/src/effects/SkBlurDrawLooper.cpp
+++ b/src/effects/SkBlurDrawLooper.cpp
@@ -61,7 +61,8 @@ SkBlurDrawLooper::~SkBlurDrawLooper() {
SkSafeUnref(fColorFilter);
}
-void SkBlurDrawLooper::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkBlurDrawLooper::flatten(SkFlattenableWriteBuffer& buffer) const {
+ this->INHERITED::flatten(buffer);
buffer.writeScalar(fDx);
buffer.writeScalar(fDy);
buffer.write32(fBlurColor);
diff --git a/src/effects/SkBlurImageFilter.cpp b/src/effects/SkBlurImageFilter.cpp
index 1446e92117..522f4b05ea 100644
--- a/src/effects/SkBlurImageFilter.cpp
+++ b/src/effects/SkBlurImageFilter.cpp
@@ -24,7 +24,7 @@ bool SkBlurImageFilter::asABlur(SkSize* sigma) const {
return true;
}
-void SkBlurImageFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkBlurImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fSigma.fWidth);
buffer.writeScalar(fSigma.fHeight);
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp
index eb64000007..306770bb65 100644
--- a/src/effects/SkBlurMaskFilter.cpp
+++ b/src/effects/SkBlurMaskFilter.cpp
@@ -24,9 +24,6 @@ public:
virtual BlurType asABlur(BlurInfo*) const SK_OVERRIDE;
virtual void computeFastBounds(const SkRect& src, SkRect* dst) SK_OVERRIDE;
- // overrides from SkFlattenable
- virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
-
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurMaskFilterImpl)
private:
@@ -35,6 +32,7 @@ private:
uint32_t fBlurFlags;
SkBlurMaskFilterImpl(SkFlattenableReadBuffer&);
+ virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
typedef SkMaskFilter INHERITED;
};
@@ -112,7 +110,7 @@ SkBlurMaskFilterImpl::SkBlurMaskFilterImpl(SkFlattenableReadBuffer& buffer)
SkASSERT((unsigned)fBlurStyle < SkBlurMaskFilter::kBlurStyleCount);
}
-void SkBlurMaskFilterImpl::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkBlurMaskFilterImpl::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fRadius);
buffer.write32(fBlurStyle);
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp
index 2970c7c218..3b97250930 100644
--- a/src/effects/SkColorFilters.cpp
+++ b/src/effects/SkColorFilters.cpp
@@ -50,7 +50,7 @@ public:
bool isModeValid() const { return ILLEGAL_XFERMODE_MODE != fMode; }
protected:
- virtual void flatten(SkFlattenableWriteBuffer& buffer) {
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
this->INHERITED::flatten(buffer);
buffer.write32(fColor);
buffer.write32(fMode);
@@ -193,7 +193,7 @@ public:
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Proc_SkModeColorFilter)
protected:
- virtual void flatten(SkFlattenableWriteBuffer& buffer) {
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
this->INHERITED::flatten(buffer);
buffer.writeFunctionPtr((void*)fProc);
buffer.writeFunctionPtr((void*)fProc16);
@@ -312,7 +312,7 @@ public:
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter)
protected:
- virtual void flatten(SkFlattenableWriteBuffer& buffer) {
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
this->INHERITED::flatten(buffer);
buffer.write32(fMul);
buffer.write32(fAdd);
@@ -489,7 +489,7 @@ protected:
}
}
- virtual void flatten(SkFlattenableWriteBuffer& buffer) {}
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {}
virtual Factory getFactory() {
return CreateProc;
diff --git a/src/effects/SkColorMatrixFilter.cpp b/src/effects/SkColorMatrixFilter.cpp
index 47ff8ad6ac..c6886250fa 100644
--- a/src/effects/SkColorMatrixFilter.cpp
+++ b/src/effects/SkColorMatrixFilter.cpp
@@ -310,7 +310,7 @@ void SkColorMatrixFilter::filterSpan16(const uint16_t src[], int count,
///////////////////////////////////////////////////////////////////////////////
-void SkColorMatrixFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkColorMatrixFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeFunctionPtr((void*)fProc);
diff --git a/src/effects/SkCornerPathEffect.cpp b/src/effects/SkCornerPathEffect.cpp
index 5eb94a438f..bf59a27a1b 100644
--- a/src/effects/SkCornerPathEffect.cpp
+++ b/src/effects/SkCornerPathEffect.cpp
@@ -129,7 +129,8 @@ DONE:
return true;
}
-void SkCornerPathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkCornerPathEffect::flatten(SkFlattenableWriteBuffer& buffer) const {
+ this->INHERITED::flatten(buffer);
buffer.writeScalar(fRadius);
}
diff --git a/src/effects/SkDashPathEffect.cpp b/src/effects/SkDashPathEffect.cpp
index 7950d648af..88f003b4af 100644
--- a/src/effects/SkDashPathEffect.cpp
+++ b/src/effects/SkDashPathEffect.cpp
@@ -140,9 +140,10 @@ SkFlattenable::Factory SkDashPathEffect::getFactory() {
return fInitialDashLength < 0 ? NULL : CreateProc;
}
-void SkDashPathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkDashPathEffect::flatten(SkFlattenableWriteBuffer& buffer) const {
SkASSERT(fInitialDashLength >= 0);
+ this->INHERITED::flatten(buffer);
buffer.write32(fCount);
buffer.write32(fInitialDashIndex);
buffer.writeScalar(fInitialDashLength);
diff --git a/src/effects/SkDiscretePathEffect.cpp b/src/effects/SkDiscretePathEffect.cpp
index 089bed6757..e8c0ec9ad2 100644
--- a/src/effects/SkDiscretePathEffect.cpp
+++ b/src/effects/SkDiscretePathEffect.cpp
@@ -67,7 +67,8 @@ bool SkDiscretePathEffect::filterPath(SkPath* dst, const SkPath& src,
return true;
}
-void SkDiscretePathEffect::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkDiscretePathEffect::flatten(SkFlattenableWriteBuffer& buffer) const {
+ this->INHERITED::flatten(buffer);
buffer.writeScalar(fSegLength);
buffer.writeScalar(fPerterb);
}
diff --git a/src/effects/SkEmbossMaskFilter.cpp b/src/effects/SkEmbossMaskFilter.cpp
index 26a5e2ec59..245ccd69df 100644
--- a/src/effects/SkEmbossMaskFilter.cpp
+++ b/src/effects/SkEmbossMaskFilter.cpp
@@ -122,11 +122,12 @@ SkEmbossMaskFilter::SkEmbossMaskFilter(SkFlattenableReadBuffer& buffer)
fBlurRadius = buffer.readScalar();
}
-void SkEmbossMaskFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkEmbossMaskFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
- fLight.fPad = 0; // for the font-cache lookup to be clean
- buffer.writeMul4(&fLight, sizeof(fLight));
+ Light tmpLight = fLight;
+ tmpLight.fPad = 0; // for the font-cache lookup to be clean
+ buffer.writeMul4(&tmpLight, sizeof(tmpLight));
buffer.writeScalar(fBlurRadius);
}
diff --git a/src/effects/SkGradientShader.cpp b/src/effects/SkGradientShader.cpp
index 0fcb514585..a93bd52dbb 100644
--- a/src/effects/SkGradientShader.cpp
+++ b/src/effects/SkGradientShader.cpp
@@ -174,6 +174,8 @@ public:
protected:
Gradient_Shader(SkFlattenableReadBuffer& );
+ virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
+
SkUnitMapper* fMapper;
SkMatrix fPtsToUnit; // set by subclass
SkMatrix fDstToIndex;
@@ -190,7 +192,6 @@ protected:
};
Rec* fRecs;
- virtual void flatten(SkFlattenableWriteBuffer& );
const uint16_t* getCache16() const;
const SkPMColor* getCache32() const;
@@ -404,7 +405,7 @@ void Gradient_Shader::initCommon() {
fColorsAreOpaque = colorAlpha == 0xFF;
}
-void Gradient_Shader::flatten(SkFlattenableWriteBuffer& buffer) {
+void Gradient_Shader::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeFlattenable(fMapper);
buffer.write32(fColorCount);
@@ -849,22 +850,21 @@ public:
SkScalar* twoPointRadialParams) const SK_OVERRIDE;
virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE;
- virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE {
- this->INHERITED::flatten(buffer);
- buffer.writeScalar(fStart.fX);
- buffer.writeScalar(fStart.fY);
- buffer.writeScalar(fEnd.fX);
- buffer.writeScalar(fEnd.fY);
- }
-
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Linear_Gradient)
protected:
Linear_Gradient(SkFlattenableReadBuffer& buffer)
- : Gradient_Shader(buffer),
+ : INHERITED(buffer),
fStart(unflatten_point(buffer)),
fEnd(unflatten_point(buffer)) {
}
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
+ this->INHERITED::flatten(buffer);
+ buffer.writeScalar(fStart.fX);
+ buffer.writeScalar(fStart.fY);
+ buffer.writeScalar(fEnd.fX);
+ buffer.writeScalar(fEnd.fY);
+ }
private:
typedef Gradient_Shader INHERITED;
@@ -1507,21 +1507,20 @@ public:
return kRadial_GradientType;
}
- virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE {
- this->INHERITED::flatten(buffer);
- buffer.writeScalar(fCenter.fX);
- buffer.writeScalar(fCenter.fY);
- buffer.writeScalar(fRadius);
- }
-
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Radial_Gradient)
protected:
Radial_Gradient(SkFlattenableReadBuffer& buffer)
- : Gradient_Shader(buffer),
+ : INHERITED(buffer),
fCenter(unflatten_point(buffer)),
fRadius(buffer.readScalar()) {
}
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
+ this->INHERITED::flatten(buffer);
+ buffer.writeScalar(fCenter.fX);
+ buffer.writeScalar(fCenter.fY);
+ buffer.writeScalar(fRadius);
+ }
private:
typedef Gradient_Shader INHERITED;
@@ -2039,21 +2038,11 @@ public:
return true;
}
- virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE {
- this->INHERITED::flatten(buffer);
- buffer.writeScalar(fCenter1.fX);
- buffer.writeScalar(fCenter1.fY);
- buffer.writeScalar(fCenter2.fX);
- buffer.writeScalar(fCenter2.fY);
- buffer.writeScalar(fRadius1);
- buffer.writeScalar(fRadius2);
- }
-
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Two_Point_Radial_Gradient)
protected:
Two_Point_Radial_Gradient(SkFlattenableReadBuffer& buffer)
- : Gradient_Shader(buffer),
+ : INHERITED(buffer),
fCenter1(unflatten_point(buffer)),
fCenter2(unflatten_point(buffer)),
fRadius1(buffer.readScalar()),
@@ -2061,6 +2050,16 @@ protected:
init();
};
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
+ this->INHERITED::flatten(buffer);
+ buffer.writeScalar(fCenter1.fX);
+ buffer.writeScalar(fCenter1.fY);
+ buffer.writeScalar(fCenter2.fX);
+ buffer.writeScalar(fCenter2.fY);
+ buffer.writeScalar(fRadius1);
+ buffer.writeScalar(fRadius2);
+ }
+
private:
typedef Gradient_Shader INHERITED;
const SkPoint fCenter1;
@@ -2125,19 +2124,18 @@ public:
return kSweep_GradientType;
}
- virtual void flatten(SkFlattenableWriteBuffer& buffer) SK_OVERRIDE {
- this->INHERITED::flatten(buffer);
- buffer.writeScalar(fCenter.fX);
- buffer.writeScalar(fCenter.fY);
- }
-
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Sweep_Gradient)
protected:
Sweep_Gradient(SkFlattenableReadBuffer& buffer)
- : Gradient_Shader(buffer),
+ : INHERITED(buffer),
fCenter(unflatten_point(buffer)) {
}
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
+ this->INHERITED::flatten(buffer);
+ buffer.writeScalar(fCenter.fX);
+ buffer.writeScalar(fCenter.fY);
+ }
private:
typedef Gradient_Shader INHERITED;
diff --git a/src/effects/SkGroupShape.cpp b/src/effects/SkGroupShape.cpp
index b27026e8b9..83a204396f 100644
--- a/src/effects/SkGroupShape.cpp
+++ b/src/effects/SkGroupShape.cpp
@@ -83,7 +83,7 @@ void SkGroupShape::onDraw(SkCanvas* canvas) {
}
}
-void SkGroupShape::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkGroupShape::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
int count = fList.count();
diff --git a/src/effects/SkKernel33MaskFilter.cpp b/src/effects/SkKernel33MaskFilter.cpp
index f01451c4fe..10aabc4e77 100644
--- a/src/effects/SkKernel33MaskFilter.cpp
+++ b/src/effects/SkKernel33MaskFilter.cpp
@@ -73,7 +73,7 @@ bool SkKernel33ProcMaskFilter::filterMask(SkMask* dst, const SkMask& src,
return true;
}
-void SkKernel33ProcMaskFilter::flatten(SkFlattenableWriteBuffer& wb) {
+void SkKernel33ProcMaskFilter::flatten(SkFlattenableWriteBuffer& wb) const {
this->INHERITED::flatten(wb);
wb.write32(fPercent256);
}
@@ -104,7 +104,7 @@ uint8_t SkKernel33MaskFilter::computeValue(uint8_t* const* srcRows) {
return (uint8_t)value;
}
-void SkKernel33MaskFilter::flatten(SkFlattenableWriteBuffer& wb) {
+void SkKernel33MaskFilter::flatten(SkFlattenableWriteBuffer& wb) const {
this->INHERITED::flatten(wb);
wb.writeMul4(fKernel, 9 * sizeof(int));
wb.write32(fShift);
diff --git a/src/effects/SkLayerDrawLooper.cpp b/src/effects/SkLayerDrawLooper.cpp
index acb3e8891f..250306ca16 100644
--- a/src/effects/SkLayerDrawLooper.cpp
+++ b/src/effects/SkLayerDrawLooper.cpp
@@ -180,7 +180,7 @@ SkLayerDrawLooper::Rec* SkLayerDrawLooper::Rec::Reverse(Rec* head) {
///////////////////////////////////////////////////////////////////////////////
-void SkLayerDrawLooper::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkLayerDrawLooper::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
#ifdef SK_DEBUG
diff --git a/src/effects/SkLayerRasterizer.cpp b/src/effects/SkLayerRasterizer.cpp
index ae4eb2eb99..81263d13d1 100644
--- a/src/effects/SkLayerRasterizer.cpp
+++ b/src/effects/SkLayerRasterizer.cpp
@@ -197,7 +197,7 @@ SkLayerRasterizer::SkLayerRasterizer(SkFlattenableReadBuffer& buffer)
}
}
-void SkLayerRasterizer::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkLayerRasterizer::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.write32(fLayers.count());
diff --git a/src/effects/SkMorphologyImageFilter.cpp b/src/effects/SkMorphologyImageFilter.cpp
index 78fabc5616..09610cd145 100644
--- a/src/effects/SkMorphologyImageFilter.cpp
+++ b/src/effects/SkMorphologyImageFilter.cpp
@@ -19,7 +19,7 @@ SkMorphologyImageFilter::SkMorphologyImageFilter(int radiusX, int radiusY)
}
-void SkMorphologyImageFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkMorphologyImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fRadius.fWidth);
buffer.writeScalar(fRadius.fHeight);
diff --git a/src/effects/SkPixelXorXfermode.cpp b/src/effects/SkPixelXorXfermode.cpp
index b4bbaf970c..7b58ed76a8 100644
--- a/src/effects/SkPixelXorXfermode.cpp
+++ b/src/effects/SkPixelXorXfermode.cpp
@@ -18,13 +18,13 @@ SkPMColor SkPixelXorXfermode::xferColor(SkPMColor src, SkPMColor dst) {
return res;
}
-void SkPixelXorXfermode::flatten(SkFlattenableWriteBuffer& wb) {
+void SkPixelXorXfermode::flatten(SkFlattenableWriteBuffer& wb) const {
this->INHERITED::flatten(wb);
wb.write32(fOpColor);
}
SkPixelXorXfermode::SkPixelXorXfermode(SkFlattenableReadBuffer& rb)
- : SkXfermode(rb) {
+ : INHERITED(rb) {
fOpColor = rb.readU32();
}
diff --git a/src/effects/SkRectShape.cpp b/src/effects/SkRectShape.cpp
index d7e2628832..68d1e1f7ff 100644
--- a/src/effects/SkRectShape.cpp
+++ b/src/effects/SkRectShape.cpp
@@ -60,7 +60,7 @@ void SkRectShape::onDraw(SkCanvas* canvas) {
}
}
-void SkRectShape::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkRectShape::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeRect(fBounds);
@@ -74,7 +74,7 @@ SkRectShape::SkRectShape(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {
///////////////////////////////////////////////////////////////////////////////
-void SkPaintShape::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkPaintShape::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
fPaint.flatten(buffer);
diff --git a/src/effects/SkTableColorFilter.cpp b/src/effects/SkTableColorFilter.cpp
index 8b60326b40..c709dd495a 100644
--- a/src/effects/SkTableColorFilter.cpp
+++ b/src/effects/SkTableColorFilter.cpp
@@ -35,12 +35,12 @@ public:
virtual void filterSpan(const SkPMColor src[], int count,
SkPMColor dst[]) SK_OVERRIDE;
- virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTable_ColorFilter)
protected:
SkTable_ColorFilter(SkFlattenableReadBuffer& buffer);
+ virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
private:
SkBitmap* fBitmap;
@@ -145,7 +145,7 @@ static const uint8_t gCountNibBits[] = {
#include "SkPackBits.h"
-void SkTable_ColorFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkTable_ColorFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
uint8_t storage[5*256];
diff --git a/src/effects/SkTableMaskFilter.cpp b/src/effects/SkTableMaskFilter.cpp
index 3a3d0e596a..fed0c5da72 100644
--- a/src/effects/SkTableMaskFilter.cpp
+++ b/src/effects/SkTableMaskFilter.cpp
@@ -71,7 +71,7 @@ SkMask::Format SkTableMaskFilter::getFormat() {
return SkMask::kA8_Format;
}
-void SkTableMaskFilter::flatten(SkFlattenableWriteBuffer& wb) {
+void SkTableMaskFilter::flatten(SkFlattenableWriteBuffer& wb) const {
this->INHERITED::flatten(wb);
wb.writePad(fTable, 256);
}
diff --git a/src/effects/SkTestImageFilters.cpp b/src/effects/SkTestImageFilters.cpp
index 688e298cc1..0dd360b476 100755
--- a/src/effects/SkTestImageFilters.cpp
+++ b/src/effects/SkTestImageFilters.cpp
@@ -32,7 +32,7 @@ bool SkOffsetImageFilter::onFilterBounds(const SkIRect& src, const SkMatrix& ctm
return true;
}
-void SkOffsetImageFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkOffsetImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fOffset.x());
buffer.writeScalar(fOffset.y());
@@ -84,7 +84,7 @@ bool SkComposeImageFilter::onFilterBounds(const SkIRect& src,
fOuter->filterBounds(tmp, ctm, dst);
}
-void SkComposeImageFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkComposeImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeFlattenable(fOuter);
@@ -238,7 +238,7 @@ bool SkMergeImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& src,
return true;
}
-void SkMergeImageFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkMergeImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
int storedCount = fCount;
@@ -307,7 +307,7 @@ bool SkColorFilterImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& src,
return true;
}
-void SkColorFilterImageFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkColorFilterImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeFlattenable(fColorFilter);
@@ -369,7 +369,7 @@ bool SkDownSampleImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& src,
return true;
}
-void SkDownSampleImageFilter::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkDownSampleImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.writeScalar(fScale);
diff --git a/src/effects/SkTransparentShader.cpp b/src/effects/SkTransparentShader.cpp
index c827c111c0..28b075f4e2 100644
--- a/src/effects/SkTransparentShader.cpp
+++ b/src/effects/SkTransparentShader.cpp
@@ -125,8 +125,3 @@ void SkTransparentShader::shadeSpan16(int x, int y, uint16_t span[], int count)
memcpy(span, src, count << 1);
}
}
-
-void SkTransparentShader::flatten(SkFlattenableWriteBuffer& buffer) {
- this->INHERITED::flatten(buffer);
-}
-
diff --git a/src/images/SkFlipPixelRef.cpp b/src/images/SkFlipPixelRef.cpp
index 768a67dc4f..6ab5bbc68f 100644
--- a/src/images/SkFlipPixelRef.cpp
+++ b/src/images/SkFlipPixelRef.cpp
@@ -60,7 +60,7 @@ void SkFlipPixelRef::swapPages() {
fMutex.release();
}
-void SkFlipPixelRef::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkFlipPixelRef::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.write32(fSize);
diff --git a/src/images/SkImageRef.cpp b/src/images/SkImageRef.cpp
index cdd80e76c3..1d6b270d6c 100644
--- a/src/images/SkImageRef.cpp
+++ b/src/images/SkImageRef.cpp
@@ -189,7 +189,7 @@ SkImageRef::SkImageRef(SkFlattenableReadBuffer& buffer)
fFactory = NULL;
}
-void SkImageRef::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkImageRef::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
buffer.write8(fConfig);
diff --git a/src/ports/SkImageRef_ashmem.cpp b/src/ports/SkImageRef_ashmem.cpp
index a9208e8680..f1fb829fc9 100644
--- a/src/ports/SkImageRef_ashmem.cpp
+++ b/src/ports/SkImageRef_ashmem.cpp
@@ -210,7 +210,7 @@ void SkImageRef_ashmem::onUnlockPixels() {
fBitmap.setPixels(NULL, NULL);
}
-void SkImageRef_ashmem::flatten(SkFlattenableWriteBuffer& buffer) {
+void SkImageRef_ashmem::flatten(SkFlattenableWriteBuffer& buffer) const {
this->INHERITED::flatten(buffer);
const char* uri = getURI();
if (uri) {
diff --git a/src/ports/SkImageRef_ashmem.h b/src/ports/SkImageRef_ashmem.h
index 38442f6ce8..5b4e8142dc 100644
--- a/src/ports/SkImageRef_ashmem.h
+++ b/src/ports/SkImageRef_ashmem.h
@@ -22,11 +22,12 @@ public:
SkImageRef_ashmem(SkStream*, SkBitmap::Config, int sampleSize = 1);
virtual ~SkImageRef_ashmem();
- // overrides
- virtual void flatten(SkFlattenableWriteBuffer&);
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkImageRef_ashmem)
protected:
+ SkImageRef_ashmem(SkFlattenableReadBuffer&);
+ virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
+
virtual bool onDecode(SkImageDecoder* codec, SkStream* stream,
SkBitmap* bitmap, SkBitmap::Config config,
SkImageDecoder::Mode mode);
@@ -35,7 +36,6 @@ protected:
virtual void onUnlockPixels();
private:
- SkImageRef_ashmem(SkFlattenableReadBuffer&);
void closeFD();
SkColorTable* fCT;
diff --git a/src/utils/SkUnitMappers.cpp b/src/utils/SkUnitMappers.cpp
index dd238809fe..df9771d538 100644
--- a/src/utils/SkUnitMappers.cpp
+++ b/src/utils/SkUnitMappers.cpp
@@ -33,7 +33,7 @@ SkDiscreteMapper::SkDiscreteMapper(SkFlattenableReadBuffer& rb)
fScale = rb.readU32();
}
-void SkDiscreteMapper::flatten(SkFlattenableWriteBuffer& wb) {
+void SkDiscreteMapper::flatten(SkFlattenableWriteBuffer& wb) const {
this->INHERITED::flatten(wb);
wb.write32(fSegments);