summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h')
-rw-r--r--Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h b/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
index 34e19ea..526592a 100644
--- a/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
+++ b/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
@@ -22,7 +22,8 @@
#define SVGFilterPrimitiveStandardAttributes_h
#if ENABLE(SVG) && ENABLE(FILTERS)
-#include "RenderSVGResource.h"
+#include "RenderSVGResourceFilter.h"
+#include "RenderSVGResourceFilterPrimitive.h"
#include "SVGAnimatedLength.h"
#include "SVGAnimatedString.h"
#include "SVGStyledElement.h"
@@ -41,6 +42,8 @@ public:
void setStandardAttributes(bool, FilterEffect*) const;
virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*, Filter* filter) = 0;
+ // Returns true, if the new value is different from the old one.
+ virtual bool setFilterEffectAttribute(FilterEffect*, const QualifiedName&);
protected:
SVGFilterPrimitiveStandardAttributes(const QualifiedName&, Document*);
@@ -48,15 +51,21 @@ protected:
virtual void parseMappedAttribute(Attribute*);
virtual void svgAttributeChanged(const QualifiedName&);
virtual void synchronizeProperty(const QualifiedName&);
+ void fillPassedAttributeToPropertyTypeMap(AttributeToPropertyTypeMap&);
virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
-protected:
inline void invalidate()
{
if (RenderObject* primitiveRenderer = renderer())
RenderSVGResource::markForLayoutAndParentResourceInvalidation(primitiveRenderer);
}
+ inline void primitiveAttributeChanged(const QualifiedName& attribute)
+ {
+ if (RenderObject* primitiveRenderer = renderer())
+ static_cast<RenderSVGResourceFilterPrimitive*>(primitiveRenderer)->primitiveAttributeChanged(attribute);
+ }
+
private:
virtual bool isFilterEffect() const { return true; }