20 SkSVGAttributeParser::parse<SkSVGFeColorMatrixType>(
"type",
name,
value)) ||
22 SkSVGAttributeParser::parse<SkSVGFeColorMatrixValues>(
"values",
name,
value));
32 if (fValues.size() < 20) {
36 m.setRowMajor(fValues.data());
40 return MakeSaturate(!fValues.empty() ? fValues[0] : 1);
42 return MakeHueRotate(!fValues.empty() ? fValues[0] : 0);
44 return MakeLuminanceToAlpha();
61 0.213f + c* 0.787f +
s*-0.213f,
62 0.715f + c*-0.715f +
s*-0.715f,
63 0.072f + c*-0.072f +
s* 0.928f,
67 0.213f + c*-0.213f +
s* 0.143f,
68 0.715f + c* 0.285f +
s* 0.140f,
69 0.072f + c*-0.072f +
s*-0.283f,
73 0.213f + c*-0.213f +
s*-0.787f,
74 0.715f + c*-0.715f +
s* 0.715f,
75 0.072f + c* 0.928f +
s* 0.072f,
96 fctx.
resolveInput(ctx, this->getIn(), this->resolveColorspace(ctx, fctx)),
97 this->resolveFilterSubregion(ctx, fctx));
101 static constexpr std::tuple<const char*, SkSVGFeColorMatrixType> gTypeMap[] = {
108 return this->parseEnumMap(gTypeMap,
type) && this->parseEOSToken();
#define SkDegreesToRadians(degrees)
#define SkScalarSin(radians)
#define SkScalarCos(radians)
static sk_sp< SkColorFilter > Matrix(const SkColorMatrix &)
static sk_sp< SkImageFilter > ColorFilter(sk_sp< SkColorFilter > cf, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
bool parse(SkSVGIntegerType *v)
bool parseAndSetAttribute(const char *, const char *) override
sk_sp< SkImageFilter > onMakeImageFilter(const SkSVGRenderContext &, const SkSVGFilterContext &) const override
bool parseAndSetAttribute(const char *, const char *) override
sk_sp< SkImageFilter > resolveInput(const SkSVGRenderContext &, const SkSVGFeInputType &) const
DEF_SWITCHES_START aot vmservice shared library name