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 compute_offset(
&self,
bounds: Rectangle,
size: Size,
previous: Rectangle,
n: usize,
count: usize,
) -> Point;
// Provided method
fn place(
&self,
view: &mut dyn View,
size: Size,
previous: Rectangle,
n: usize,
count: usize,
) -> Rectangle { ... }
}
Expand description
Helper trait that describes a linear layout orientation.
Required Associated Types§
Sourcetype Secondary: SecondaryAlignment + Alignment
type Secondary: SecondaryAlignment + Alignment
Secondary alignment that will be applied to all the views
Required Methods§
Sourcefn destructure_size(size: Size) -> (u32, u32)
fn destructure_size(size: Size) -> (u32, u32)
Destructure Size
into (primary_size, secondary_size)
Sourcefn create_size(primary: u32, secondary: u32) -> Size
fn create_size(primary: u32, secondary: u32) -> Size
Create a Size
from primary and secondary size values
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.