summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/svg/RenderSVGResourceMarker.h')
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGResourceMarker.h35
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)