diff options
Diffstat (limited to 'Source/WebCore/rendering/svg/SVGRenderSupport.h')
-rw-r--r-- | Source/WebCore/rendering/svg/SVGRenderSupport.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/Source/WebCore/rendering/svg/SVGRenderSupport.h b/Source/WebCore/rendering/svg/SVGRenderSupport.h index 026c14e7a..d6ff72d7c 100644 --- a/Source/WebCore/rendering/svg/SVGRenderSupport.h +++ b/Source/WebCore/rendering/svg/SVGRenderSupport.h @@ -21,10 +21,8 @@ * Boston, MA 02110-1301, USA. */ -#ifndef SVGRenderSupport_h -#define SVGRenderSupport_h +#pragma once -#if ENABLE(SVG) #include "PaintInfo.h" namespace WebCore { @@ -45,6 +43,8 @@ class TransformState; // SVGRendererSupport is a helper class sharing code between all SVG renderers. class SVGRenderSupport { public: + static void layoutDifferentRootIfNeeded(const RenderElement&); + // Shares child layouting code between RenderSVGRoot/RenderSVG(Hidden)Container static void layoutChildren(RenderElement&, bool selfNeedsLayout); @@ -68,8 +68,9 @@ public: // Important functions used by nearly all SVG renderers centralizing coordinate transformations / repaint rect calculations static FloatRect repaintRectForRendererInLocalCoordinatesExcludingSVGShadow(const RenderElement&); static LayoutRect clippedOverflowRectForRepaint(const RenderElement&, const RenderLayerModelObject* repaintContainer); - static void computeFloatRectForRepaint(const RenderElement&, const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed); - static void mapLocalToContainer(const RenderElement&, const RenderLayerModelObject* repaintContainer, TransformState&, bool* wasFixed = 0); + static FloatRect computeFloatRectForRepaint(const RenderElement&, const FloatRect&, const RenderLayerModelObject* repaintContainer, bool fixed); + static const RenderElement& localToParentTransform(const RenderElement&, AffineTransform &); + static void mapLocalToContainer(const RenderElement&, const RenderLayerModelObject* repaintContainer, TransformState&, bool* wasFixed); static const RenderElement* pushMappingToContainer(const RenderElement&, const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&); static bool checkForSVGRepaintDuringLayout(const RenderElement&); @@ -84,10 +85,15 @@ public: static void setRendererHasSVGShadow(RenderObject&, bool hasShadow); static void childAdded(RenderElement& parent, RenderObject& child); - static void styleChanged(RenderElement&); + static void styleChanged(RenderElement&, const RenderStyle*); + +#if ENABLE(CSS_COMPOSITING) + static bool isolatesBlending(const RenderStyle&); + static void updateMaskedAncestorShouldIsolateBlending(const RenderElement&); +#endif - // FIXME: These methods do not belong here. - static const RenderSVGRoot& findTreeRootObject(const RenderElement&); + static RenderSVGRoot* findTreeRootObject(RenderElement&); + static const RenderSVGRoot* findTreeRootObject(const RenderElement&); private: // This class is not constructable. @@ -96,6 +102,3 @@ private: }; } // namespace WebCore - -#endif // ENABLE(SVG) -#endif // SVGRenderSupport_h |