53 SkPMColor4f color = { origSrcColor.fR, origSrcColor.fG, origSrcColor.fB, origSrcColor.fA };
59 filteredColor.
fA =
SkTPin(filteredColor.
fA, 0.0f, 1.0f);
72 workingSpace->transferFn(&tf);
73 workingSpace->toXYZD50(&toXYZ);
@ kPremul_SkAlphaType
pixel components are premultiplied by alpha
static SkColorFilterBase * as_CFB(SkColorFilter *filter)
sk_sp< T > sk_ref_sp(T *obj)
static constexpr const T & SkTPin(const T &x, const T &lo, const T &hi)
virtual bool onAsAColorMatrix(float[20]) const
virtual SkPMColor4f onFilterColor4f(const SkPMColor4f &color, SkColorSpace *dstCS) const
virtual bool onIsAlphaUnchanged() const
virtual bool onAsAColorMode(SkColor *color, SkBlendMode *bmode) const
static sk_sp< SkColorFilter > WithWorkingFormat(sk_sp< SkColorFilter > child, const skcms_TransferFunction *tf, const skcms_Matrix3x3 *gamut, const SkAlphaType *at)
bool asAColorMode(SkColor *color, SkBlendMode *mode) const
bool asAColorMatrix(float matrix[20]) const
bool isAlphaUnchanged() const
SkColor4f filterColor4f(const SkColor4f &srcColor, SkColorSpace *srcCS, SkColorSpace *dstCS) const
static sk_sp< SkColorFilter > Deserialize(const void *data, size_t size, const SkDeserialProcs *procs=nullptr)
SkColor filterColor(SkColor) const
sk_sp< SkColorFilter > makeWithWorkingColorSpace(sk_sp< SkColorSpace >) const
static sk_sp< SkFlattenable > Deserialize(Type, const void *data, size_t length, const SkDeserialProcs *procs=nullptr)
SkRGBA4f< kUnpremul_SkAlphaType > unpremul() const
static SkRGBA4f FromColor(SkColor color)