/* * Copyright (c) 2024, MacDue * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::Layout { class SVGClipBox final : public SVGBox { LAYOUT_NODE(SVGClipBox, SVGBox); public: SVGClipBox(DOM::Document&, SVG::SVGClipPathElement&, CSS::ComputedProperties const&); virtual ~SVGClipBox() override = default; SVG::SVGClipPathElement& dom_node() { return as(SVGBox::dom_node()); } SVG::SVGClipPathElement const& dom_node() const { return as(SVGBox::dom_node()); } virtual RefPtr create_paintable() const override; private: virtual bool is_svg_clip_box() const final { return true; } }; template<> inline bool Node::fast_is() const { return is_svg_clip_box(); } }