1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef SVGShapePainter_h
6 #define SVGShapePainter_h
10 struct MarkerPosition;
13 class GraphicsContext;
15 class RenderSVGResourceMarker;
18 class SVGShapePainter {
20 SVGShapePainter(RenderSVGShape& renderSVGShape) : m_renderSVGShape(renderSVGShape) { }
22 void paint(PaintInfo&);
25 void fillShape(GraphicsContext*);
26 void strokeShape(GraphicsContext*);
28 void paintMarkers(PaintInfo&);
29 void paintMarker(PaintInfo&, RenderSVGResourceMarker&, const MarkerPosition&, float);
30 void strokeZeroLengthLineCaps(GraphicsContext*);
31 Path* zeroLengthLinecapPath(const FloatPoint&) const;
33 RenderSVGShape& m_renderSVGShape;
38 #endif // SVGShapePainter_h