35public:
36 [[nodiscard]]
virtual bool appendStages(
const SkStageRec& rec,
bool shaderIsOpaque)
const = 0;
37
38
39
40 virtual bool onIsAlphaUnchanged() const { return false; }
41
43
44 kNoop,
45#define M(type) k##type,
47#undef M
48
49 };
50
52
53 bool affectsTransparentBlack() const {
56 }
57
59
61 return kSkColorFilter_Type;
62 }
63
65 return kSkColorFilter_Type;
66 }
67
72 kSkColorFilter_Type, data, size, procs).release()));
73 }
74
76
77protected:
79
80 virtual bool onAsAColorMatrix(float[20]) const;
82
83private:
85
87};
88
91}
92
95}
96
99}
100
103}
104
111
112#endif
void SkRegisterMatrixColorFilterFlattenable()
void SkRegisterComposeColorFilterFlattenable()
void SkRegisterWorkingFormatColorFilterFlattenable()
void SkRegisterTableColorFilterFlattenable()
static sk_sp< SkColorFilterBase > as_CFB_sp(sk_sp< SkColorFilter > filter)
void SkRegisterSkColorSpaceXformColorFilterFlattenable()
#define SK_ALL_COLOR_FILTERS(M)
static SkColorFilterBase * as_CFB(SkColorFilter *filter)
void SkRegisterModeColorFilterFlattenable()
#define INHERITED(method,...)
static sk_sp< SkFlattenable > Deserialize(Type, const void *data, size_t length, const SkDeserialProcs *procs=nullptr)
constexpr SkColor4f kTransparent