diff options
Diffstat (limited to 'Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h')
-rw-r--r-- | Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h | 13 |
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; } |