Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1695)

Unified Diff: Source/core/rendering/svg/RenderSVGResource.cpp

Issue 652243002: Hoist paint-server transform adaption out of preparePaintServer (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/rendering/svg/RenderSVGResource.cpp
diff --git a/Source/core/rendering/svg/RenderSVGResource.cpp b/Source/core/rendering/svg/RenderSVGResource.cpp
index 93601b38074f80b56171b97857f566e7dc4a3c97..41b8c6c7d928858955844df1df5b4d0299226639 100644
--- a/Source/core/rendering/svg/RenderSVGResource.cpp
+++ b/Source/core/rendering/svg/RenderSVGResource.cpp
@@ -75,10 +75,18 @@ void SVGPaintServer::apply(GraphicsContext& context, RenderSVGResourceMode resou
}
}
-SVGPaintServer SVGPaintServer::requestForRenderer(RenderObject& renderer, RenderStyle* style, RenderSVGResourceModeFlags resourceModeFlags)
+void SVGPaintServer::prependTransform(const AffineTransform& transform)
+{
+ ASSERT(m_gradient || m_pattern);
+ if (m_pattern)
+ m_pattern->setPatternSpaceTransform(transform * m_pattern->patternSpaceTransform());
+ else
+ m_gradient->setGradientSpaceTransform(transform * m_gradient->gradientSpaceTransform());
+}
+
+SVGPaintServer SVGPaintServer::requestForRenderer(RenderObject& renderer, RenderStyle* style, RenderSVGResourceMode resourceMode)
{
ASSERT(style);
- RenderSVGResourceMode resourceMode = static_cast<RenderSVGResourceMode>(resourceModeFlags & (ApplyToFillMode | ApplyToStrokeMode));
ASSERT(resourceMode == ApplyToFillMode || resourceMode == ApplyToStrokeMode);
bool hasFallback = false;
@@ -86,7 +94,7 @@ SVGPaintServer SVGPaintServer::requestForRenderer(RenderObject& renderer, Render
if (!paintingResource)
return invalid();
- SVGPaintServer paintServer = paintingResource->preparePaintServer(&renderer, style, resourceModeFlags);
+ SVGPaintServer paintServer = paintingResource->preparePaintServer(&renderer);
if (paintServer.isValid())
return paintServer;
if (hasFallback)
@@ -94,7 +102,7 @@ SVGPaintServer SVGPaintServer::requestForRenderer(RenderObject& renderer, Render
return invalid();
}
-SVGPaintServer RenderSVGResource::preparePaintServer(RenderObject*, RenderStyle*, RenderSVGResourceModeFlags)
+SVGPaintServer RenderSVGResource::preparePaintServer(RenderObject*)
{
ASSERT_NOT_REACHED();
return SVGPaintServer::invalid();

Powered by Google App Engine
This is Rietveld 408576698