diff options
author | 2024-07-12 15:11:30 +0200 | |
---|---|---|
committer | 2024-07-12 15:14:43 +0200 | |
commit | f9dd5cbb099bbe44a57b6369be54a442363b7a8d (patch) | |
tree | fe16084bc47faadc32d698aa446ea202f7949a4c /core/src/alignment.rs | |
parent | be06060117da061ad8cad94ab0830c06def6b147 (diff) | |
download | iced-f9dd5cbb099bbe44a57b6369be54a442363b7a8d.tar.gz iced-f9dd5cbb099bbe44a57b6369be54a442363b7a8d.tar.bz2 iced-f9dd5cbb099bbe44a57b6369be54a442363b7a8d.zip |
Introduce helper methods for alignment for all widgets
Diffstat (limited to 'core/src/alignment.rs')
-rw-r--r-- | core/src/alignment.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/core/src/alignment.rs b/core/src/alignment.rs index 51b7fca9..cacf7ce3 100644 --- a/core/src/alignment.rs +++ b/core/src/alignment.rs @@ -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, + } + } +} |