/* * Copyright (c) 2023, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::Painting { class SVGTextPaintable final : public SVGGraphicsPaintable { JS_CELL(SVGTextPaintable, SVGGraphicsPaintable); public: static JS::NonnullGCPtr create(Layout::SVGTextBox const&); virtual Optional hit_test(CSSPixelPoint, HitTestType) const override; virtual void paint(PaintContext&, PaintPhase) const override; Layout::SVGTextBox const& layout_box() const { return static_cast(layout_node()); } protected: SVGTextPaintable(Layout::SVGTextBox const&); }; }