diff options
Diffstat (limited to 'Source/WebCore/rendering/svg/RenderSVGResourceMasker.h')
-rw-r--r-- | Source/WebCore/rendering/svg/RenderSVGResourceMasker.h | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceMasker.h b/Source/WebCore/rendering/svg/RenderSVGResourceMasker.h index ecae4332e..5b93ac9e6 100644 --- a/Source/WebCore/rendering/svg/RenderSVGResourceMasker.h +++ b/Source/WebCore/rendering/svg/RenderSVGResourceMasker.h @@ -17,11 +17,8 @@ * Boston, MA 02110-1301, USA. */ -#ifndef RenderSVGResourceMasker_h -#define RenderSVGResourceMasker_h +#pragma once -#if ENABLE(SVG) -#include "GraphicsContext.h" #include "ImageBuffer.h" #include "IntSize.h" #include "RenderSVGResourceContainer.h" @@ -32,32 +29,33 @@ namespace WebCore { +class GraphicsContext; + struct MaskerData { std::unique_ptr<ImageBuffer> maskImage; }; class RenderSVGResourceMasker final : public RenderSVGResourceContainer { public: - RenderSVGResourceMasker(SVGMaskElement&, PassRef<RenderStyle>); + RenderSVGResourceMasker(SVGMaskElement&, RenderStyle&&); virtual ~RenderSVGResourceMasker(); - SVGMaskElement& maskElement() const { return toSVGMaskElement(RenderSVGResourceContainer::element()); } + SVGMaskElement& maskElement() const { return downcast<SVGMaskElement>(RenderSVGResourceContainer::element()); } - virtual void removeAllClientsFromCache(bool markForInvalidation = true); - virtual void removeClientFromCache(RenderObject&, bool markForInvalidation = true); - virtual bool applyResource(RenderElement&, const RenderStyle&, GraphicsContext*&, unsigned short resourceMode) override; - virtual FloatRect resourceBoundingBox(const RenderObject&) override; + void removeAllClientsFromCache(bool markForInvalidation = true) override; + void removeClientFromCache(RenderElement&, bool markForInvalidation = true) override; + bool applyResource(RenderElement&, const RenderStyle&, GraphicsContext*&, unsigned short resourceMode) override; + FloatRect resourceBoundingBox(const RenderObject&) override; SVGUnitTypes::SVGUnitType maskUnits() const { return maskElement().maskUnits(); } SVGUnitTypes::SVGUnitType maskContentUnits() const { return maskElement().maskContentUnits(); } - virtual RenderSVGResourceType resourceType() const { return s_resourceType; } - static RenderSVGResourceType s_resourceType; + RenderSVGResourceType resourceType() const override { return MaskerResourceType; } private: void element() const = delete; - virtual const char* renderName() const override { return "RenderSVGResourceMasker"; } + const char* renderName() const override { return "RenderSVGResourceMasker"; } bool drawContentIntoMaskImage(MaskerData*, ColorSpace, RenderObject*); void calculateMaskContentRepaintRect(); @@ -68,5 +66,4 @@ private: } -#endif -#endif +SPECIALIZE_TYPE_TRAITS_RENDER_SVG_RESOURCE(RenderSVGResourceMasker, MaskerResourceType) |