8#ifndef SkColorFilterBase_DEFINED
9#define SkColorFilterBase_DEFINED
25#define SK_ALL_COLOR_FILTERS(M) \
46#define M(type) k##type,
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()
virtual bool onAsAColorMatrix(float[20]) const
static SkFlattenable::Type GetFlattenableType()
bool affectsTransparentBlack() const
virtual Type type() const =0
virtual SkRuntimeEffect * asRuntimeEffect() const
static sk_sp< SkColorFilter > Deserialize(const void *data, size_t size, const SkDeserialProcs *procs=nullptr)
virtual SkPMColor4f onFilterColor4f(const SkPMColor4f &color, SkColorSpace *dstCS) const
virtual bool appendStages(const SkStageRec &rec, bool shaderIsOpaque) const =0
virtual bool onIsAlphaUnchanged() const
virtual bool onAsAColorMode(SkColor *color, SkBlendMode *bmode) const
SkFlattenable::Type getFlattenableType() const override
SkColor4f filterColor4f(const SkColor4f &srcColor, SkColorSpace *srcCS, SkColorSpace *dstCS) const
static sk_sp< SkFlattenable > Deserialize(Type, const void *data, size_t length, const SkDeserialProcs *procs=nullptr)
constexpr SkColor4f kTransparent