diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h b/src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h index bb4039c051..f2ce33d0f9 100644 --- a/src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h +++ b/src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h @@ -27,25 +27,26 @@ #define SVGResourceMarker_h #if ENABLE(SVG) - +#include "FloatPoint.h" #include "FloatRect.h" +#include "RenderObject.h" #include "SVGResource.h" namespace WebCore { - class GraphicsContext; class RenderSVGViewportContainer; + class AffineTransform; class SVGResourceMarker : public SVGResource { public: static PassRefPtr<SVGResourceMarker> create() { return adoptRef(new SVGResourceMarker); } virtual ~SVGResourceMarker(); - void setMarker(RenderSVGViewportContainer*); + RenderSVGViewportContainer* renderer() const { return m_renderer; } + void setRenderer(RenderSVGViewportContainer* marker) { m_renderer = marker; } - void setRef(double refX, double refY); - double refX() const { return m_refX; } - double refY() const { return m_refY; } + void setReferencePoint(const FloatPoint& point) { m_referencePoint = point; } + FloatPoint referencePoint() const { return m_referencePoint; } void setAngle(float angle) { m_angle = angle; } void setAutoAngle() { m_angle = -1; } @@ -54,22 +55,22 @@ namespace WebCore { void setUseStrokeWidth(bool useStrokeWidth = true) { m_useStrokeWidth = useStrokeWidth; } bool useStrokeWidth() const { return m_useStrokeWidth; } - FloatRect cachedBounds() const; - void draw(GraphicsContext*, const FloatRect&, double x, double y, double strokeWidth = 1, double angle = 0); - + AffineTransform markerTransformation(const FloatPoint& origin, float angle, float strokeWidth) const; + void draw(RenderObject::PaintInfo&, const AffineTransform&); + virtual SVGResourceType resourceType() const { return MarkerResourceType; } virtual TextStream& externalRepresentation(TextStream&) const; private: SVGResourceMarker(); - double m_refX, m_refY; - FloatRect m_cachedBounds; + + FloatPoint m_referencePoint; float m_angle; - RenderSVGViewportContainer* m_marker; + RenderSVGViewportContainer* m_renderer; bool m_useStrokeWidth; }; - SVGResourceMarker* getMarkerById(Document*, const AtomicString&); + SVGResourceMarker* getMarkerById(Document*, const AtomicString&, const RenderObject*); } // namespace WebCore |