void SVGComponentTransferFunctionElement::parseMappedAttribute(MappedAttribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::typeAttr) { if (value == "identity") setTypeBaseValue(FECOMPONENTTRANSFER_TYPE_IDENTITY); else if (value == "table") setTypeBaseValue(FECOMPONENTTRANSFER_TYPE_TABLE); else if (value == "discrete") setTypeBaseValue(FECOMPONENTTRANSFER_TYPE_DISCRETE); else if (value == "linear") setTypeBaseValue(FECOMPONENTTRANSFER_TYPE_LINEAR); else if (value == "gamma") setTypeBaseValue(FECOMPONENTTRANSFER_TYPE_GAMMA); } else if (attr->name() == SVGNames::tableValuesAttr) tableValuesBaseValue()->parse(value); else if (attr->name() == SVGNames::slopeAttr) setSlopeBaseValue(value.toFloat()); else if (attr->name() == SVGNames::interceptAttr) setInterceptBaseValue(value.toFloat()); else if (attr->name() == SVGNames::amplitudeAttr) setAmplitudeBaseValue(value.toFloat()); else if (attr->name() == SVGNames::exponentAttr) setExponentBaseValue(value.toFloat()); else if (attr->name() == SVGNames::offsetAttr) setOffsetBaseValue(value.toFloat()); else SVGElement::parseMappedAttribute(attr); }
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 SVGFEColorMatrixElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::typeAttr) { ColorMatrixType propertyValue = SVGPropertyTraits<ColorMatrixType>::fromString(value); if (propertyValue > 0) setTypeBaseValue(propertyValue); return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::valuesAttr) { SVGNumberList newList; newList.parse(value); detachAnimatedValuesListWrappers(newList.size()); setValuesBaseValue(newList); return; } ASSERT_NOT_REACHED(); }
void SVGFEColorMatrixElement::parseMappedAttribute(Attribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::typeAttr) { if (value == "matrix") setTypeBaseValue(FECOLORMATRIX_TYPE_MATRIX); else if (value == "saturate") setTypeBaseValue(FECOLORMATRIX_TYPE_SATURATE); else if (value == "hueRotate") setTypeBaseValue(FECOLORMATRIX_TYPE_HUEROTATE); else if (value == "luminanceToAlpha") setTypeBaseValue(FECOLORMATRIX_TYPE_LUMINANCETOALPHA); } else if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else if (attr->name() == SVGNames::valuesAttr) valuesBaseValue()->parse(value); 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(); }