From 3ff5beb229276ea827dc8dba177d2b2dc0f5f36f Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 2 Mar 2024 11:17:33 +0100 Subject: [PATCH] LibWeb: Add fast_is() for SVGPaintable --- Userland/Libraries/LibWeb/Painting/Paintable.h | 1 + Userland/Libraries/LibWeb/Painting/SVGPaintable.h | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/Userland/Libraries/LibWeb/Painting/Paintable.h b/Userland/Libraries/LibWeb/Painting/Paintable.h index 670f240446..d773e45be3 100644 --- a/Userland/Libraries/LibWeb/Painting/Paintable.h +++ b/Userland/Libraries/LibWeb/Painting/Paintable.h @@ -199,6 +199,7 @@ public: [[nodiscard]] virtual bool is_paintable_box() const { return false; } [[nodiscard]] virtual bool is_paintable_with_lines() const { return false; } [[nodiscard]] virtual bool is_inline_paintable() const { return false; } + [[nodiscard]] virtual bool is_svg_paintable() const { return false; } DOM::Document const& document() const { return layout_node().document(); } DOM::Document& document() { return layout_node().document(); } diff --git a/Userland/Libraries/LibWeb/Painting/SVGPaintable.h b/Userland/Libraries/LibWeb/Painting/SVGPaintable.h index de9e26c9b6..840b624cc9 100644 --- a/Userland/Libraries/LibWeb/Painting/SVGPaintable.h +++ b/Userland/Libraries/LibWeb/Painting/SVGPaintable.h @@ -18,9 +18,14 @@ public: Layout::SVGBox const& layout_box() const; protected: + virtual bool is_svg_paintable() const override { return true; } + SVGPaintable(Layout::SVGBox const&); virtual CSSPixelRect compute_absolute_rect() const override; }; +template<> +inline bool Paintable::fast_is() const { return is_svg_paintable(); } + }