/* * Copyright (c) 2018-2022, Andreas Kling * Copyright (c) 2021, Sam Atkins * Copyright (c) 2024, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace Web::Layout { GC_DEFINE_ALLOCATOR(InlineNode); InlineNode::InlineNode(DOM::Document& document, DOM::Element* element, GC::Ref style) : Layout::NodeWithStyleAndBoxModelMetrics(document, element, move(style)) { } InlineNode::~InlineNode() = default; GC::Ptr InlineNode::create_paintable_for_line_with_index(size_t line_index) const { for (auto const& paintable : paintables()) { if (is(paintable)) { auto const& paintable_with_lines = static_cast(paintable); if (paintable_with_lines.line_index() == line_index) { return const_cast(paintable_with_lines); } } } return Painting::PaintableWithLines::create(*this, line_index); } }