diff options
Diffstat (limited to 'WebCore/rendering/RenderSVGRoot.h')
-rw-r--r-- | WebCore/rendering/RenderSVGRoot.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/WebCore/rendering/RenderSVGRoot.h b/WebCore/rendering/RenderSVGRoot.h index b90113c..63a7b3f 100644 --- a/WebCore/rendering/RenderSVGRoot.h +++ b/WebCore/rendering/RenderSVGRoot.h @@ -41,6 +41,8 @@ public: RenderObjectChildList* children() { return &m_children; } bool isLayoutSizeChanged() const { return m_isLayoutSizeChanged; } + virtual void setNeedsBoundariesUpdate() { m_needsBoundariesOrTransformUpdate = true; } + virtual void setNeedsTransformUpdate() { m_needsBoundariesOrTransformUpdate = true; } private: virtual RenderObjectChildList* virtualChildren() { return children(); } @@ -58,6 +60,7 @@ private: virtual void paint(PaintInfo&, int parentX, int parentY); virtual void destroy(); + virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle); virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); virtual void updateFromElement(); @@ -66,9 +69,9 @@ private: bool fillContains(const FloatPoint&) const; bool strokeContains(const FloatPoint&) const; - virtual FloatRect objectBoundingBox() const; - virtual FloatRect strokeBoundingBox() const; - virtual FloatRect repaintRectInLocalCoordinates() const; + virtual FloatRect objectBoundingBox() const { return m_objectBoundingBox; } + virtual FloatRect strokeBoundingBox() const { return m_strokeBoundingBox; } + virtual FloatRect repaintRectInLocalCoordinates() const { return m_repaintBoundingBox; } virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction); @@ -80,6 +83,7 @@ private: void calcViewport(); bool selfWillPaint(); + void updateCachedBoundaries(); IntSize parentOriginToBorderBox() const; IntSize borderOriginToContentBox() const; @@ -88,8 +92,12 @@ private: RenderObjectChildList m_children; FloatSize m_viewportSize; + FloatRect m_objectBoundingBox; + FloatRect m_strokeBoundingBox; + FloatRect m_repaintBoundingBox; mutable AffineTransform m_localToParentTransform; bool m_isLayoutSizeChanged : 1; + bool m_needsBoundariesOrTransformUpdate : 1; }; inline RenderSVGRoot* toRenderSVGRoot(RenderObject* object) |