summaryrefslogtreecommitdiff
path: root/src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h')
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h27
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