Table Cellmap - Border Collapse
This document describes the additional information that is stored for border collapse tables in the cellmap.
Each cellmap entry stores for tables in the border collapse mode additional information about its top and left edge and its top left corner.
As one can see from the following illustration this is enough to cover a whole table.
Only the right most edge and the bottom most edge of a table need to be stored in a different place.
For the top and left border we store the width and the owner of the border. The width is stored in pixel coordinates.
The following owners are possible:
eTableOwner = 0, eColGroupOwner = 1, eAjaColGroupOwner = 2, // col group to the left eColOwner = 3, eAjaColOwner = 4, // col to the left eRowGroupOwner = 5, eAjaRowGroupOwner = 6, // row group above eRowOwner = 7, eAjaRowOwner = 8, // row above eCellOwner = 9, eAjaCellOwner = 10 // cell to the top or to the left
The ownership is determined by the rules for border conflict resolution as defined in CSS 2.1
For the corner we store
- the corner ownership, defined by the orientation of the major edge relative to the corner that goes into that corner. It can have 4 values:
- The size of the smaller border that goes into that corner.
- if this corner is a start for a horizontal segment,
- if this corner is a start for a vertical segment,
- if this corner should be beveled.