diff options
Diffstat (limited to 'Source/WebCore/rendering/svg/RenderSVGText.h')
-rw-r--r-- | Source/WebCore/rendering/svg/RenderSVGText.h | 75 |
1 files changed, 35 insertions, 40 deletions
diff --git a/Source/WebCore/rendering/svg/RenderSVGText.h b/Source/WebCore/rendering/svg/RenderSVGText.h index 93ac44246..6ef1bd3a9 100644 --- a/Source/WebCore/rendering/svg/RenderSVGText.h +++ b/Source/WebCore/rendering/svg/RenderSVGText.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006 Apple Computer, Inc. + * Copyright (C) 2006 Apple Inc. * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. * @@ -19,10 +19,8 @@ * Boston, MA 02110-1301, USA. */ -#ifndef RenderSVGText_h -#define RenderSVGText_h +#pragma once -#if ENABLE(SVG) #include "AffineTransform.h" #include "RenderSVGBlock.h" #include "SVGTextLayoutAttributesBuilder.h" @@ -35,20 +33,20 @@ class RenderSVGInlineText; class RenderSVGText final : public RenderSVGBlock { public: - RenderSVGText(SVGTextElement&, PassRef<RenderStyle>); + RenderSVGText(SVGTextElement&, RenderStyle&&); virtual ~RenderSVGText(); SVGTextElement& textElement() const; - virtual bool isChildAllowed(const RenderObject&, const RenderStyle&) const; + bool isChildAllowed(const RenderObject&, const RenderStyle&) const override; void setNeedsPositioningValuesUpdate() { m_needsPositioningValuesUpdate = true; } - virtual void setNeedsTransformUpdate() { m_needsTransformUpdate = true; } + void setNeedsTransformUpdate() override { m_needsTransformUpdate = true; } void setNeedsTextMetricsUpdate() { m_needsTextMetricsUpdate = true; } - virtual FloatRect repaintRectInLocalCoordinates() const; + FloatRect repaintRectInLocalCoordinates() const override; - static RenderSVGText* locateRenderSVGTextAncestor(RenderObject*); - static const RenderSVGText* locateRenderSVGTextAncestor(const RenderObject*); + static RenderSVGText* locateRenderSVGTextAncestor(RenderObject&); + static const RenderSVGText* locateRenderSVGTextAncestor(const RenderObject&); bool needsReordering() const { return m_needsReordering; } Vector<SVGTextLayoutAttributes*>& layoutAttributes() { return m_layoutAttributes; } @@ -59,41 +57,41 @@ public: void subtreeStyleDidChange(RenderSVGInlineText*); void subtreeTextDidChange(RenderSVGInlineText*); + FloatRect objectBoundingBox() const override { return frameRect(); } + FloatRect strokeBoundingBox() const override; + private: void graphicsElement() const = delete; - virtual const char* renderName() const { return "RenderSVGText"; } - virtual bool isSVGText() const { return true; } - - virtual void paint(PaintInfo&, const LayoutPoint&); - virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override; - virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction); - virtual VisiblePosition positionForPoint(const LayoutPoint&); + const char* renderName() const override { return "RenderSVGText"; } + bool isSVGText() const override { return true; } - virtual bool requiresLayer() const { return false; } - virtual void layout(); + void paint(PaintInfo&, const LayoutPoint&) override; + bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override; + bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction) override; + VisiblePosition positionForPoint(const LayoutPoint&, const RenderRegion*) override; - virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const; + bool requiresLayer() const override { return false; } + void layout() override; - virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const override; - virtual void computeRectForRepaint(const RenderLayerModelObject* repaintContainer, LayoutRect&, bool fixed = false) const override; - virtual void computeFloatRectForRepaint(const RenderLayerModelObject* repaintContainer, FloatRect&, bool fixed = false) const override; + void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const override; - virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const override; - virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override; - virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0); - virtual void removeChild(RenderObject&) override; - virtual void willBeDestroyed() override; + LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const override; + LayoutRect computeRectForRepaint(const LayoutRect&, const RenderLayerModelObject* repaintContainer, RepaintContext = { }) const override; + FloatRect computeFloatRectForRepaint(const FloatRect&, const RenderLayerModelObject* repaintContainer, bool fixed = false) const override; - virtual FloatRect objectBoundingBox() const { return frameRect(); } - virtual FloatRect strokeBoundingBox() const; + void mapLocalToContainer(const RenderLayerModelObject* repaintContainer, TransformState&, MapCoordinatesFlags, bool* wasFixed) const override; + const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const override; + void addChild(RenderObject* child, RenderObject* beforeChild = nullptr) override; + void removeChild(RenderObject&) override; + void willBeDestroyed() override; - virtual const AffineTransform& localToParentTransform() const { return m_localTransform; } - virtual AffineTransform localTransform() const { return m_localTransform; } - virtual std::unique_ptr<RootInlineBox> createRootInlineBox() override; + const AffineTransform& localToParentTransform() const override { return m_localTransform; } + AffineTransform localTransform() const override { return m_localTransform; } + std::unique_ptr<RootInlineBox> createRootInlineBox() override; - virtual RenderBlock* firstLineBlock() const; - virtual void updateFirstLetter(); + RenderBlock* firstLineBlock() const override; + void updateFirstLetter(RenderTreeMutationIsAllowed = RenderTreeMutationIsAllowed::Yes) override; bool shouldHandleSubtreeMutations() const; @@ -106,9 +104,6 @@ private: Vector<SVGTextLayoutAttributes*> m_layoutAttributes; }; -RENDER_OBJECT_TYPE_CASTS(RenderSVGText, isSVGText()) - -} +} // namespace WebCore -#endif // ENABLE(SVG) -#endif +SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderSVGText, isSVGText()) |