Struct kas_core::layout::AlignHints

source ·
pub struct AlignHints {
    pub horiz: Option<Align>,
    pub vert: Option<Align>,
}
Expand description

Partial alignment information provided by the parent

Hints are optional. Widgets are expected to substitute default values where hints are not provided.

The AlignHints::complete method is provided to conveniently apply alignment to a widget within crate::Layout::set_rect:

let pref_size = Size(30, 20); // usually size comes from SizeMgr
let rect = align
    .complete(Align::Stretch, Align::Center)
    .aligned_rect(pref_size, rect);
// self.core.rect = rect;

Fields§

§horiz: Option<Align>§vert: Option<Align>

Implementations§

No hints

Center on both axes

Stretch on both axes

Construct with optional horiz. and vert. alignment

Examples found in repository?
src/layout/align.rs (line 40)
40
41
42
43
44
45
46
    pub const NONE: AlignHints = AlignHints::new(None, None);

    /// Center on both axes
    pub const CENTER: AlignHints = AlignHints::new(Some(Align::Center), Some(Align::Center));

    /// Stretch on both axes
    pub const STRETCH: AlignHints = AlignHints::new(Some(Align::Stretch), Some(Align::Stretch));

Take horizontal/vertical component

Examples found in repository?
src/layout/mod.rs (line 94)
93
94
95
96
    pub fn with_align_hints(mut self, hints: AlignHints) -> Self {
        self.align = hints.extract(self).or(self.align);
        self
    }

Set one component of self, based on a direction

Combine two hints (first takes priority)

Unwrap type’s alignments or substitute parameters

Complete via default alignments

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Cast from Self to T Read more
Try converting from Self to T Read more
Try approximate conversion from Self to T Read more
Cast approximately from Self to T Read more
Cast to integer, truncating Read more
Cast to the nearest integer Read more
Cast the floor to an integer Read more
Cast the ceiling to an integer Read more
Try converting to integer with truncation Read more
Try converting to the nearest integer Read more
Try converting the floor to an integer Read more
Try convert the ceiling to an integer Read more
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.