summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderSVGResourceLinearGradient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderSVGResourceLinearGradient.cpp')
-rw-r--r--WebCore/rendering/RenderSVGResourceLinearGradient.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/WebCore/rendering/RenderSVGResourceLinearGradient.cpp b/WebCore/rendering/RenderSVGResourceLinearGradient.cpp
index e34e524..ce8d69e 100644
--- a/WebCore/rendering/RenderSVGResourceLinearGradient.cpp
+++ b/WebCore/rendering/RenderSVGResourceLinearGradient.cpp
@@ -40,25 +40,26 @@ RenderSVGResourceLinearGradient::~RenderSVGResourceLinearGradient()
{
}
+void RenderSVGResourceLinearGradient::collectGradientAttributes(SVGGradientElement* gradientElement)
+{
+ m_attributes = LinearGradientAttributes();
+ static_cast<SVGLinearGradientElement*>(gradientElement)->collectGradientAttributes(m_attributes);
+}
+
void RenderSVGResourceLinearGradient::buildGradient(GradientData* gradientData, SVGGradientElement* gradientElement) const
{
SVGLinearGradientElement* linearGradientElement = static_cast<SVGLinearGradientElement*>(gradientElement);
- LinearGradientAttributes attributes = linearGradientElement->collectGradientProperties();
// Determine gradient start/end points
FloatPoint startPoint;
FloatPoint endPoint;
- linearGradientElement->calculateStartEndPoints(attributes, startPoint, endPoint);
+ linearGradientElement->calculateStartEndPoints(m_attributes, startPoint, endPoint);
gradientData->gradient = Gradient::create(startPoint, endPoint);
- gradientData->gradient->setSpreadMethod(attributes.spreadMethod());
-
- // Record current gradient transform
- gradientData->transform = attributes.gradientTransform();
- gradientData->boundingBoxMode = attributes.boundingBoxMode();
+ gradientData->gradient->setSpreadMethod(m_attributes.spreadMethod());
// Add stops
- addStops(gradientData, attributes.stops());
+ addStops(gradientData, m_attributes.stops());
}
}