mozilla
Your Search Results

    Table Cellmap - Border Collapse

    Introduction

    This document describes the additional information that is stored for border collapse tables in the cellmap.

    Information storage

    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.

    Image:bcentry.png

    Only the right most edge and the bottom most edge of a table need to be stored in a different place.

    Border

    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

    Corner

    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:
      • NS_SIDE_TOP
      • NS_SIDE_RIGHT
      • NS_SIDE_BOTTOM
      • NS_SIDE_LEFT
    • 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.

    Document Tags and Contributors

    Contributors to this page: Bernd mozilla
    Last updated by: Bernd mozilla,