diff options
Diffstat (limited to 'Source/WebCore/rendering/svg/RenderSVGResourceMarker.h')
-rw-r--r-- | Source/WebCore/rendering/svg/RenderSVGResourceMarker.h | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h b/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h index 442cc60d7..63c8bf785 100644 --- a/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h +++ b/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h @@ -17,13 +17,10 @@ * Boston, MA 02110-1301, USA. */ -#ifndef RenderSVGResourceMarker_h -#define RenderSVGResourceMarker_h +#pragma once -#if ENABLE(SVG) #include "RenderSVGResourceContainer.h" #include "SVGMarkerElement.h" - #include <wtf/HashSet.h> namespace WebCore { @@ -33,40 +30,39 @@ class RenderObject; class RenderSVGResourceMarker final : public RenderSVGResourceContainer { public: - RenderSVGResourceMarker(SVGMarkerElement&, PassRef<RenderStyle>); + RenderSVGResourceMarker(SVGMarkerElement&, RenderStyle&&); virtual ~RenderSVGResourceMarker(); - SVGMarkerElement& markerElement() const { return toSVGMarkerElement(RenderSVGResourceContainer::element()); } + SVGMarkerElement& markerElement() const { return downcast<SVGMarkerElement>(RenderSVGResourceContainer::element()); } - virtual void removeAllClientsFromCache(bool markForInvalidation = true); - virtual void removeClientFromCache(RenderObject&, bool markForInvalidation = true); + void removeAllClientsFromCache(bool markForInvalidation = true) override; + void removeClientFromCache(RenderElement&, bool markForInvalidation = true) override; void draw(PaintInfo&, const AffineTransform&); // Calculates marker boundaries, mapped to the target element's coordinate space FloatRect markerBoundaries(const AffineTransform& markerTransformation) const; - virtual void applyViewportClip(PaintInfo&); - virtual void layout(); - virtual void calcViewport(); + void applyViewportClip(PaintInfo&) override; + void layout() override; + void calcViewport() override; - virtual const AffineTransform& localToParentTransform() const; + const AffineTransform& localToParentTransform() const override; AffineTransform markerTransformation(const FloatPoint& origin, float angle, float strokeWidth) const; - virtual bool applyResource(RenderElement&, const RenderStyle&, GraphicsContext*&, unsigned short) override { return false; } - virtual FloatRect resourceBoundingBox(const RenderObject&) override { return FloatRect(); } + bool applyResource(RenderElement&, const RenderStyle&, GraphicsContext*&, unsigned short) override { return false; } + FloatRect resourceBoundingBox(const RenderObject&) override { return FloatRect(); } FloatPoint referencePoint() const; float angle() const; SVGMarkerUnitsType markerUnits() const { return markerElement().markerUnits(); } - virtual RenderSVGResourceType resourceType() const { return s_resourceType; } - static RenderSVGResourceType s_resourceType; + RenderSVGResourceType resourceType() const override { return MarkerResourceType; } private: void element() const = delete; - virtual const char* renderName() const override { return "RenderSVGResourceMarker"; } + const char* renderName() const override { return "RenderSVGResourceMarker"; } // 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. @@ -78,7 +74,6 @@ private: FloatRect m_viewport; }; -} -#endif +} // namespace WebCore -#endif +SPECIALIZE_TYPE_TRAITS_RENDER_SVG_RESOURCE(RenderSVGResourceMarker, MarkerResourceType) |