From be51cac3d71d5eb49e266d0d2aae6ab945caf560 Mon Sep 17 00:00:00 2001 From: Cory Forsstrom Date: Tue, 14 Sep 2021 09:10:37 -0700 Subject: Add Align::Fill variant --- core/src/align.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'core/src') diff --git a/core/src/align.rs b/core/src/align.rs index 8a59afa1..aa8838c6 100644 --- a/core/src/align.rs +++ b/core/src/align.rs @@ -9,6 +9,9 @@ pub enum Align { /// Align at the end of the axis. End, + + /// Fill the entire axis. + Fill, } /// The horizontal alignment of some resource. -- cgit From 5fae6e59ffbc5913761df638dc7f0c35b7f43bc9 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 20 Sep 2021 14:33:02 +0700 Subject: Introduce and use `CrossAlign` enum for `Column` and `Row` --- core/src/align.rs | 23 +++++++++++++++++++++++ core/src/lib.rs | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) (limited to 'core/src') diff --git a/core/src/align.rs b/core/src/align.rs index aa8838c6..ad0d8a25 100644 --- a/core/src/align.rs +++ b/core/src/align.rs @@ -9,11 +9,34 @@ pub enum Align { /// Align at the end of the axis. End, +} + +/// Alignment on the cross axis of a container. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum CrossAlign { + /// Align at the start of the axis. + Start, + + /// Align at the center of the axis. + Center, + + /// Align at the end of the axis. + End, /// Fill the entire axis. Fill, } +impl From for CrossAlign { + fn from(align: Align) -> Self { + match align { + Align::Start => Self::Start, + Align::Center => Self::Center, + Align::End => Self::End, + } + } +} + /// The horizontal alignment of some resource. #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum HorizontalAlignment { diff --git a/core/src/lib.rs b/core/src/lib.rs index e937264d..b0aa4e12 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -29,7 +29,7 @@ mod rectangle; mod size; mod vector; -pub use align::{Align, HorizontalAlignment, VerticalAlignment}; +pub use align::{Align, CrossAlign, HorizontalAlignment, VerticalAlignment}; pub use background::Background; pub use color::Color; pub use font::Font; -- cgit From a0ad3996225601aaa1ebe051cba115374b55c80e Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 20 Sep 2021 15:09:55 +0700 Subject: Refactor alignment types into an `alignment` module --- core/src/align.rs | 64 --------------------------------------------------- core/src/alignment.rs | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ core/src/lib.rs | 4 ++-- 3 files changed, 65 insertions(+), 66 deletions(-) delete mode 100644 core/src/align.rs create mode 100644 core/src/alignment.rs (limited to 'core/src') diff --git a/core/src/align.rs b/core/src/align.rs deleted file mode 100644 index ad0d8a25..00000000 --- a/core/src/align.rs +++ /dev/null @@ -1,64 +0,0 @@ -/// Alignment on an axis of a container. -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub enum Align { - /// Align at the start of the axis. - Start, - - /// Align at the center of the axis. - Center, - - /// Align at the end of the axis. - End, -} - -/// Alignment on the cross axis of a container. -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub enum CrossAlign { - /// Align at the start of the axis. - Start, - - /// Align at the center of the axis. - Center, - - /// Align at the end of the axis. - End, - - /// Fill the entire axis. - Fill, -} - -impl From for CrossAlign { - fn from(align: Align) -> Self { - match align { - Align::Start => Self::Start, - Align::Center => Self::Center, - Align::End => Self::End, - } - } -} - -/// The horizontal alignment of some resource. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum HorizontalAlignment { - /// Align left - Left, - - /// Horizontally centered - Center, - - /// Align right - Right, -} - -/// The vertical alignment of some resource. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum VerticalAlignment { - /// Align top - Top, - - /// Vertically centered - Center, - - /// Align bottom - Bottom, -} diff --git a/core/src/alignment.rs b/core/src/alignment.rs new file mode 100644 index 00000000..8c561d9d --- /dev/null +++ b/core/src/alignment.rs @@ -0,0 +1,63 @@ +//! Align and position widgets. + +/// Alignment on the axis of a container. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum Alignment { + /// Align at the start of the axis. + Start, + + /// Align at the center of the axis. + Center, + + /// Align at the end of the axis. + End, + + /// Fill the entire axis. + Fill, +} + +impl From for Alignment { + fn from(horizontal: Horizontal) -> Self { + match horizontal { + Horizontal::Left => Self::Start, + Horizontal::Center => Self::Center, + Horizontal::Right => Self::End, + } + } +} + +impl From for Alignment { + fn from(vertical: Vertical) -> Self { + match vertical { + Vertical::Top => Self::Start, + Vertical::Center => Self::Center, + Vertical::Bottom => Self::End, + } + } +} + +/// The horizontal [`Alignment`] of some resource. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Horizontal { + /// Align left + Left, + + /// Horizontally centered + Center, + + /// Align right + Right, +} + +/// The vertical [`Alignment`] of some resource. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Vertical { + /// Align top + Top, + + /// Vertically centered + Center, + + /// Align bottom + Bottom, +} diff --git a/core/src/lib.rs b/core/src/lib.rs index b0aa4e12..1f58a8cd 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -14,11 +14,11 @@ #![deny(unused_results)] #![forbid(unsafe_code)] #![forbid(rust_2018_idioms)] +pub mod alignment; pub mod keyboard; pub mod mouse; pub mod text; -mod align; mod background; mod color; mod font; @@ -29,7 +29,7 @@ mod rectangle; mod size; mod vector; -pub use align::{Align, CrossAlign, HorizontalAlignment, VerticalAlignment}; +pub use alignment::Alignment; pub use background::Background; pub use color::Color; pub use font::Font; -- cgit