ladybird/Userland/Libraries/LibWeb/Layout/TableFormattingContext.h
Andreas Kling 52862c72d0 LibWeb: Rename FormattingState to LayoutState
This seems a bit more descriptive (and also a bit shorter).
2022-07-17 14:11:36 +02:00

33 lines
814 B
C++

/*
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Forward.h>
#include <LibWeb/Layout/BlockFormattingContext.h>
namespace Web::Layout {
struct ColumnWidth {
float min { 0 };
float max { 0 };
float used { 0 };
bool is_auto { true };
};
class TableFormattingContext final : public BlockFormattingContext {
public:
explicit TableFormattingContext(LayoutState&, BlockContainer const&, FormattingContext* parent);
~TableFormattingContext();
virtual void run(Box const&, LayoutMode) override;
private:
void calculate_column_widths(Box const& row, CSS::Length const& table_width, Vector<ColumnWidth>& column_widths);
void layout_row(Box const& row, Vector<ColumnWidth>& column_widths);
};
}