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