KHTML
SVGFEGaussianBlurElement.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "config.h"
00024
00025 #if ENABLE(SVG) && ENABLE(SVG_FILTERS)
00026 #include "SVGFEGaussianBlurElement.h"
00027
00028 #include "SVGNames.h"
00029 #include "SVGParserUtilities.h"
00030 #include "SVGResourceFilter.h"
00031
00032 namespace WebCore {
00033
00034 SVGFEGaussianBlurElement::SVGFEGaussianBlurElement(const QualifiedName& tagName, Document* doc)
00035 : SVGFilterPrimitiveStandardAttributes(tagName, doc)
00036 , m_stdDeviationX(0.0f)
00037 , m_stdDeviationY(0.0f)
00038 , m_filterEffect(0)
00039 {
00040 }
00041
00042 SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement()
00043 {
00044 delete m_filterEffect;
00045 }
00046
00047 ANIMATED_PROPERTY_DEFINITIONS(SVGFEGaussianBlurElement, String, String, string, In1, in1, SVGNames::inAttr, m_in1)
00048 ANIMATED_PROPERTY_DEFINITIONS_WITH_CUSTOM_IDENTIFIER(SVGFEGaussianBlurElement, float, Number, number, StdDeviationX, stdDeviationX, SVGNames::stdDeviationAttr, "stdDeviationX", m_stdDeviationX)
00049 ANIMATED_PROPERTY_DEFINITIONS_WITH_CUSTOM_IDENTIFIER(SVGFEGaussianBlurElement, float, Number, number, StdDeviationY, stdDeviationY, SVGNames::stdDeviationAttr, "stdDeviationY", m_stdDeviationY)
00050
00051 void SVGFEGaussianBlurElement::setStdDeviation(float stdDeviationX, float stdDeviationY)
00052 {
00053 }
00054
00055 void SVGFEGaussianBlurElement::parseMappedAttribute(MappedAttribute* attr)
00056 {
00057 const String& value = attr->value();
00058 if (attr->name() == SVGNames::stdDeviationAttr) {
00059 float x, y;
00060 if (parseNumberOptionalNumber(value, x, y)) {
00061 setStdDeviationXBaseValue(x);
00062 setStdDeviationYBaseValue(y);
00063 }
00064 } else if (attr->name() == SVGNames::inAttr)
00065 setIn1BaseValue(value);
00066 else
00067 SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr);
00068 }
00069
00070 SVGFEGaussianBlur* SVGFEGaussianBlurElement::filterEffect(SVGResourceFilter* filter) const
00071 {
00072 if (!m_filterEffect)
00073 m_filterEffect = new SVGFEGaussianBlur(filter);
00074
00075 m_filterEffect->setIn(in1());
00076 m_filterEffect->setStdDeviationX(stdDeviationX());
00077 m_filterEffect->setStdDeviationY(stdDeviationY());
00078
00079 setStandardAttributes(m_filterEffect);
00080 return m_filterEffect;
00081 }
00082
00083 }
00084
00085 #endif // ENABLE(SVG)
00086
00087