pub trait Orientation: Copy + Clone {
    type Secondary: SecondaryAlignment + Alignment;

    // Required methods
    fn destructure_size(size: Size) -> (u32, u32);
    fn create_size(primary: u32, secondary: u32) -> Size;
    fn place(
        &self,
        view: &mut dyn View,
        size: Size,
        previous: Rectangle,
        n: usize,
        count: usize
    );
}
Expand description

Helper trait that describes a linear layout orientation.

Required Associated Types§

source

type Secondary: SecondaryAlignment + Alignment

Secondary alignment that will be applied to all the views

Required Methods§

source

fn destructure_size(size: Size) -> (u32, u32)

Destructure Size into (primary_size, secondary_size)

source

fn create_size(primary: u32, secondary: u32) -> Size

Create a Size from primary and secondary size values

source

fn place( &self, view: &mut dyn View, size: Size, previous: Rectangle, n: usize, count: usize )

Place view

Implementors§

source§

impl<Secondary, Spacing> Orientation for Horizontal<Secondary, Spacing>where Secondary: SecondaryAlignment + VerticalAlignment, Spacing: ElementSpacing,

§

type Secondary = Secondary

source§

impl<Secondary, Spacing> Orientation for Vertical<Secondary, Spacing>where Secondary: SecondaryAlignment + HorizontalAlignment, Spacing: ElementSpacing,

§

type Secondary = Secondary