pub struct Masonry { /* private fields */ }Expand description
A waterfall layout with equal-width columns and variable item heights.
Items are appended to the shortest column, keeping their natural height. This is useful for card feeds and galleries where rows should not share a common height. Absolute children are excluded from the flow.
use sequoia_view::prelude::*;
let feed = Masonry::new(2)
.gap(12.0)
.padding(16.0)
.child(Panel::new().height(120.0))
.child(Panel::new().height(80.0))
.child(Panel::new().height(160.0));Implementations§
Source§impl Masonry
impl Masonry
Sourcepub fn new(columns: usize) -> Self
pub fn new(columns: usize) -> Self
Creates a masonry container with the given number of columns.
pub fn columns(self, columns: usize) -> Self
pub fn child<V: View + 'static>(self, child: V) -> Self
pub fn children(self, children: impl IntoChildren) -> Self
pub fn gap(self, gap: f32) -> Self
pub fn column_gap(self, gap: f32) -> Self
pub fn row_gap(self, gap: f32) -> Self
pub fn align_items(self, align: Align) -> Self
pub fn padding(self, padding: impl Into<Edges>) -> Self
pub fn pad(self, padding: impl Into<Edges>) -> Self
pub fn padding_xy(self, x: f32, y: f32) -> Self
pub fn padding_x(self, x: f32) -> Self
pub fn padding_y(self, y: f32) -> Self
pub fn padding_left(self, v: f32) -> Self
pub fn padding_right(self, v: f32) -> Self
pub fn padding_top(self, v: f32) -> Self
pub fn padding_bottom(self, v: f32) -> Self
pub fn width(self, width: impl Into<Length>) -> Self
pub fn height(self, height: impl Into<Length>) -> Self
pub fn size(self, width: impl Into<Length>, height: impl Into<Length>) -> Self
pub fn square(self, side: impl Into<Length>) -> Self
pub fn min_width(self, v: f32) -> Self
pub fn max_width(self, v: f32) -> Self
pub fn min_height(self, v: f32) -> Self
pub fn max_height(self, v: f32) -> Self
pub fn overflow(self, overflow: Overflow) -> Self
pub fn flex(self, weight: f32) -> Self
pub fn expand(self) -> Self
pub fn fill_width(self) -> Self
pub fn fill_height(self) -> Self
pub fn fill_size(self) -> Self
pub fn background(self, color: Color) -> Self
pub fn border(self, width: f32, color: Color) -> Self
pub fn border_left(self, width: f32, color: Color) -> Self
pub fn border_right(self, width: f32, color: Color) -> Self
pub fn border_top(self, width: f32, color: Color) -> Self
pub fn border_bottom(self, width: f32, color: Color) -> Self
pub fn border_x(self, width: f32, color: Color) -> Self
pub fn border_y(self, width: f32, color: Color) -> Self
pub fn radius(self, radius: f32) -> Self
pub fn box_style(self, style: BoxStyle) -> Self
pub fn style(self, style: BoxStyle) -> Self
Source§impl Masonry
impl Masonry
pub fn margin(self, margin: impl Into<Edges>) -> Self
pub fn margin_xy(self, x: f32, y: f32) -> Self
pub fn margin_x(self, x: f32) -> Self
pub fn margin_y(self, y: f32) -> Self
pub fn margin_left(self, v: f32) -> Self
pub fn margin_right(self, v: f32) -> Self
pub fn margin_top(self, v: f32) -> Self
pub fn margin_bottom(self, v: f32) -> Self
pub fn indent_top(self, v: f32) -> Self
pub fn indent_bottom(self, v: f32) -> Self
pub fn indent_left(self, v: f32) -> Self
pub fn indent_right(self, v: f32) -> Self
pub fn clear_indents(self) -> Self
pub fn indent(self, indents: Indents) -> Self
pub fn indent_all(self, v: f32) -> Self
pub fn indent_xy(self, x: f32, y: f32) -> Self
pub fn indent_axes(self, horizontal: f32, vertical: f32) -> Self
pub fn flex_grow(self, weight: f32) -> Self
pub fn flex_shrink(self, shrink: f32) -> Self
pub fn flex_basis(self, basis: Option<Length>) -> Self
pub fn align_self(self, align: Option<Align>) -> Self
pub fn align_self_value(self, align: Align) -> Self
pub fn aspect_ratio(self, ratio: Option<f32>) -> Self
pub fn aspect(self, ratio: f32) -> Self
pub fn position(self, position: Position) -> Self
pub fn absolute(self) -> Self
pub fn absolute_at(self, left: f32, top: f32) -> Self
pub fn absolute_inset(self, inset: Inset) -> Self
pub fn fit(self) -> Self
pub fn hit_testable(self, on: bool) -> Self
Trait Implementations§
Source§impl View for Masonry
impl View for Masonry
fn body(&self) -> impl View + 'static
fn layout_style_ctx(&self, _rt: &Runtime, _el: ElementId) -> LayoutStyle
fn accessibility(&self) -> Option<Accessible>
fn arrange_override( &self, _rt: &Runtime, _el: ElementId, _rect: Rect, _ctx: &mut LayoutCtx<'_>, ) -> bool
fn clip_self(&self) -> bool
fn clip_radius(&self) -> f32
fn paint_opacity(&self) -> Option<f32>
fn paint_opacity_ctx(&self, _rt: &Runtime, _el: ElementId) -> Option<f32>
fn paint_offset(&self) -> Vec2
fn paint_offset_ctx(&self, _rt: &Runtime, _el: ElementId) -> Vec2
fn paint_scale(&self) -> f32
fn paint_scale_ctx(&self, _rt: &Runtime, _el: ElementId) -> f32
fn paint_rotation(&self) -> f32
fn paint_rotation_ctx(&self, _rt: &Runtime, _el: ElementId) -> f32
fn foreground_filter(&self) -> Option<Filter>
fn captures_pointer_ctx(&self, _rt: &Runtime, _el: ElementId) -> bool
fn reuse_state(&self, _old: &Self)
fn hit_testable(&self) -> bool
fn test_id(&self) -> Option<String>
fn focus_trap(&self) -> bool
fn accepts_tab(&self) -> bool
fn paint_foreground(&self, _ctx: &mut PaintCtx<'_>)
fn accepts_drop(&self, _payload: &DragPayload) -> bool
fn on_drag_over(&self, _pos: DropPosition, _ctx: &mut EventCtx<'_>)
fn on_drop(&self, _pos: DropPosition, _ctx: &mut EventCtx<'_>)
fn on_drag_start(&self, _ctx: &mut EventCtx<'_>)
fn on_drag_end(&self, _end: DragEnd, _ctx: &mut EventCtx<'_>)
Auto Trait Implementations§
impl !RefUnwindSafe for Masonry
impl !Send for Masonry
impl !Sync for Masonry
impl !UnwindSafe for Masonry
impl Freeze for Masonry
impl Unpin for Masonry
impl UnsafeUnpin for Masonry
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