summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/core/svg/SVGFETurbulenceElement.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/svg/SVGFETurbulenceElement.h')
-rw-r--r--chromium/third_party/WebKit/Source/core/svg/SVGFETurbulenceElement.h93
1 files changed, 20 insertions, 73 deletions
diff --git a/chromium/third_party/WebKit/Source/core/svg/SVGFETurbulenceElement.h b/chromium/third_party/WebKit/Source/core/svg/SVGFETurbulenceElement.h
index b9ead22cab9..875a86c249c 100644
--- a/chromium/third_party/WebKit/Source/core/svg/SVGFETurbulenceElement.h
+++ b/chromium/third_party/WebKit/Source/core/svg/SVGFETurbulenceElement.h
@@ -24,6 +24,7 @@
#include "core/svg/SVGAnimatedEnumeration.h"
#include "core/svg/SVGAnimatedInteger.h"
#include "core/svg/SVGAnimatedNumber.h"
+#include "core/svg/SVGAnimatedNumberOptionalNumber.h"
#include "core/svg/SVGFilterPrimitiveStandardAttributes.h"
#include "platform/graphics/filters/FETurbulence.h"
@@ -34,89 +35,35 @@ enum SVGStitchOptions {
SVG_STITCHTYPE_STITCH = 1,
SVG_STITCHTYPE_NOSTITCH = 2
};
+template<> const SVGEnumerationStringEntries& getStaticStringEntries<SVGStitchOptions>();
-template<>
-struct SVGPropertyTraits<SVGStitchOptions> {
- static unsigned highestEnumValue() { return SVG_STITCHTYPE_NOSTITCH; }
-
- static String toString(SVGStitchOptions type)
- {
- switch (type) {
- case SVG_STITCHTYPE_UNKNOWN:
- return emptyString();
- case SVG_STITCHTYPE_STITCH:
- return "stitch";
- case SVG_STITCHTYPE_NOSTITCH:
- return "noStitch";
- }
-
- ASSERT_NOT_REACHED();
- return emptyString();
- }
-
- static SVGStitchOptions fromString(const String& value)
- {
- if (value == "stitch")
- return SVG_STITCHTYPE_STITCH;
- if (value == "noStitch")
- return SVG_STITCHTYPE_NOSTITCH;
- return SVG_STITCHTYPE_UNKNOWN;
- }
-};
-
-template<>
-struct SVGPropertyTraits<TurbulenceType> {
- static unsigned highestEnumValue() { return FETURBULENCE_TYPE_TURBULENCE; }
-
- static String toString(TurbulenceType type)
- {
- switch (type) {
- case FETURBULENCE_TYPE_UNKNOWN:
- return emptyString();
- case FETURBULENCE_TYPE_FRACTALNOISE:
- return "fractalNoise";
- case FETURBULENCE_TYPE_TURBULENCE:
- return "turbulence";
- }
-
- ASSERT_NOT_REACHED();
- return emptyString();
- }
-
- static TurbulenceType fromString(const String& value)
- {
- if (value == "fractalNoise")
- return FETURBULENCE_TYPE_FRACTALNOISE;
- if (value == "turbulence")
- return FETURBULENCE_TYPE_TURBULENCE;
- return FETURBULENCE_TYPE_UNKNOWN;
- }
-};
+template<> const SVGEnumerationStringEntries& getStaticStringEntries<TurbulenceType>();
class SVGFETurbulenceElement FINAL : public SVGFilterPrimitiveStandardAttributes {
public:
- static PassRefPtr<SVGFETurbulenceElement> create(Document&);
+ DECLARE_NODE_FACTORY(SVGFETurbulenceElement);
+
+ SVGAnimatedNumber* baseFrequencyX() { return m_baseFrequency->firstNumber(); }
+ SVGAnimatedNumber* baseFrequencyY() { return m_baseFrequency->secondNumber(); }
+ SVGAnimatedNumber* seed() { return m_seed.get(); }
+ SVGAnimatedEnumeration<SVGStitchOptions>* stitchTiles() { return m_stitchTiles.get(); }
+ SVGAnimatedEnumeration<TurbulenceType>* type() { return m_type.get(); }
+ SVGAnimatedInteger* numOctaves() { return m_numOctaves.get(); }
private:
explicit SVGFETurbulenceElement(Document&);
bool isSupportedAttribute(const QualifiedName&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual bool setFilterEffectAttribute(FilterEffect*, const QualifiedName& attrName);
- virtual void svgAttributeChanged(const QualifiedName&);
- virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*, Filter*);
-
- static const AtomicString& baseFrequencyXIdentifier();
- static const AtomicString& baseFrequencyYIdentifier();
-
- BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGFETurbulenceElement)
- DECLARE_ANIMATED_NUMBER(BaseFrequencyX, baseFrequencyX)
- DECLARE_ANIMATED_NUMBER(BaseFrequencyY, baseFrequencyY)
- DECLARE_ANIMATED_INTEGER(NumOctaves, numOctaves)
- DECLARE_ANIMATED_NUMBER(Seed, seed)
- DECLARE_ANIMATED_ENUMERATION(StitchTiles, stitchTiles, SVGStitchOptions)
- DECLARE_ANIMATED_ENUMERATION(Type, type, TurbulenceType)
- END_DECLARE_ANIMATED_PROPERTIES
+ virtual bool setFilterEffectAttribute(FilterEffect*, const QualifiedName& attrName) OVERRIDE;
+ virtual void svgAttributeChanged(const QualifiedName&) OVERRIDE;
+ virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*, Filter*) OVERRIDE;
+
+ RefPtr<SVGAnimatedNumberOptionalNumber> m_baseFrequency;
+ RefPtr<SVGAnimatedNumber> m_seed;
+ RefPtr<SVGAnimatedEnumeration<SVGStitchOptions> > m_stitchTiles;
+ RefPtr<SVGAnimatedEnumeration<TurbulenceType> > m_type;
+ RefPtr<SVGAnimatedInteger> m_numOctaves;
};
} // namespace WebCore