summaryrefslogtreecommitdiffstats
path: root/core/src/alignment.rs
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/alignment.rs')
-rw-r--r--core/src/alignment.rs45
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,
+ }
+ }
+}