ladybird/Userland/Libraries/LibWeb/Layout/BreakNode.h
Andreas Kling 766d816db3 LibWeb: Remove old Layout::Node::split_into_lines() API
Now that we build lines incrementally, we no longer need the atomic line
splitting API.

The new InlineLevelIterator and LineBuilder setup does have some
regressions from the old behavior, but we can deal with them as we go.
2022-01-23 01:22:41 +01:00

29 lines
762 B
C++

/*
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWeb/HTML/HTMLBRElement.h>
#include <LibWeb/Layout/Node.h>
namespace Web::Layout {
class BreakNode final : public NodeWithStyleAndBoxModelMetrics {
public:
BreakNode(DOM::Document&, HTML::HTMLBRElement&, NonnullRefPtr<CSS::StyleProperties>);
virtual ~BreakNode() override;
const HTML::HTMLBRElement& dom_node() const { return verify_cast<HTML::HTMLBRElement>(*Node::dom_node()); }
private:
virtual bool is_break_node() const final { return true; }
virtual void paint(PaintContext&, PaintPhase) override;
};
template<>
inline bool Node::fast_is<BreakNode>() const { return is_break_node(); }
}