KHTML
SVGFEOffsetElement.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 "SVGFEOffsetElement.h"
00027
00028 #include "Attr.h"
00029 #include "SVGResourceFilter.h"
00030
00031 namespace WebCore {
00032
00033 SVGFEOffsetElement::SVGFEOffsetElement(const QualifiedName& tagName, Document* doc)
00034 : SVGFilterPrimitiveStandardAttributes(tagName, doc)
00035 , m_dx(0.0f)
00036 , m_dy(0.0f)
00037 , m_filterEffect(0)
00038 {
00039 }
00040
00041 SVGFEOffsetElement::~SVGFEOffsetElement()
00042 {
00043 delete m_filterEffect;
00044 }
00045
00046 ANIMATED_PROPERTY_DEFINITIONS(SVGFEOffsetElement, String, String, string, In1, in1, SVGNames::inAttr, m_in1)
00047 ANIMATED_PROPERTY_DEFINITIONS(SVGFEOffsetElement, float, Number, number, Dx, dx, SVGNames::dxAttr, m_dx)
00048 ANIMATED_PROPERTY_DEFINITIONS(SVGFEOffsetElement, float, Number, number, Dy, dy, SVGNames::dyAttr, m_dy)
00049
00050 void SVGFEOffsetElement::parseMappedAttribute(MappedAttribute* attr)
00051 {
00052 const String& value = attr->value();
00053 if (attr->name() == SVGNames::dxAttr)
00054 setDxBaseValue(value.toFloat());
00055 else if (attr->name() == SVGNames::dyAttr)
00056 setDyBaseValue(value.toFloat());
00057 else if (attr->name() == SVGNames::inAttr)
00058 setIn1BaseValue(value);
00059 else
00060 SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr);
00061 }
00062
00063 SVGFEOffset* SVGFEOffsetElement::filterEffect(SVGResourceFilter* filter) const
00064 {
00065 if (!m_filterEffect)
00066 m_filterEffect = new SVGFEOffset(filter);
00067
00068 m_filterEffect->setIn(in1());
00069 m_filterEffect->setDx(dx());
00070 m_filterEffect->setDy(dy());
00071
00072 setStandardAttributes(m_filterEffect);
00073 return m_filterEffect;
00074 }
00075
00076 }
00077
00078 #endif // ENABLE(SVG)
00079
00080