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) -> Masonry
pub fn new(columns: usize) -> Masonry
Creates a masonry container with the given number of columns.
pub fn columns(self, columns: usize) -> Masonry
pub fn child<V>(self, child: V) -> Masonrywhere
V: View + 'static,
pub fn children(self, children: impl IntoChildren) -> Masonry
pub fn gap(self, gap: f32) -> Masonry
pub fn column_gap(self, gap: f32) -> Masonry
pub fn row_gap(self, gap: f32) -> Masonry
pub fn align_items(self, align: Align) -> Masonry
pub fn padding(self, padding: impl Into<Edges>) -> Masonry
pub fn pad(self, padding: impl Into<Edges>) -> Masonry
pub fn padding_xy(self, x: f32, y: f32) -> Masonry
pub fn padding_x(self, x: f32) -> Masonry
pub fn padding_y(self, y: f32) -> Masonry
pub fn padding_left(self, v: f32) -> Masonry
pub fn padding_right(self, v: f32) -> Masonry
pub fn padding_top(self, v: f32) -> Masonry
pub fn padding_bottom(self, v: f32) -> Masonry
pub fn width(self, width: impl Into<Length>) -> Masonry
pub fn height(self, height: impl Into<Length>) -> Masonry
pub fn size( self, width: impl Into<Length>, height: impl Into<Length>, ) -> Masonry
pub fn square(self, side: impl Into<Length>) -> Masonry
pub fn min_width(self, v: f32) -> Masonry
pub fn max_width(self, v: f32) -> Masonry
pub fn min_height(self, v: f32) -> Masonry
pub fn max_height(self, v: f32) -> Masonry
pub fn overflow(self, overflow: Overflow) -> Masonry
pub fn flex(self, weight: f32) -> Masonry
pub fn expand(self) -> Masonry
pub fn fill_width(self) -> Masonry
pub fn fill_height(self) -> Masonry
pub fn fill_size(self) -> Masonry
pub fn background(self, color: Color) -> Masonry
pub fn border(self, width: f32, color: Color) -> Masonry
pub fn border_left(self, width: f32, color: Color) -> Masonry
pub fn border_right(self, width: f32, color: Color) -> Masonry
pub fn border_top(self, width: f32, color: Color) -> Masonry
pub fn border_bottom(self, width: f32, color: Color) -> Masonry
pub fn border_x(self, width: f32, color: Color) -> Masonry
pub fn border_y(self, width: f32, color: Color) -> Masonry
pub fn radius(self, radius: f32) -> Masonry
pub fn box_style(self, style: BoxStyle) -> Masonry
pub fn style(self, style: BoxStyle) -> Masonry
Source§impl Masonry
impl Masonry
pub fn margin(self, margin: impl Into<Edges>) -> Masonry
pub fn margin_xy(self, x: f32, y: f32) -> Masonry
pub fn margin_x(self, x: f32) -> Masonry
pub fn margin_y(self, y: f32) -> Masonry
pub fn margin_left(self, v: f32) -> Masonry
pub fn margin_right(self, v: f32) -> Masonry
pub fn margin_top(self, v: f32) -> Masonry
pub fn margin_bottom(self, v: f32) -> Masonry
pub fn indent_top(self, v: f32) -> Masonry
pub fn indent_bottom(self, v: f32) -> Masonry
pub fn indent_left(self, v: f32) -> Masonry
pub fn indent_right(self, v: f32) -> Masonry
pub fn clear_indents(self) -> Masonry
pub fn indent(self, indents: Indents) -> Masonry
pub fn indent_all(self, v: f32) -> Masonry
pub fn indent_xy(self, x: f32, y: f32) -> Masonry
pub fn indent_axes(self, horizontal: f32, vertical: f32) -> Masonry
pub fn flex_grow(self, weight: f32) -> Masonry
pub fn flex_shrink(self, shrink: f32) -> Masonry
pub fn flex_basis(self, basis: Option<Length>) -> Masonry
pub fn align_self(self, align: Option<Align>) -> Masonry
pub fn align_self_value(self, align: Align) -> Masonry
pub fn aspect_ratio(self, ratio: Option<f32>) -> Masonry
pub fn aspect(self, ratio: f32) -> Masonry
pub fn position(self, position: Position) -> Masonry
pub fn absolute(self) -> Masonry
pub fn absolute_at(self, left: f32, top: f32) -> Masonry
pub fn absolute_inset(self, inset: Inset) -> Masonry
pub fn fit(self) -> Masonry
pub fn hit_testable(self, on: bool) -> Masonry
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