summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/svg/SVGFETurbulenceElement.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-24 11:24:40 +0100
committerBen Murdoch <benm@google.com>2011-06-02 09:53:15 +0100
commit81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch)
tree7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebCore/svg/SVGFETurbulenceElement.cpp
parent94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff)
downloadexternal_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Source/WebCore/svg/SVGFETurbulenceElement.cpp')
-rw-r--r--Source/WebCore/svg/SVGFETurbulenceElement.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/Source/WebCore/svg/SVGFETurbulenceElement.cpp b/Source/WebCore/svg/SVGFETurbulenceElement.cpp
index 2eaf1fc..285b669 100644
--- a/Source/WebCore/svg/SVGFETurbulenceElement.cpp
+++ b/Source/WebCore/svg/SVGFETurbulenceElement.cpp
@@ -89,16 +89,34 @@ void SVGFETurbulenceElement::parseMappedAttribute(Attribute* attr)
SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr);
}
+bool SVGFETurbulenceElement::setFilterEffectAttribute(FilterEffect* effect, const QualifiedName& attrName)
+{
+ FETurbulence* turbulence = static_cast<FETurbulence*>(effect);
+ if (attrName == SVGNames::typeAttr)
+ return turbulence->setType(static_cast<TurbulenceType>(type()));
+ if (attrName == SVGNames::stitchTilesAttr)
+ return turbulence->setStitchTiles(stitchTiles());
+ if (attrName == SVGNames::baseFrequencyAttr)
+ return (turbulence->setBaseFrequencyX(baseFrequencyX()) || turbulence->setBaseFrequencyY(baseFrequencyY()));
+ if (attrName == SVGNames::seedAttr)
+ return turbulence->setSeed(seed());
+ if (attrName == SVGNames::numOctavesAttr)
+ return turbulence->setNumOctaves(numOctaves());
+
+ ASSERT_NOT_REACHED();
+ return false;
+}
+
void SVGFETurbulenceElement::svgAttributeChanged(const QualifiedName& attrName)
{
SVGFilterPrimitiveStandardAttributes::svgAttributeChanged(attrName);
-
+
if (attrName == SVGNames::baseFrequencyAttr
|| attrName == SVGNames::numOctavesAttr
|| attrName == SVGNames::seedAttr
|| attrName == SVGNames::stitchTilesAttr
|| attrName == SVGNames::typeAttr)
- invalidate();
+ primitiveAttributeChanged(attrName);
}
void SVGFETurbulenceElement::synchronizeProperty(const QualifiedName& attrName)
@@ -151,7 +169,7 @@ PassRefPtr<FilterEffect> SVGFETurbulenceElement::build(SVGFilterBuilder*, Filter
if (baseFrequencyX() < 0 || baseFrequencyY() < 0)
return 0;
- return FETurbulence::create(filter, static_cast<TurbulanceType>(type()), baseFrequencyX(),
+ return FETurbulence::create(filter, static_cast<TurbulenceType>(type()), baseFrequencyX(),
baseFrequencyY(), numOctaves(), seed(), stitchTiles() == SVG_STITCHTYPE_STITCH);
}