Crate layout

Source
Expand description

Layout. Performs layout on the DOM, builds display lists and sends them to be painted.

ModulesΒ§

cell πŸ”’
construct_modern πŸ”’
Layout construction code that is shared between modern layout modes (Flexbox and CSS Grid)
context πŸ”’
display_list πŸ”’
dom πŸ”’
dom_traversal πŸ”’
flexbox πŸ”’
flow
Flow layout, also known as block-and-inline layout.
formatting_contexts πŸ”’
fragment_tree πŸ”’
geom
layout_box_base πŸ”’
layout_impl πŸ”’
lists πŸ”’
positioned πŸ”’
query πŸ”’
Utilities for querying the layout, as needed by layout.
quotes πŸ”’
replaced πŸ”’
sizing πŸ”’
https://drafts.csswg.org/css-sizing/
style_ext πŸ”’
table
HTML Tables (β•―Β°β–‘Β°)β•―οΈ΅ ┻━┻
taffy πŸ”’
traversal πŸ”’

StructsΒ§

ArcRefCell
ConstraintSpace πŸ”’
Represents the set of constraints that we use when computing the min-content and max-content inline sizes of an element.
ContainingBlock πŸ”’
ContainingBlockSize πŸ”’
DefiniteContainingBlock πŸ”’
IndefiniteContainingBlock πŸ”’
A variant of ContainingBlock that allows an indefinite inline size. Useful for code that is shared for both layout (where we know the inline size of the containing block) and intrinsic sizing (where we don’t know it).
LayoutFactoryImpl
PropagatedBoxTreeData πŸ”’
Data that is propagated from ancestors to descendants during crate::flow::BoxTree construction. This allows data to flow in the reverse direction of the typical layout propoagation, but only during BoxTree construction.

Type AliasesΒ§

SharedStyle πŸ”’
At times, a style is β€œowned” by more than one layout object. For example, text fragments need a handle on their parent inline box’s style. In order to make incremental layout easier to implement, another layer of shared ownership is added via SharedStyle. This allows updating the style in originating layout object and having all β€œdepdendent” objects update automatically.