Refactor alignment types into an alignment module
This commit is contained in:
parent
5fae6e59ff
commit
a0ad399622
54 changed files with 402 additions and 377 deletions
|
|
@ -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<Align> 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,
|
||||
}
|
||||
63
core/src/alignment.rs
Normal file
63
core/src/alignment.rs
Normal file
|
|
@ -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<Horizontal> for Alignment {
|
||||
fn from(horizontal: Horizontal) -> Self {
|
||||
match horizontal {
|
||||
Horizontal::Left => Self::Start,
|
||||
Horizontal::Center => Self::Center,
|
||||
Horizontal::Right => Self::End,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Vertical> 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,
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue