diff options
author | robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-03-18 17:53:38 +0000 |
---|---|---|
committer | robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-03-18 17:53:38 +0000 |
commit | 0bd80fa01bba2b3f0f49937fcb17928c74bde5a6 (patch) | |
tree | f22c8c5a92625ce558f350fb36682101af21211c | |
parent | cd9caa8017fbcb5538011013d6eba17a22fe6fc0 (diff) |
Added toString to SkMaskFilter-derived classes
https://codereview.appspot.com/7889043/
git-svn-id: http://skia.googlecode.com/svn/trunk@8194 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r-- | include/core/SkMaskFilter.h | 2 | ||||
-rw-r--r-- | include/effects/SkEmbossMaskFilter.h | 1 | ||||
-rw-r--r-- | include/effects/SkKernel33MaskFilter.h | 3 | ||||
-rw-r--r-- | include/effects/SkStippleMaskFilter.h | 1 | ||||
-rw-r--r-- | include/effects/SkTableMaskFilter.h | 1 | ||||
-rw-r--r-- | samplecode/SampleText.cpp | 22 | ||||
-rw-r--r-- | src/core/SkPaint.cpp | 1 | ||||
-rw-r--r-- | src/effects/SkBlurMaskFilter.cpp | 31 | ||||
-rw-r--r-- | src/effects/SkEmbossMaskFilter.cpp | 22 | ||||
-rw-r--r-- | src/effects/SkKernel33MaskFilter.cpp | 23 | ||||
-rw-r--r-- | src/effects/SkStippleMaskFilter.cpp | 8 | ||||
-rw-r--r-- | src/effects/SkTableMaskFilter.cpp | 15 |
12 files changed, 129 insertions, 1 deletions
diff --git a/include/core/SkMaskFilter.h b/include/core/SkMaskFilter.h index a874e62b48..aa499ecd23 100644 --- a/include/core/SkMaskFilter.h +++ b/include/core/SkMaskFilter.h @@ -93,6 +93,8 @@ public: */ virtual void computeFastBounds(const SkRect& src, SkRect* dest) const; + SkDEVCODE(virtual void toString(SkString* str) const = 0;) + protected: // empty for now, but lets get our subclass to remember to init us for the future SkMaskFilter(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {} diff --git a/include/effects/SkEmbossMaskFilter.h b/include/effects/SkEmbossMaskFilter.h index ce6447371f..c6679200b3 100644 --- a/include/effects/SkEmbossMaskFilter.h +++ b/include/effects/SkEmbossMaskFilter.h @@ -32,6 +32,7 @@ public: virtual bool filterMask(SkMask* dst, const SkMask& src, const SkMatrix&, SkIPoint* margin) const SK_OVERRIDE; + SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;) SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkEmbossMaskFilter) protected: diff --git a/include/effects/SkKernel33MaskFilter.h b/include/effects/SkKernel33MaskFilter.h index 9fcbb6afa7..3404b73b17 100644 --- a/include/effects/SkKernel33MaskFilter.h +++ b/include/effects/SkKernel33MaskFilter.h @@ -21,6 +21,8 @@ public: virtual bool filterMask(SkMask*, const SkMask&, const SkMatrix&, SkIPoint*) const SK_OVERRIDE; + SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;) + protected: SkKernel33ProcMaskFilter(SkFlattenableReadBuffer& rb); virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE; @@ -44,6 +46,7 @@ public: // override from SkKernel33ProcMaskFilter virtual uint8_t computeValue(uint8_t* const* srcRows) const SK_OVERRIDE; + SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;) SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkKernel33MaskFilter) private: diff --git a/include/effects/SkStippleMaskFilter.h b/include/effects/SkStippleMaskFilter.h index be03c4590e..8f6d20d9ca 100644 --- a/include/effects/SkStippleMaskFilter.h +++ b/include/effects/SkStippleMaskFilter.h @@ -27,6 +27,7 @@ public: return SkMask::kA8_Format; } + SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;) SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkStippleMaskFilter); protected: diff --git a/include/effects/SkTableMaskFilter.h b/include/effects/SkTableMaskFilter.h index feb3b13847..ac33266f80 100644 --- a/include/effects/SkTableMaskFilter.h +++ b/include/effects/SkTableMaskFilter.h @@ -47,6 +47,7 @@ public: virtual bool filterMask(SkMask*, const SkMask&, const SkMatrix&, SkIPoint*) const SK_OVERRIDE; + SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;) SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTableMaskFilter) protected: diff --git a/samplecode/SampleText.cpp b/samplecode/SampleText.cpp index ee447d3066..5873091836 100644 --- a/samplecode/SampleText.cpp +++ b/samplecode/SampleText.cpp @@ -48,10 +48,21 @@ public: // if (c < min) c = min; return c; } + +#ifdef SK_DEVELOPER + virtual void toString(SkString* str) const SK_OVERRIDE { + str->append("ReduceNoise: ("); + this->INHERITED::toString(str); + str->append(")"); + } +#endif + SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(ReduceNoise) private: ReduceNoise(SkFlattenableReadBuffer& rb) : SkKernel33ProcMaskFilter(rb) {} + + typedef SkKernel33ProcMaskFilter INHERITED; }; class Darken : public SkKernel33ProcMaskFilter { @@ -69,10 +80,21 @@ public: SkASSERT(f >= 0 && f <= 1); return (int)(f * 255); } + +#ifdef SK_DEVELOPER + virtual void toString(SkString* str) const SK_OVERRIDE { + str->append("Darken: ("); + this->INHERITED::toString(str); + str->append(")"); + } +#endif + SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Darken) private: Darken(SkFlattenableReadBuffer& rb) : SkKernel33ProcMaskFilter(rb) {} + + typedef SkKernel33ProcMaskFilter INHERITED; }; static SkMaskFilter* makemf() { return new Darken(0x30); } diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp index b9dc5e5d0e..c7ad933dd1 100644 --- a/src/core/SkPaint.cpp +++ b/src/core/SkPaint.cpp @@ -2295,6 +2295,7 @@ void SkPaint::toString(SkString* str) const { SkMaskFilter* maskFilter = this->getMaskFilter(); if (NULL != maskFilter) { str->append("<dt>MaskFilter:</dt><dd>"); + SkDEVCODE(maskFilter->toString(str);) str->append("</dd>"); } diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp index 88043ff6fe..2329b0f685 100644 --- a/src/effects/SkBlurMaskFilter.cpp +++ b/src/effects/SkBlurMaskFilter.cpp @@ -13,6 +13,7 @@ #include "SkBounder.h" #include "SkRasterClip.h" #include "SkRTConf.h" +#include "SkStringUtils.h" class SkBlurMaskFilterImpl : public SkMaskFilter { public: @@ -27,6 +28,7 @@ public: virtual BlurType asABlur(BlurInfo*) const SK_OVERRIDE; virtual void computeFastBounds(const SkRect&, SkRect*) const SK_OVERRIDE; + SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;) SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurMaskFilterImpl) protected: @@ -339,6 +341,35 @@ SkMaskFilter::BlurType SkBlurMaskFilterImpl::asABlur(BlurInfo* info) const { return gBlurStyle2BlurType[fBlurStyle]; } +#ifdef SK_DEVELOPER +void SkBlurMaskFilterImpl::toString(SkString* str) const { + str->append("SkBlurMaskFilterImpl: ("); + + str->append("radius: "); + str->appendScalar(fRadius); + str->append(" "); + + static const char* gStyleName[SkBlurMaskFilter::kBlurStyleCount] = { + "normal", "solid", "outer", "inner" + }; + + str->appendf("style: %s ", gStyleName[fBlurStyle]); + str->append("flags: ("); + if (fBlurFlags) { + bool needSeparator = false; + SkAddFlagToString(str, + SkToBool(fBlurFlags & SkBlurMaskFilter::kIgnoreTransform_BlurFlag), + "IgnoreXform", &needSeparator); + SkAddFlagToString(str, + SkToBool(fBlurFlags & SkBlurMaskFilter::kHighQuality_BlurFlag), + "HighQuality", &needSeparator); + } else { + str->append("None"); + } + str->append("))"); +} +#endif + SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkBlurMaskFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurMaskFilterImpl) SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END diff --git a/src/effects/SkEmbossMaskFilter.cpp b/src/effects/SkEmbossMaskFilter.cpp index 0c9158586f..a205fccf15 100644 --- a/src/effects/SkEmbossMaskFilter.cpp +++ b/src/effects/SkEmbossMaskFilter.cpp @@ -12,6 +12,7 @@ #include "SkBlurMask.h" #include "SkEmbossMask.h" #include "SkFlattenableBuffers.h" +#include "SkString.h" static inline int pin2byte(int n) { if (n < 0) { @@ -131,3 +132,24 @@ void SkEmbossMaskFilter::flatten(SkFlattenableWriteBuffer& buffer) const { buffer.writeByteArray(&tmpLight, sizeof(tmpLight)); buffer.writeScalar(fBlurRadius); } + +#ifdef SK_DEVELOPER +void SkEmbossMaskFilter::toString(SkString* str) const { + str->append("SkEmbossMaskFilter: ("); + + str->append("direction: ("); + str->appendScalar(fLight.fDirection[0]); + str->append(", "); + str->appendScalar(fLight.fDirection[1]); + str->append(", "); + str->appendScalar(fLight.fDirection[2]); + str->append(") "); + + str->appendf("ambient: %d specular: %d ", + fLight.fAmbient, fLight.fSpecular); + + str->append("blurRadius: "); + str->appendScalar(fBlurRadius); + str->append(")"); +} +#endif diff --git a/src/effects/SkKernel33MaskFilter.cpp b/src/effects/SkKernel33MaskFilter.cpp index 9c42b398c7..485001bbe3 100644 --- a/src/effects/SkKernel33MaskFilter.cpp +++ b/src/effects/SkKernel33MaskFilter.cpp @@ -8,6 +8,7 @@ #include "SkKernel33MaskFilter.h" #include "SkColorPriv.h" #include "SkFlattenableBuffers.h" +#include "SkString.h" SkMask::Format SkKernel33ProcMaskFilter::getFormat() const { return SkMask::kA8_Format; @@ -84,6 +85,12 @@ SkKernel33ProcMaskFilter::SkKernel33ProcMaskFilter(SkFlattenableReadBuffer& rb) fPercent256 = rb.readInt(); } +#ifdef SK_DEVELOPER +void SkKernel33ProcMaskFilter::toString(SkString* str) const { + str->appendf("percent256: %d, ", fPercent256); +} +#endif + /////////////////////////////////////////////////////////////////////////////// uint8_t SkKernel33MaskFilter::computeValue(uint8_t* const* srcRows) const { @@ -117,3 +124,19 @@ SkKernel33MaskFilter::SkKernel33MaskFilter(SkFlattenableReadBuffer& rb) SkASSERT(9 == count); fShift = rb.readInt(); } + +#ifdef SK_DEVELOPER +void SkKernel33MaskFilter::toString(SkString* str) const { + str->append("SkKernel33MaskFilter: ("); + + str->appendf("kernel: (%d, %d, %d, %d, %d, %d, %d, %d, %d), ", + fKernel[0][0], fKernel[0][1], fKernel[0][2], + fKernel[1][0], fKernel[1][1], fKernel[1][2], + fKernel[2][0], fKernel[2][1], fKernel[2][2]); + str->appendf("shift: %d, ", fShift); + + this->INHERITED::toString(str); + + str->append(")"); +} +#endif diff --git a/src/effects/SkStippleMaskFilter.cpp b/src/effects/SkStippleMaskFilter.cpp index 24b9114400..14f30ec651 100644 --- a/src/effects/SkStippleMaskFilter.cpp +++ b/src/effects/SkStippleMaskFilter.cpp @@ -6,7 +6,7 @@ */ #include "SkStippleMaskFilter.h" - +#include "SkString.h" bool SkStippleMaskFilter::filterMask(SkMask* dst, const SkMask& src, @@ -44,3 +44,9 @@ bool SkStippleMaskFilter::filterMask(SkMask* dst, return true; } + +#ifdef SK_DEVELOPER +void SkStippleMaskFilter::toString(SkString* str) const { + str->append("SkStippleMaskFilter: ()"); +} +#endif diff --git a/src/effects/SkTableMaskFilter.cpp b/src/effects/SkTableMaskFilter.cpp index ada5d01217..5bff4def29 100644 --- a/src/effects/SkTableMaskFilter.cpp +++ b/src/effects/SkTableMaskFilter.cpp @@ -9,6 +9,7 @@ #include "SkTableMaskFilter.h" #include "SkFlattenableBuffers.h" +#include "SkString.h" SkTableMaskFilter::SkTableMaskFilter() { for (int i = 0; i < 256; i++) { @@ -126,3 +127,17 @@ void SkTableMaskFilter::MakeClipTable(uint8_t table[256], uint8_t min, SkDebugf("\n\n"); #endif } + +#ifdef SK_DEVELOPER +void SkTableMaskFilter::toString(SkString* str) const { + str->append("SkTableMaskFilter: ("); + + str->append("table: "); + for (int i = 0; i < 255; ++i) { + str->appendf("%d, ", fTable[i]); + } + str->appendf("%d", fTable[255]); + + str->append(")"); +} +#endif |