Index: src/effects/SkColorFilters.cpp |
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp |
index 43df5e96a0b02a00331efe48c80995dafb2e5485..351978ad55cb735b00454d08ef221882e05498a7 100644 |
--- a/src/effects/SkColorFilters.cpp |
+++ b/src/effects/SkColorFilters.cpp |
@@ -93,11 +93,11 @@ public: |
protected: |
virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE { |
- this->INHERITED::flatten(buffer); |
buffer.writeColor(fColor); |
buffer.writeUInt(fMode); |
} |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
SkModeColorFilter(SkReadBuffer& buffer) { |
fColor = buffer.readColor(); |
fMode = (SkXfermode::Mode)buffer.readUInt(); |
@@ -106,6 +106,7 @@ protected: |
buffer.validate(SkIsValidMode(fMode)); |
} |
} |
+#endif |
private: |
SkColor fColor; |
@@ -124,6 +125,12 @@ private: |
typedef SkColorFilter INHERITED; |
}; |
+SkFlattenable* SkModeColorFilter::CreateProc(SkReadBuffer& buffer) { |
+ SkColor color = buffer.readColor(); |
+ SkXfermode::Mode mode = (SkXfermode::Mode)buffer.readUInt(); |
+ return SkColorFilter::CreateModeFilter(color, mode); |
sugoi1
2014/08/19 18:46:17
I think the mode validation might be important her
reed1
2014/08/19 19:58:06
Fixed in factory, removed 1st constructor, elimina
|
+} |
+ |
/////////////////////////////////////////////////////////////////////////////// |
#if SK_SUPPORT_GPU |
#include "GrBlend.h" |
@@ -443,12 +450,6 @@ public: |
sk_memset16(result, SkPixel32ToPixel16(this->getPMColor()), count); |
} |
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Src_SkModeColorFilter) |
- |
-protected: |
- Src_SkModeColorFilter(SkReadBuffer& buffer) |
- : INHERITED(buffer) {} |
- |
private: |
typedef SkModeColorFilter INHERITED; |
}; |
@@ -479,14 +480,6 @@ public: |
sk_memset16(result, SkPixel32ToPixel16(this->getPMColor()), count); |
} |
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SrcOver_SkModeColorFilter) |
- |
-protected: |
- SrcOver_SkModeColorFilter(SkReadBuffer& buffer) |
- : INHERITED(buffer) { |
- fColor32Proc = SkBlitRow::ColorProcFactory(); |
- } |
- |
private: |
SkBlitRow::ColorProc fColor32Proc; |
@@ -496,8 +489,7 @@ private: |
/////////////////////////////////////////////////////////////////////////////// |
-SkColorFilter* SkColorFilter::CreateModeFilter(SkColor color, |
- SkXfermode::Mode mode) { |
+SkColorFilter* SkColorFilter::CreateModeFilter(SkColor color, SkXfermode::Mode mode) { |
unsigned alpha = SkColorGetA(color); |
// first collaps some modes if possible |