layout: Document the root flow.

This commit is contained in:
Patrick Walton 2013-05-06 15:46:12 -07:00
parent 1d7a3f916d
commit d374d6561d

View file

@ -14,15 +14,18 @@
///
/// Currently, the important types of flows are:
///
/// * `BlockFlow`: a flow that establishes a block context. It has several child flows, each of
/// * `BlockFlow`: A flow that establishes a block context. It has several child flows, each of
/// which are positioned according to block formatting context rules (CSS block boxes). Block
/// flows also contain a single `GenericBox` to represent their rendered borders, padding, etc.
/// (In the future, this render box may be folded into `BlockFlow` to save space.)
///
/// * `InlineFlow`: a flow that establishes an inline context. It has a flat list of child
/// * `InlineFlow`: A flow that establishes an inline context. It has a flat list of child
/// boxes/flows that are subject to inline layout and line breaking and structs to represent
/// line breaks and mapping to CSS boxes, for the purpose of handling `getClientRects()` and
/// similar methods.
///
/// * `RootFlow`: The flow at the root of the tree. This flow behaves like a `BlockFlow`, except
/// that stretches to the boundaries of the viewport.
use dom::node::AbstractNode;
use layout::block::{BlockFlowData, BlockLayout};
@ -30,11 +33,10 @@ use layout::box::RenderBox;
use layout::context::LayoutContext;
use layout::debug::DebugMethods;
use layout::display_list_builder::DisplayListBuilder;
use layout::inline::{InlineFlowData, InlineLayout};
use layout::root::{RootFlowData, RootLayout};
use layout::inline::{InlineFlowData};
use layout::root::{RootFlowData};
use core::cell::Cell;
use core::ptr;
use geom::point::Point2D;
use geom::rect::Rect;
use gfx::display_list::DisplayList;