diff options
Diffstat (limited to 'WebCore/rendering/RenderSVGViewportContainer.h')
-rw-r--r-- | WebCore/rendering/RenderSVGViewportContainer.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/WebCore/rendering/RenderSVGViewportContainer.h b/WebCore/rendering/RenderSVGViewportContainer.h index b8b30b5..ee08b60 100644 --- a/WebCore/rendering/RenderSVGViewportContainer.h +++ b/WebCore/rendering/RenderSVGViewportContainer.h @@ -24,7 +24,6 @@ #define RenderSVGViewportContainer_h #if ENABLE(SVG) - #include "RenderSVGContainer.h" namespace WebCore { @@ -35,16 +34,19 @@ class RenderSVGViewportContainer : public RenderSVGContainer { public: RenderSVGViewportContainer(SVGStyledElement*); - // FIXME: This is only public for SVGResourceMarker::draw, likely the callsite should be changed. - TransformationMatrix viewportTransform() const; + // Calculates marker boundaries, mapped to the target element's coordinate space + FloatRect markerBoundaries(const TransformationMatrix& markerTransformation) const; - virtual void paint(PaintInfo&, int parentX, int parentY); + // Generates a transformation matrix usable to render marker content. Handles scaling the marker content + // acording to SVGs markerUnits="strokeWidth" concept, when a strokeWidth value != -1 is passed in. + TransformationMatrix markerContentTransformation(const TransformationMatrix& contentTransformation, const FloatPoint& origin, float strokeWidth = -1) const; private: virtual bool isSVGContainer() const { return true; } virtual const char* renderName() const { return "RenderSVGViewportContainer"; } - virtual TransformationMatrix localToParentTransform() const; + TransformationMatrix viewportTransform() const; + virtual const TransformationMatrix& localToParentTransform() const; // FIXME: This override should be removed once callers of RenderBox::absoluteTransform() can be removed. virtual TransformationMatrix absoluteTransform() const; @@ -55,6 +57,7 @@ private: virtual bool pointIsInsideViewportClip(const FloatPoint& pointInParent); FloatRect m_viewport; + mutable TransformationMatrix m_localToParentTransform; }; inline RenderSVGViewportContainer* toRenderSVGViewportContainer(RenderObject* object) @@ -70,5 +73,3 @@ void toRenderSVGViewportContainer(const RenderSVGViewportContainer*); #endif // ENABLE(SVG) #endif // RenderSVGViewportContainer_h - -// vim:ts=4:noet |