void SVGFECompositeElement::parseMappedAttribute(Attribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::operatorAttr) { if (value == "over") set_operatorBaseValue(FECOMPOSITE_OPERATOR_OVER); else if (value == "in") set_operatorBaseValue(FECOMPOSITE_OPERATOR_IN); else if (value == "out") set_operatorBaseValue(FECOMPOSITE_OPERATOR_OUT); else if (value == "atop") set_operatorBaseValue(FECOMPOSITE_OPERATOR_ATOP); else if (value == "xor") set_operatorBaseValue(FECOMPOSITE_OPERATOR_XOR); else if (value == "arithmetic") set_operatorBaseValue(FECOMPOSITE_OPERATOR_ARITHMETIC); } else if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else if (attr->name() == SVGNames::in2Attr) setIn2BaseValue(value); else if (attr->name() == SVGNames::k1Attr) setK1BaseValue(value.toFloat()); else if (attr->name() == SVGNames::k2Attr) setK2BaseValue(value.toFloat()); else if (attr->name() == SVGNames::k3Attr) setK3BaseValue(value.toFloat()); else if (attr->name() == SVGNames::k4Attr) setK4BaseValue(value.toFloat()); else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
void SVGFECompositeElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::operatorAttr) { CompositeOperationType propertyValue = SVGPropertyTraits<CompositeOperationType>::fromString(value); if (propertyValue > 0) setSVGOperatorBaseValue(propertyValue); return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::in2Attr) { setIn2BaseValue(value); return; } if (name == SVGNames::k1Attr) { setK1BaseValue(value.toFloat()); return; } if (name == SVGNames::k2Attr) { setK2BaseValue(value.toFloat()); return; } if (name == SVGNames::k3Attr) { setK3BaseValue(value.toFloat()); return; } if (name == SVGNames::k4Attr) { setK4BaseValue(value.toFloat()); return; } ASSERT_NOT_REACHED(); }