KHTML
SVGFEMergeElement.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 "SVGFEMergeElement.h"
00027
00028 #include "SVGFEMergeNodeElement.h"
00029 #include "SVGResourceFilter.h"
00030
00031 namespace WebCore {
00032
00033 SVGFEMergeElement::SVGFEMergeElement(const QualifiedName& tagName, Document* doc)
00034 : SVGFilterPrimitiveStandardAttributes(tagName, doc)
00035 , m_filterEffect(0)
00036 {
00037 }
00038
00039 SVGFEMergeElement::~SVGFEMergeElement()
00040 {
00041 delete m_filterEffect;
00042 }
00043
00044 SVGFEMerge* SVGFEMergeElement::filterEffect(SVGResourceFilter* filter) const
00045 {
00046 if (!m_filterEffect)
00047 m_filterEffect = new SVGFEMerge(filter);
00048 setStandardAttributes(m_filterEffect);
00049
00050 Vector<String> mergeInputs;
00051 for (Node* n = firstChild(); n != 0; n = n->nextSibling()) {
00052 if (n->hasTagName(SVGNames::feMergeNodeTag))
00053 mergeInputs.append(static_cast<SVGFEMergeNodeElement*>(n)->in1());
00054 }
00055
00056 m_filterEffect->setMergeInputs(mergeInputs);
00057 return m_filterEffect;
00058 }
00059
00060 }
00061
00062 #endif // ENABLE(SVG)
00063
00064