void SVGFETurbulenceElement::parseMappedAttribute(MappedAttribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::typeAttr) { if (value == "fractalNoise") setTypeBaseValue(FETURBULENCE_TYPE_FRACTALNOISE); else if (value == "turbulence") setTypeBaseValue(FETURBULENCE_TYPE_TURBULENCE); } else if (attr->name() == SVGNames::stitchTilesAttr) { if (value == "stitch") setStitchTilesBaseValue(SVG_STITCHTYPE_STITCH); else if (value == "nostitch") setStitchTilesBaseValue(SVG_STITCHTYPE_NOSTITCH); } else if (attr->name() == SVGNames::baseFrequencyAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setBaseFrequencyXBaseValue(x); setBaseFrequencyYBaseValue(y); } } else if (attr->name() == SVGNames::seedAttr) setSeedBaseValue(value.toFloat()); else if (attr->name() == SVGNames::numOctavesAttr) setNumOctavesBaseValue(value.toUIntStrict()); else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
void SVGFETurbulenceElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::typeAttr) { TurbulenceType propertyValue = SVGPropertyTraits<TurbulenceType>::fromString(value); if (propertyValue > 0) setTypeBaseValue(propertyValue); return; } if (name == SVGNames::stitchTilesAttr) { SVGStitchOptions propertyValue = SVGPropertyTraits<SVGStitchOptions>::fromString(value); if (propertyValue > 0) setStitchTilesBaseValue(propertyValue); return; } if (name == SVGNames::baseFrequencyAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setBaseFrequencyXBaseValue(x); setBaseFrequencyYBaseValue(y); } return; } if (name == SVGNames::seedAttr) { setSeedBaseValue(value.toFloat()); return; } if (name == SVGNames::numOctavesAttr) { setNumOctavesBaseValue(value.string().toUIntStrict()); return; } ASSERT_NOT_REACHED(); }