17 this->setIn2(SkSVGAttributeParser::parse<SkSVGFeInputType>(
"in2",
name,
value)) ||
18 this->setXChannelSelector(
19 SkSVGAttributeParser::parse<SkSVGFeDisplacementMap::ChannelSelector>(
21 this->setYChannelSelector(
22 SkSVGAttributeParser::parse<SkSVGFeDisplacementMap::ChannelSelector>(
24 this->setScale(SkSVGAttributeParser::parse<SkSVGNumberType>(
"scale",
name,
value));
46 fXChannelSelector, fYChannelSelector,
scale, in2, in, cropRect);
58bool SkSVGAttributeParser::parse<SkSVGFeDisplacementMap::ChannelSelector>(
60 static constexpr std::tuple<const char*, SkSVGFeDisplacementMap::ChannelSelector> gMap[] = {
61 {
"R", SkSVGFeDisplacementMap::ChannelSelector::kR },
62 {
"G", SkSVGFeDisplacementMap::ChannelSelector::kG },
67 return this->parseEnumMap(gMap, channel) && this->parseEOSToken();
static sk_sp< SkImageFilter > DisplacementMap(SkColorChannel xChannelSelector, SkColorChannel yChannelSelector, SkScalar scale, sk_sp< SkImageFilter > displacement, sk_sp< SkImageFilter > color, const CropRect &cropRect={})
SkSVGColorspace resolveColorspace(const SkSVGRenderContext &, const SkSVGFilterContext &) const final
sk_sp< SkImageFilter > onMakeImageFilter(const SkSVGRenderContext &, const SkSVGFilterContext &) const override
bool parseAndSetAttribute(const char *, const char *) override
SkRect resolveFilterSubregion(const SkSVGRenderContext &, const SkSVGFilterContext &) const
bool parseAndSetAttribute(const char *, const char *) override
SkSVGColorspace resolveInputColorspace(const SkSVGRenderContext &, const SkSVGFeInputType &) const
sk_sp< SkImageFilter > resolveInput(const SkSVGRenderContext &, const SkSVGFeInputType &) const
const SkSVGObjectBoundingBoxUnits & primitiveUnits() const
OBBTransform transformForCurrentOBB(SkSVGObjectBoundingBoxUnits) const
DEF_SWITCHES_START aot vmservice shared library name