浏览代码

LibWeb: Add fast_is<T>() for SVGPaintable

Andreas Kling 1 年之前
父节点
当前提交
3ff5beb229
共有 2 个文件被更改,包括 6 次插入0 次删除
  1. 1 0
      Userland/Libraries/LibWeb/Painting/Paintable.h
  2. 5 0
      Userland/Libraries/LibWeb/Painting/SVGPaintable.h

+ 1 - 0
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(); }

+ 5 - 0
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<SVGPaintable>() const { return is_svg_paintable(); }
+
 }