void SVGFEGaussianBlurElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == SVGNames::stdDeviationAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setStdDeviationXBaseValue(x); setStdDeviationYBaseValue(y); } return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::edgeModeAttr) { auto propertyValue = SVGPropertyTraits<EdgeModeType>::fromString(value); if (propertyValue > 0) setEdgeModeBaseValue(propertyValue); else document().accessSVGExtensions().reportWarning("feGaussianBlur: problem parsing edgeMode=\"" + value + "\". Filtered element will not be displayed."); return; } SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); }
void SVGFEBlendElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::modeAttr) { BlendMode mode = BlendModeNormal; if (parseBlendMode(value, mode)) setModeBaseValue(mode); return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::in2Attr) { setIn2BaseValue(value); return; } ASSERT_NOT_REACHED(); }
void SVGFEDropShadowElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::stdDeviationAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setStdDeviationXBaseValue(x); setStdDeviationYBaseValue(y); } return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::dxAttr) { setDxBaseValue(value.toFloat()); return; } if (name == SVGNames::dyAttr) { setDyBaseValue(value.toFloat()); return; } ASSERT_NOT_REACHED(); }
void SVGFEMorphologyElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::operatorAttr) { MorphologyOperatorType propertyValue = SVGPropertyTraits<MorphologyOperatorType>::fromString(value); if (propertyValue > 0) setSVGOperatorBaseValue(propertyValue); return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::radiusAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setRadiusXBaseValue(x); setRadiusYBaseValue(y); } return; } ASSERT_NOT_REACHED(); }
void SVGFESpecularLightingElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::surfaceScaleAttr) { setSurfaceScaleBaseValue(value.toFloat()); return; } if (name == SVGNames::specularConstantAttr) { setSpecularConstantBaseValue(value.toFloat()); return; } if (name == SVGNames::specularExponentAttr) { setSpecularExponentBaseValue(value.toFloat()); return; } if (name == SVGNames::kernelUnitLengthAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setKernelUnitLengthXBaseValue(x); setKernelUnitLengthYBaseValue(y); } return; } SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); }
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 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 SVGFEComponentTransferElement::parseMappedAttribute(Attribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
void SVGFEMergeNodeElement::parseMappedAttribute(Attribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else SVGElement::parseMappedAttribute(attr); }
void SVGFEOffsetElement::parseMappedAttribute(MappedAttribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::dxAttr) setDxBaseValue(value.toFloat()); else if (attr->name() == SVGNames::dyAttr) setDyBaseValue(value.toFloat()); else if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
void SVGFEGaussianBlurElement::parseMappedAttribute(MappedAttribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::stdDeviationAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setStdDeviationXBaseValue(x); setStdDeviationYBaseValue(y); } } else if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
void SVGFETileElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } ASSERT_NOT_REACHED(); }
void SVGFEDisplacementMapElement::parseMappedAttribute(MappedAttribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::xChannelSelectorAttr) setXChannelSelectorBaseValue(stringToChannel(value)); else if (attr->name() == SVGNames::yChannelSelectorAttr) setYChannelSelectorBaseValue(stringToChannel(value)); else if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else if (attr->name() == SVGNames::in2Attr) setIn2BaseValue(value); else if (attr->name() == SVGNames::scaleAttr) setScaleBaseValue(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(); }
void SVGFEConvolveMatrixElement::parseMappedAttribute(Attribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else if (attr->name() == SVGNames::orderAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setOrderXBaseValue(x); setOrderYBaseValue(y); } } else if (attr->name() == SVGNames::edgeModeAttr) { if (value == "duplicate") setEdgeModeBaseValue(EDGEMODE_DUPLICATE); else if (value == "wrap") setEdgeModeBaseValue(EDGEMODE_WRAP); else if (value == "none") setEdgeModeBaseValue(EDGEMODE_NONE); } else if (attr->name() == SVGNames::kernelMatrixAttr) { SVGNumberList newList; newList.parse(value); detachAnimatedKernelMatrixListWrappers(newList.size()); kernelMatrixBaseValue() = newList; } else if (attr->name() == SVGNames::divisorAttr) setDivisorBaseValue(value.toFloat()); else if (attr->name() == SVGNames::biasAttr) setBiasBaseValue(value.toFloat()); else if (attr->name() == SVGNames::targetXAttr) setTargetXBaseValue(value.toUIntStrict()); else if (attr->name() == SVGNames::targetYAttr) setTargetYBaseValue(value.toUIntStrict()); else if (attr->name() == SVGNames::kernelUnitLengthAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setKernelUnitLengthXBaseValue(x); setKernelUnitLengthYBaseValue(y); } } else if (attr->name() == SVGNames::preserveAlphaAttr) { if (value == "true") setPreserveAlphaBaseValue(true); else if (value == "false") setPreserveAlphaBaseValue(false); } else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
void SVGFEDiffuseLightingElement::parseMappedAttribute(MappedAttribute *attr) { const String& value = attr->value(); if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else if (attr->name() == SVGNames::surfaceScaleAttr) setSurfaceScaleBaseValue(value.toFloat()); else if (attr->name() == SVGNames::diffuseConstantAttr) setDiffuseConstantBaseValue(value.toInt()); else if (attr->name() == SVGNames::kernelUnitLengthAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setKernelUnitLengthXBaseValue(x); setKernelUnitLengthYBaseValue(y); } } else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
void SVGFEMorphologyElement::parseMappedAttribute(Attribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::operatorAttr) { if (value == "erode") set_operatorBaseValue(FEMORPHOLOGY_OPERATOR_ERODE); else if (value == "dilate") set_operatorBaseValue(FEMORPHOLOGY_OPERATOR_DILATE); } else if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else if (attr->name() == SVGNames::radiusAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y)) { setRadiusXBaseValue(x); setRadiusYBaseValue(y); } } else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
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 SVGFEBlendElement::parseMappedAttribute(Attribute* attr) { const String& value = attr->value(); if (attr->name() == SVGNames::modeAttr) { if (value == "normal") setModeBaseValue(FEBLEND_MODE_NORMAL); else if (value == "multiply") setModeBaseValue(FEBLEND_MODE_MULTIPLY); else if (value == "screen") setModeBaseValue(FEBLEND_MODE_SCREEN); else if (value == "darken") setModeBaseValue(FEBLEND_MODE_DARKEN); else if (value == "lighten") setModeBaseValue(FEBLEND_MODE_LIGHTEN); } else if (attr->name() == SVGNames::inAttr) setIn1BaseValue(value); else if (attr->name() == SVGNames::in2Attr) setIn2BaseValue(value); else SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr); }
void SVGFEDisplacementMapElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::xChannelSelectorAttr) { ChannelSelectorType propertyValue = SVGPropertyTraits<ChannelSelectorType>::fromString(value); if (propertyValue > 0) setXChannelSelectorBaseValue(propertyValue); return; } if (name == SVGNames::yChannelSelectorAttr) { ChannelSelectorType propertyValue = SVGPropertyTraits<ChannelSelectorType>::fromString(value); if (propertyValue > 0) setYChannelSelectorBaseValue(propertyValue); return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::in2Attr) { setIn2BaseValue(value); return; } if (name == SVGNames::scaleAttr) { setScaleBaseValue(value.toFloat()); return; } ASSERT_NOT_REACHED(); }
void SVGFEConvolveMatrixElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGFilterPrimitiveStandardAttributes::parseAttribute(name, value); return; } if (name == SVGNames::inAttr) { setIn1BaseValue(value); return; } if (name == SVGNames::orderAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y) && x >= 1 && y >= 1) { setOrderXBaseValue(x); setOrderYBaseValue(y); } else document().accessSVGExtensions()->reportWarning( "feConvolveMatrix: problem parsing order=\"" + value + "\". Filtered element will not be displayed."); return; } if (name == SVGNames::edgeModeAttr) { EdgeModeType propertyValue = SVGPropertyTraits<EdgeModeType>::fromString(value); if (propertyValue > 0) setEdgeModeBaseValue(propertyValue); else document().accessSVGExtensions()->reportWarning( "feConvolveMatrix: problem parsing edgeMode=\"" + value + "\". Filtered element will not be displayed."); return; } if (name == SVGNames::kernelMatrixAttr) { SVGNumberList newList; newList.parse(value); detachAnimatedKernelMatrixListWrappers(newList.size()); setKernelMatrixBaseValue(newList); return; } if (name == SVGNames::divisorAttr) { float divisor = value.toFloat(); if (divisor) setDivisorBaseValue(divisor); else document().accessSVGExtensions()->reportWarning( "feConvolveMatrix: problem parsing divisor=\"" + value + "\". Filtered element will not be displayed."); return; } if (name == SVGNames::biasAttr) { setBiasBaseValue(value.toFloat()); return; } if (name == SVGNames::targetXAttr) { setTargetXBaseValue(value.string().toUIntStrict()); return; } if (name == SVGNames::targetYAttr) { setTargetYBaseValue(value.string().toUIntStrict()); return; } if (name == SVGNames::kernelUnitLengthAttr) { float x, y; if (parseNumberOptionalNumber(value, x, y) && x > 0 && y > 0) { setKernelUnitLengthXBaseValue(x); setKernelUnitLengthYBaseValue(y); } else document().accessSVGExtensions()->reportWarning( "feConvolveMatrix: problem parsing kernelUnitLength=\"" + value + "\". Filtered element will not be displayed."); return; } if (name == SVGNames::preserveAlphaAttr) { if (value == "true") setPreserveAlphaBaseValue(true); else if (value == "false") setPreserveAlphaBaseValue(false); else document().accessSVGExtensions()->reportWarning( "feConvolveMatrix: problem parsing preserveAlphaAttr=\"" + value + "\". Filtered element will not be displayed."); return; } ASSERT_NOT_REACHED(); }