/* * Copyright (c) 2024, MacDue * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::Layout { class SVGMaskBox : public SVGGraphicsBox { GC_CELL(SVGMaskBox, SVGGraphicsBox); GC_DECLARE_ALLOCATOR(SVGMaskBox); public: SVGMaskBox(DOM::Document&, SVG::SVGMaskElement&, GC::Ref); virtual ~SVGMaskBox() override = default; virtual bool is_svg_mask_box() const override { return true; } SVG::SVGMaskElement& dom_node() { return as(SVGGraphicsBox::dom_node()); } SVG::SVGMaskElement const& dom_node() const { return as(SVGGraphicsBox::dom_node()); } virtual GC::Ptr create_paintable() const override; }; template<> inline bool Node::fast_is() const { return is_svg_mask_box(); } }