diff options
Diffstat (limited to 'WebCore/svg/graphics/SVGResourceMarker.cpp')
-rw-r--r-- | WebCore/svg/graphics/SVGResourceMarker.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/WebCore/svg/graphics/SVGResourceMarker.cpp b/WebCore/svg/graphics/SVGResourceMarker.cpp index 3649321..c50f5e3 100644 --- a/WebCore/svg/graphics/SVGResourceMarker.cpp +++ b/WebCore/svg/graphics/SVGResourceMarker.cpp @@ -28,10 +28,11 @@ #if ENABLE(SVG) #include "SVGResourceMarker.h" -#include "AffineTransform.h" +#include "TransformationMatrix.h" #include "GraphicsContext.h" #include "RenderSVGViewportContainer.h" #include "TextStream.h" +#include <wtf/StdLibExtras.h> namespace WebCore { @@ -65,7 +66,7 @@ void SVGResourceMarker::draw(GraphicsContext* context, const FloatRect& rect, do if (!m_marker) return; - static HashSet<SVGResourceMarker*> currentlyDrawingMarkers; + DEFINE_STATIC_LOCAL(HashSet<SVGResourceMarker*>, currentlyDrawingMarkers, ()); // avoid drawing circular marker references if (currentlyDrawingMarkers.contains(this)) @@ -73,13 +74,13 @@ void SVGResourceMarker::draw(GraphicsContext* context, const FloatRect& rect, do currentlyDrawingMarkers.add(this); - AffineTransform transform; + TransformationMatrix transform; transform.translate(x, y); transform.rotate(m_angle > -1 ? m_angle : angle); // refX and refY are given in coordinates relative to the viewport established by the marker, yet they affect // the translation performed on the viewport itself. - AffineTransform viewportTransform; + TransformationMatrix viewportTransform; if (m_useStrokeWidth) viewportTransform.scale(strokeWidth, strokeWidth); viewportTransform *= m_marker->viewportTransform(); |