Constify SkFlattenable::getFactory().
authorcommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 18 Oct 2013 19:37:55 +0000 (19:37 +0000)
committercommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 18 Oct 2013 19:37:55 +0000 (19:37 +0000)
This allows us to also constify the argument of
SkFlattenableWriteBuffer::writeFlattenable() - which I've recently found
myself const-casting for no apparent good reason.

R=bungeman@google.com, mtklein@google.com, reed@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/29143005

git-svn-id: http://skia.googlecode.com/svn/trunk@11862 2bbb7eff-a529-9590-31e7-b0007b416f81

include/core/SkFlattenable.h
include/core/SkFlattenableBuffers.h
include/effects/SkDashPathEffect.h
src/core/SkFlattenableBuffers.cpp
src/core/SkOrderedWriteBuffer.cpp
src/core/SkOrderedWriteBuffer.h
src/effects/SkColorFilters.cpp
src/effects/SkDashPathEffect.cpp

index 58e69fd..6cc76db 100644 (file)
@@ -27,10 +27,10 @@ class SkFlattenableWriteBuffer;
     }
 
 #define SK_DECLARE_UNFLATTENABLE_OBJECT() \
-    virtual Factory getFactory() SK_OVERRIDE { return NULL; }
+    virtual Factory getFactory() const SK_OVERRIDE { return NULL; }
 
 #define SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(flattenable) \
-    virtual Factory getFactory() SK_OVERRIDE { return CreateProc; } \
+    virtual Factory getFactory() const SK_OVERRIDE { return CreateProc; } \
     static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) { \
         return SkNEW_ARGS(flattenable, (buffer)); \
     }
@@ -53,7 +53,7 @@ public:
      to recreate your class given a buffer (previously written to by your
      override of flatten().
      */
-    virtual Factory getFactory() = 0;
+    virtual Factory getFactory() const = 0;
 
     static Factory NameToFactory(const char name[]);
     static const char* FactoryToName(Factory);
index 51016c7..d71f7c0 100644 (file)
@@ -182,7 +182,7 @@ public:
                                     SkPaint::TextEncoding encoding) = 0;
 
     // common data structures
-    virtual void writeFlattenable(SkFlattenable* flattenable) = 0;
+    virtual void writeFlattenable(const SkFlattenable* flattenable) = 0;
     virtual void writeColor(const SkColor& color) = 0;
     virtual void writeColorArray(const SkColor* color, uint32_t count) = 0;
     virtual void writePoint(const SkPoint& point) = 0;
@@ -222,7 +222,7 @@ public:
 
 protected:
     // A helper function so that each subclass does not have to be a friend of SkFlattenable
-    void flattenObject(SkFlattenable* obj, SkFlattenableWriteBuffer& buffer);
+    void flattenObject(const SkFlattenable* obj, SkFlattenableWriteBuffer& buffer);
 
     uint32_t fFlags;
 };
index 9c0775d..4e83f45 100644 (file)
@@ -47,7 +47,7 @@ public:
                           const SkStrokeRec&, const SkMatrix&,
                           const SkRect*) const SK_OVERRIDE;
 
-    virtual Factory getFactory() SK_OVERRIDE;
+    virtual Factory getFactory() const SK_OVERRIDE;
 
     static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
 
index 50a47d5..5167c2e 100644 (file)
@@ -51,6 +51,7 @@ void SkFlattenableWriteBuffer::writePaint(const SkPaint& paint) {
     paint.flatten(*this);
 }
 
-void SkFlattenableWriteBuffer::flattenObject(SkFlattenable* obj, SkFlattenableWriteBuffer& buffer) {
+void SkFlattenableWriteBuffer::flattenObject(const SkFlattenable* obj,
+                                             SkFlattenableWriteBuffer& buffer) {
     obj->flatten(buffer);
 }
index 64f5219..9c31b4c 100644 (file)
@@ -253,7 +253,7 @@ void SkOrderedWriteBuffer::setBitmapEncoder(SkPicture::EncodeBitmap bitmapEncode
     }
 }
 
-void SkOrderedWriteBuffer::writeFlattenable(SkFlattenable* flattenable) {
+void SkOrderedWriteBuffer::writeFlattenable(const SkFlattenable* flattenable) {
     /*
      *  If we have a factoryset, then the first 32bits tell us...
      *       0: failure to write the flattenable
index 277b7bf..f3b414e 100644 (file)
@@ -59,7 +59,7 @@ public:
     virtual void writeEncodedString(const void* value, size_t byteLength,
                                     SkPaint::TextEncoding encoding) SK_OVERRIDE;
 
-    virtual void writeFlattenable(SkFlattenable* flattenable) SK_OVERRIDE;
+    virtual void writeFlattenable(const SkFlattenable* flattenable) SK_OVERRIDE;
     virtual void writeColor(const SkColor& color) SK_OVERRIDE;
     virtual void writeColorArray(const SkColor* color, uint32_t count) SK_OVERRIDE;
     virtual void writePoint(const SkPoint& point) SK_OVERRIDE;
index 41a201e..a821129 100644 (file)
@@ -498,7 +498,7 @@ protected:
 
     virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {}
 
-    virtual Factory getFactory() {
+    virtual Factory getFactory() const {
         return CreateProc;
     }
 
index be06591..4aa46ab 100644 (file)
@@ -528,7 +528,7 @@ bool SkDashPathEffect::asPoints(PointData* results,
     return true;
 }
 
-SkFlattenable::Factory SkDashPathEffect::getFactory() {
+SkFlattenable::Factory SkDashPathEffect::getFactory() const {
     return fInitialDashLength < 0 ? NULL : CreateProc;
 }