mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:37:35 +00:00
LibWeb: Add partial implementation of border conflict resolution
Fix handling of border style specified per column as well.
This commit is contained in:
parent
6c2712764d
commit
8090adf268
9 changed files with 282 additions and 16 deletions
|
@ -39,6 +39,7 @@ private:
|
|||
void distribute_height_to_rows();
|
||||
void position_row_boxes(CSSPixels&);
|
||||
void position_cell_boxes();
|
||||
void border_conflict_resolution();
|
||||
|
||||
CSSPixels m_table_height { 0 };
|
||||
CSSPixels m_automatic_content_height { 0 };
|
||||
|
@ -81,6 +82,25 @@ private:
|
|||
|
||||
CSSPixels compute_row_content_height(Cell const& cell) const;
|
||||
|
||||
enum class ConflictingEdge {
|
||||
Top,
|
||||
Right,
|
||||
Bottom,
|
||||
Left,
|
||||
};
|
||||
|
||||
class BorderConflictFinder {
|
||||
public:
|
||||
BorderConflictFinder(TableFormattingContext const* context);
|
||||
Vector<Node const*> conflicting_elements(Cell const&, ConflictingEdge) const;
|
||||
|
||||
private:
|
||||
void collect_conflicting_col_elements();
|
||||
|
||||
Vector<Node const*> m_col_elements_by_index;
|
||||
TableFormattingContext const* m_context;
|
||||
};
|
||||
|
||||
Vector<Cell> m_cells;
|
||||
Vector<Column> m_columns;
|
||||
Vector<Row> m_rows;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue