From 427dffcdd5fe4ce0acfe0692bfa1a0fe92bdcd24 Mon Sep 17 00:00:00 2001 From: "karnaze%netscape.com" Date: Mon, 5 Aug 2002 00:26:59 +0000 Subject: [PATCH] doc changes, not affecting the build. --- layout/doc/raptor.jpg | Bin 0 -> 49629 bytes layout/doc/table_reflow_slides.html | 303 ++++++++++++++++++---------- 2 files changed, 198 insertions(+), 105 deletions(-) create mode 100644 layout/doc/raptor.jpg diff --git a/layout/doc/raptor.jpg b/layout/doc/raptor.jpg new file mode 100644 index 0000000000000000000000000000000000000000..243ba9e2d43e0073bd2b8d35f570ea4522b4e408 GIT binary patch literal 49629 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
@@ -191,22 +212,19 @@

Review of Reflow

    -
  • Reflow starts with pres shell which reflows the reflow root (usually the view port frame), - which reflows it children, etc.
  • +
  • Reflow starts with pres shell, +
      +
    • which reflows the reflow root (usually the view port frame),
    • +
    • which reflows it children, etc.
    • +
    +
  • Ususally it starts when the pres shell processes its queue of reflow commands.
  • The reflower
      -
    • Positions reflowee (if it can) before actually reflowing in case views are involved
    • -
    • Reflows reflowee and passes a reflow state (in) and a reflow metrics (in/out)
    • +
    • Positions reflowee (if it can) before actually reflowing in case views are involved could you specify when those are involved
    • +
    • Reflows reflowee and passes a reflow state (in) and a reflow metrics (in/out)
    -
  • -
  • the reflow state -
      -
    • Is a node in a tree structurally equavalent to the frame tree of reflow paticipants
    • -
    • contains reflow type, avail size, various computed values, resolved style structs
    • -
    • possible request for preferred size and more.
    • -
    -
  • +
@@ -217,23 +235,21 @@

Review of Reflow

    -
  • The reflowee sets various sizes in the reflow metrics after (possibly) reflowing some or all of its children - which reflows it children, etc.
  • -
      -
    • max element size (if requested) - the minimum size it can be
    • -
    • preferred size (if requested) - the size it would like to be given no size constraints.
    • -
    • desired size - the size it would like to be given the avail size. This - is equavalent to preferred size if the avail size is not constrained.
    • -
    - -
  • The reflowee returns a reflow status which indicates -
      -
    • if it is complete, and thus not have to continue (split)
    • -
    • breaking status (in the case of some inline frames)
    • -
    • if there is truncation (it can't fit in the space and can't split). This is just a convience mechanism.
    • -
    -
  • -
+
  • the reflow state: +
      +
    • Is a node in a tree structurally equivalent to the frame tree of reflow participants
    • +
    • contains: +
        +
      • reflow type,
      • +
      • avail size,
      • +
      • various computed values,
      • +
      • resolved style structs
      • +
      • possible request for preferred size and more.
      • +
      +
    • +
    +
  • +
    @@ -241,11 +257,50 @@ < >
    +

    Review of Reflow

    +
      + +
    • the reflow metrics contains: +
        +
      • max element size (if requested) - the minimum size it can be
      • +
      • preferred size (if requested) - the size it would like to be given no size constraints.
      • +
      • desired size - the size it would like to be given the avail size. This + is equivalent to preferred size if the avail size is not constrained.
      • +
      +
    • +
    + + +
    + +

    Review of Reflow

    +
      +
    • The reflowee sets various sizes in the reflow metrics after (possibly) reflowing some or all of its children + which reflows it children, etc.
    • +
    • The reflowee returns a reflow status which indicates +
        +
      • if it is complete, and thus not have to continue (split)
      • +
      • breaking status (in the case of some inline frames)
      • +
      • if there is truncation (it can't fit in the space and can't split). This is just a convience mechanism.
      • +
      +
    • + +
    + +
    + +

    Kinds of reflows

    • initial - reflowee's first reflow must be of this type (reflower's responsibility).
    • resize - reflowee gets a change in available space only. Similar to initial, except it can reoccur.
    • -
    • incremental - has a reflow path (tree) where each node has a command with a target frame, reflow command types are:
    • +
    • incremental - has a reflow path (tree) where each node has a command with a target frame,
      reflow command types are:
      • dirty - something changed inside a target (e.g. it gains, loses children)
      • style changed - a target changed stylisticly (recall, size is a style property)
      • @@ -256,14 +311,14 @@
    -
    +

    Kinds of reflows

      -
    • incremental reflow +
    • incremental reflow (continued)
      • reflower not allowed to change available size of reflowee
      • reflow commands get coalesced to streamline processing
      • @@ -278,18 +333,35 @@
    -
    +

    Table Frames

    +
    + + + + + + + + + + + + + +
    +
    + nsTableOuter Frame
    nsTable
    Frame
    nsTableCaption
    Frame
    nsTableCol
    GroupFrame
    nsTableRow
    GroupFrame
    nsBlockFrame
    nsTableCol
    Frame
    nsTableRow
    Frame
    nsTableCell
    Frame
    nsBlock
    Frame
    -
    +

    Table Reflow

      @@ -298,10 +370,24 @@
      • Pass 1 - unconstrained width, height and requests max elem width.
      • The table figures out the column widths (balances) given the style width constraints - on the table, row groups, rows, cells the preferred and max element sizes of the cells + on the table, col groups, cols, cells the preferred and max element sizes of the cells (from the pass 1 reflow), and considers colspans
      • Pass 2 - cell widths are constrained by the column widths (heights are only constrained in paginated mode).
      • +
      + +
    +
    + +
    + +

    Table Reflow

    +
      +
    • table reflows row groups (continued)
    • +
      • The row group figures out the row heights given the its style height constraints its rows and cells and the actual heights of its rows and cells from the pass 2 reflow
      • If the table has a style height, it allocates extra height to its row groups, rows and cells.
      • @@ -311,10 +397,10 @@
    -
    +

    Table Reflow Example

    @@ -377,15 +463,15 @@ Key:
    -
    +

    Table reflow optimizations

      -
    • If the table already balanced, pass 1 constrains the width (like a normal pass 2) based on the current - column widths. The pass 2 will get skipped if the table doesn't need to rebalance.
    • +
    • If the table is already balanced, pass 1 constrains the width (like a normal pass 2) based on the current + column widths. The pass 2 will get skipped if the table doesn't need to rebalance. please clarify when can this happen
    • Nested table reflowed with an unconstrained width (i.e. an ancestor is doing a pass 1 reflow) will only do a pass 1 reflow on its children
    • Outer table caches last avail width and avoids reflowing children if resize reflow is the same as previous
    • @@ -395,10 +481,10 @@ Key:
    -
    +

    Table incremental reflow

      @@ -406,15 +492,15 @@ Key: changes (style changed).
    • Caption is a target when it changes stylistically (style changed).
    • Table, row group, row, col group, col is a target when a child is added or removed (dirty) or it changes - stylistically (style changed).
    • + stylistically (style changed). please show how the column style change is propagated into the cell reflows as the cells are reflowed by their parent rows and not cols
    • In the dirty cases, a target posted the reflow command in AppendFrames, InsertFrames, or DeleteFrame.
    -
    +

    Table incremental reflow

      @@ -427,10 +513,10 @@ Key:
    -
    +

    Special height reflow

      @@ -446,16 +532,16 @@ Key:
    -
    +

    Special Reflow Example

    - +
    -
    +     
     <table border=2 width=300>
       <tr>
         <td>
    @@ -477,8 +563,8 @@ Key:
     	 
    This cell's width is constrained - by the table and image widths. Its height - is hard to determine. + by the table and image widths.

    Its height + is hard to determine.

    The image needs to be as high as the cell.
    @@ -490,18 +576,11 @@ Key:
    -
    - -

    Special height reflow

    -
    -
    +

    Special height reflow

      @@ -524,10 +603,10 @@ Key:
    -
    +

    Special height reflow

      @@ -539,10 +618,10 @@ Key:
    -
    +

    Intro to paginated reflow

      @@ -558,10 +637,10 @@ Key:
    -
    +

    Pagination Illustration

    @@ -640,10 +719,10 @@ Key:
    -
    +

    Intro to paginated reflow

      @@ -656,10 +735,10 @@ Key:
    -
    +

    Intro to paginated reflow

      @@ -678,10 +757,10 @@ Key:
    -
    +

    Intro to paginated reflow

      @@ -698,10 +777,10 @@ Key:
    -
    +

    Table paginated reflow

      @@ -722,10 +801,10 @@ Key:
    -
    +

    Table paginated reflow

      @@ -741,7 +820,21 @@ Key:
    • reflows all of its rows with unconstrained heights and calculates the row heights,
    • figures out which row falls on a page boundary and reflows it with a constrained height. If there will be a pass 3 reflow then this should (bug) happen at that time instead.
    • -
    • creates a continuation for incomplete the row (which also creates continuations for all of its cells +
    + + +
    + +
    + +

    Table paginated reflow

    +
      +
    • The row group (continued)
    • +
        +
      • creates a continuation for the incomplete row (which also creates continuations for all of its cells and all of the cell blocks)
      • puts the continuation in its overflow frames property. If the row was truncated and not top of page, the row is put in the overflow frames property. @@ -750,9 +843,9 @@ Key:
    -
    +

    Table paginated reflow