pub struct LayoutTree { /* private fields */ }Expand description
Árbol de layout. Encapsula la TaffyTree y la lógica de absolutización.
Implementations§
Source§impl LayoutTree
impl LayoutTree
pub fn new() -> Self
Sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Vacía el árbol conservando la capacidad ya asignada. Permite
reusar la misma LayoutTree entre frames sin re-allocar el
slotmap interno de taffy: clear() + mount en vez de
LayoutTree::new() por frame. Los NodeId emitidos antes de
clear() quedan inválidos (el caller ya volcó lo que necesitaba
a un ComputedLayout, que es dueño de sus rects).
Sourcepub fn leaf(&mut self, style: Style) -> Result<NodeId, LayoutError>
pub fn leaf(&mut self, style: Style) -> Result<NodeId, LayoutError>
Crea una hoja (nodo sin hijos).
Sourcepub fn node(
&mut self,
style: Style,
children: &[NodeId],
) -> Result<NodeId, LayoutError>
pub fn node( &mut self, style: Style, children: &[NodeId], ) -> Result<NodeId, LayoutError>
Crea un nodo contenedor con hijos.
Sourcepub fn compute(
&mut self,
root: NodeId,
viewport: (f32, f32),
) -> Result<ComputedLayout, LayoutError>
pub fn compute( &mut self, root: NodeId, viewport: (f32, f32), ) -> Result<ComputedLayout, LayoutError>
Calcula el layout para root con viewport (w, h) y devuelve rects absolutos.
Sourcepub fn compute_with_measure<F>(
&mut self,
root: NodeId,
viewport: (f32, f32),
measure: F,
) -> Result<ComputedLayout, LayoutError>
pub fn compute_with_measure<F>( &mut self, root: NodeId, viewport: (f32, f32), measure: F, ) -> Result<ComputedLayout, LayoutError>
Como Self::compute pero pasando una función de medición por
nodo. Taffy la invoca sobre las hojas que necesita dimensionar
(texto que envuelve, contenido intrínseco) con el NodeId, las
dimensiones ya conocidas y el espacio disponible; el caller devuelve
el tamaño en px. Devolver Size::ZERO deja que el estilo decida (el
comportamiento de Self::compute para hojas sin contenido). El
NodeId permite al caller mantener su propio mapa nodo→contenido
(p. ej. texto a shapear con parley) sin acoplar este crate a la capa
de tipografía.