tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 501HTML 254C 19JavaScript 81412 Definitions

⎇ 0bccf6cb6a3fc322e8e4fcc10ae38f8c42b26cf1 src/prelude.rs Rust · 56 lines · 1.7 KB History Who touched what raw

Moving flexbox behind a feature flag (#414) 0bccf6cb6 · Andreas Weibye ·

1//! Commonly used types
2
3#[cfg(feature = "flexbox")]
4use crate::{
5    compute::LayoutAlgorithm,
6    layout::{SizeAndBaselines, SizingMode},
7};
8
9/// Apply the flexbox algorithm and recursively layout the specified node
10#[cfg(feature = "flexbox")]
11#[inline(always)]
12pub fn layout_flexbox(
13    tree: &mut impl LayoutTree,
14    node: Node,
15    known_dimensions: Size<Option<f32>>,
16    parent_size: Size<Option<f32>>,
17    available_space: Size<AvailableSpace>,
18    sizing_mode: SizingMode,
19) -> SizeAndBaselines {
20    crate::compute::flexbox::FlexboxAlgorithm::perform_layout(
21        tree,
22        node,
23        known_dimensions,
24        parent_size,
25        available_space,
26        sizing_mode,
27    )
28}
29
30pub use crate::{
31    geometry::{Line, Rect, Size},
32    layout::Layout,
33    node::{Node, Taffy},
34    style::{
35        AlignContent, AlignItems, AlignSelf, AvailableSpace, Dimension, Display, JustifyContent, JustifyItems,
36        JustifySelf, LengthPercentage, LengthPercentageAuto, Position, Style,
37    },
38    style_helpers::{
39        auto, fit_content, max_content, min_content, percent, points, zero, FromFlex, FromPercent, FromPoints,
40        TaffyAuto, TaffyFitContent, TaffyMaxContent, TaffyMinContent, TaffyZero,
41    },
42    tree::LayoutTree,
43};
44
45#[cfg(feature = "flexbox")]
46pub use crate::style::{FlexDirection, FlexWrap};
47
48#[cfg(feature = "grid")]
49pub use crate::style::{
50    GridAutoFlow, GridPlacement, GridTrackRepetition, MaxTrackSizingFunction, MinTrackSizingFunction,
51    NonRepeatedTrackSizingFunction, TrackSizingFunction,
52};
53#[cfg(feature = "grid")]
54pub use crate::style_helpers::{
55    evenly_sized_tracks, flex, fr, line, minmax, repeat, span, TaffyGridLine, TaffyGridSpan,
56};