Introduce helper methods for alignment for all widgets
This commit is contained in:
parent
be06060117
commit
f9dd5cbb09
45 changed files with 380 additions and 282 deletions
|
|
@ -1,5 +1,30 @@
|
|||
//! Align and position widgets.
|
||||
|
||||
/// Returns a value representing center alignment.
|
||||
pub const fn center() -> Alignment {
|
||||
Alignment::Center
|
||||
}
|
||||
|
||||
/// Returns a value representing left alignment.
|
||||
pub const fn left() -> Horizontal {
|
||||
Horizontal::Left
|
||||
}
|
||||
|
||||
/// Returns a value representing right alignment.
|
||||
pub const fn right() -> Horizontal {
|
||||
Horizontal::Right
|
||||
}
|
||||
|
||||
/// Returns a value representing top alignment.
|
||||
pub const fn top() -> Vertical {
|
||||
Vertical::Top
|
||||
}
|
||||
|
||||
/// Returns a value representing bottom alignment.
|
||||
pub const fn bottom() -> Vertical {
|
||||
Vertical::Bottom
|
||||
}
|
||||
|
||||
/// Alignment on the axis of a container.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub enum Alignment {
|
||||
|
|
@ -46,6 +71,16 @@ pub enum Horizontal {
|
|||
Right,
|
||||
}
|
||||
|
||||
impl From<Alignment> for Horizontal {
|
||||
fn from(alignment: Alignment) -> Self {
|
||||
match alignment {
|
||||
Alignment::Start => Self::Left,
|
||||
Alignment::Center => Self::Center,
|
||||
Alignment::End => Self::Right,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The vertical [`Alignment`] of some resource.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub enum Vertical {
|
||||
|
|
@ -58,3 +93,13 @@ pub enum Vertical {
|
|||
/// Align bottom
|
||||
Bottom,
|
||||
}
|
||||
|
||||
impl From<Alignment> for Vertical {
|
||||
fn from(alignment: Alignment) -> Self {
|
||||
match alignment {
|
||||
Alignment::Start => Self::Top,
|
||||
Alignment::Center => Self::Center,
|
||||
Alignment::End => Self::Bottom,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue