pub struct Grid {
pub columns: Vec<GridTrack>,
pub rows: Vec<GridTrack>,
pub column_gap: f32,
pub row_gap: f32,
}Expand description
A layout engine that computes coordinates for children positioned in a 2D grid.
Fields§
§columns: Vec<GridTrack>§rows: Vec<GridTrack>§column_gap: f32§row_gap: f32Implementations§
Source§impl Grid
impl Grid
Sourcepub fn new(
columns: Vec<GridTrack>,
rows: Vec<GridTrack>,
column_gap: f32,
row_gap: f32,
) -> Self
pub fn new( columns: Vec<GridTrack>, rows: Vec<GridTrack>, column_gap: f32, row_gap: f32, ) -> Self
Creates a new Grid layout engine.
Sourcepub fn compute_layout_rects(
&self,
bounds: Rect,
subviews: &[&dyn LayoutView],
placements: &[Option<GridPlacement>],
cache: &mut LayoutCache,
) -> Vec<Rect>
pub fn compute_layout_rects( &self, bounds: Rect, subviews: &[&dyn LayoutView], placements: &[Option<GridPlacement>], cache: &mut LayoutCache, ) -> Vec<Rect>
Computes the rects for children based on track sizing and grid placements.
pub fn compute_layout_rects_incremental( &self, bounds: Rect, container_hash: u64, subviews: &[&dyn LayoutView], placements: &[Option<GridPlacement>], cache: &mut LayoutCache, ) -> Vec<Rect>
Trait Implementations§
Source§impl LayoutView for Grid
impl LayoutView for Grid
Source§fn size_that_fits(
&self,
proposal: SizeProposal,
_subviews: &[&dyn LayoutView],
_cache: &mut LayoutCache,
) -> Size
fn size_that_fits( &self, proposal: SizeProposal, _subviews: &[&dyn LayoutView], _cache: &mut LayoutCache, ) -> Size
Propose a size for this view given the available space
Source§fn place_subviews(
&self,
bounds: Rect,
subviews: &mut [&mut dyn LayoutView],
cache: &mut LayoutCache,
)
fn place_subviews( &self, bounds: Rect, subviews: &mut [&mut dyn LayoutView], cache: &mut LayoutCache, )
Place subviews within the given bounds
Source§fn flex_weight(&self) -> f32
fn flex_weight(&self) -> f32
Returns the flex weight of this view (default is 0.0, which means fixed/intrinsic)
Source§fn view_hash(&self) -> u64
fn view_hash(&self) -> u64
Returns a persistent unique identifier for this view to enable Layout View Transitions.
Return 0 (default) to disable layout animations for this node.
Source§fn changed(&self) -> bool
fn changed(&self) -> bool
Return true when this view’s layout may have changed since the last pass. Read more
Source§fn debug_layout(&self, indent: usize) -> String
fn debug_layout(&self, indent: usize) -> String
Return a debug representation of this layout subtree.
The
indent parameter controls the indentation level for nested display.Auto Trait Implementations§
impl Freeze for Grid
impl RefUnwindSafe for Grid
impl Send for Grid
impl Sync for Grid
impl Unpin for Grid
impl UnsafeUnpin for Grid
impl UnwindSafe for Grid
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.