1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 03:57:44 +00:00

LibWeb: Add inline-level iterator that enumerates items for line layout

This patch adds a new mechanism that allows InlineFormattingContext to
build line boxes incrementally instead of all-in-one go.

Incremental build will eventually allow much better support for CSS
floating objects.
This commit is contained in:
Andreas Kling 2022-01-17 15:07:19 +01:00
parent 9358f108c4
commit 1f603c54ff
6 changed files with 248 additions and 13 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
* Copyright (c) 2020-2022, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
@ -26,6 +26,9 @@ public:
float available_width_at_line(size_t line_index) const;
void dimension_box_on_line(Box&, LayoutMode);
private:
void generate_line_boxes(LayoutMode);
};
}