Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Unified Diff: src/effects/SkColorFilters.cpp

Issue 395603002: Simplify flattening to just write enough to call the factory (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: simplify xfermodes, fix SkLayerDrawLooper Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698