diff options
Diffstat (limited to 'khtml/rendering/table_layout.txt')
-rw-r--r-- | khtml/rendering/table_layout.txt | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/khtml/rendering/table_layout.txt b/khtml/rendering/table_layout.txt deleted file mode 100644 index 14a74bd1e..000000000 --- a/khtml/rendering/table_layout.txt +++ /dev/null @@ -1,74 +0,0 @@ -CSS describes two ways of layouting tables. Auto layout (the NS4 -compliant HTML table layout) and fixed layout. The fixed layout -strategy is described in detail in the CSS specs and will not be -repeated here. - -Due to the fact that two layout strategies exist, it is rather natural -to encapsulate the layouting process in a TableLayout class. Two types -(FixedTableLayout and AutoTableLayout) exist. AutoTableLayout is the -default and also need a quirks flags for NS compatibility -mode. FixedTableLayout will be used if a style rule sets the -table-layout property to fixed. - -The grid of table cells is stored in each table section, as spans -can't pass section borders. Changing the number of cols in the grid -has to be done by the table to keep all grids (for all sections) in -sync. The grid only stores effective columns. The table below would -only result in one column being allocated in the grid: - -<table><tr><td colspan=1000>foo</td></tr></table> - -Once a colspan get's used, the column is split into its subparts. To -do this, the table has to store the colspans of effective columns in a -structure. - - - - -NS & Mozilla compliant table layouting algorithm (AutoTableLayout) ------------------------------------------------------------------- - -The table layout algorithm computes a set of layout hints from the -informations in the table cells, <col> elements and style -sheets. Hints from different sources are treated a bit differently in -the collection stage. - -In addition certain operations are only done in quirks (NS4 compat) -mode. - -Resizing the table doesn't require you to build up this information -again. All that is needed is a list of layout hints for each column. - -The algorithm below describes to the best of our knowledge the way -table alyouting is handled in a NS compatible way. - -There are two stages, the collection stage (assocaited with -calcMinMaxWidth() in khtml) and the stage assigning width to cells -(associated with layout()). - -A set of hinted widths are used to determine the final table layout in -the layouting stage. - -enum hintType { - MinWidth, - DesiredWidth, - FixedWidth, - MinWidthAdjusted, - DesiredWidthAdjusted, - FixedWidthAdjusted, - PercentWidth, - PercentWidthAdjusted, - ProportionalWidth -}; - -One width (in pixels) for each hintType describes how the column -wishes to be layouted. The layouting stage operates only on an array -of hints for each column. - -An additional totalCellSpacing variable is used to know about the -remaining width to distribute. - -Collection stage: ------------------ - - |