Add printing of SkColorFilter-derived classes to debugger

https://codereview.chromium.org/15697012/



git-svn-id: http://skia.googlecode.com/svn/trunk@9255 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp
index a14babc..41a201e 100644
--- a/src/effects/SkColorFilters.cpp
+++ b/src/effects/SkColorFilters.cpp
@@ -12,6 +12,7 @@
 #include "SkColorPriv.h"
 #include "SkFlattenableBuffers.h"
 #include "SkUtils.h"
+#include "SkString.h"
 
 #define ILLEGAL_XFERMODE_MODE   ((SkXfermode::Mode)-1)
 
@@ -75,6 +76,15 @@
         }
     }
 
+#ifdef SK_DEVELOPER
+    virtual void toString(SkString* str) const SK_OVERRIDE {
+        str->append("SkModeColorFilter: color: 0x");
+        str->appendHex(fColor);
+        str->append(" mode: ");
+        str->append(SkXfermode::ModeName(fMode));
+    }
+#endif
+
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkModeColorFilter)
 
 protected:
@@ -260,6 +270,15 @@
         }
     }
 
+#ifdef SK_DEVELOPER
+    virtual void toString(SkString* str) const SK_OVERRIDE {
+        str->append("SkLightingColorFilter: mul: 0x");
+        str->appendHex(fMul);
+        str->append(" add: 0x");
+        str->appendHex(fAdd);
+    }
+#endif
+
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter)
 
 protected:
@@ -305,6 +324,13 @@
         }
     }
 
+#ifdef SK_DEVELOPER
+    virtual void toString(SkString* str) const SK_OVERRIDE {
+        str->append("SkLightingColorFilter_JustAdd: add: 0x");
+        str->appendHex(fAdd);
+    }
+#endif
+
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_JustAdd)
 
 protected:
@@ -339,6 +365,13 @@
         }
     }
 
+#ifdef SK_DEVELOPER
+    virtual void toString(SkString* str) const SK_OVERRIDE {
+        str->append("SkLightingColorFilter_JustMul: mul: 0x");
+        str->appendHex(fMul);
+    }
+#endif
+
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_JustMul)
 
 protected:
@@ -376,6 +409,13 @@
         }
     }
 
+#ifdef SK_DEVELOPER
+    virtual void toString(SkString* str) const SK_OVERRIDE {
+        str->append("SkLightingColorFilter_SingleMul: mul: 0x");
+        str->appendHex(fMul);
+    }
+#endif
+
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_SingleMul)
 
 protected:
@@ -415,6 +455,15 @@
         }
     }
 
+#ifdef SK_DEVELOPER
+    virtual void toString(SkString* str) const SK_OVERRIDE {
+        str->append("SkLightingColorFilter_NoPin: mul: 0x");
+        str->appendHex(fMul);
+        str->append(" add: 0x");
+        str->appendHex(fAdd);
+    }
+#endif
+
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLightingColorFilter_NoPin)
 
 protected:
@@ -433,6 +482,12 @@
         return SkNEW(SkSimpleColorFilter);
     }
 
+#ifdef SK_DEVELOPER
+    virtual void toString(SkString* str) const SK_OVERRIDE {
+        str->append("SkSimpleColorFilter");
+    }
+#endif
+
 protected:
     void filterSpan(const SkPMColor src[], int count, SkPMColor
                     result[]) const SK_OVERRIDE {