#[derive(Debug, Clone, Copy, PartialEq)]
pub enum MainAxisAlignment {
Start,
End,
Center,
SpaceBetween,
SpaceAround,
SpaceEvenly,
}
impl Default for MainAxisAlignment {
fn default() -> Self {
Self::Start
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum CrossAxisAlignment {
Start,
End,
Center,
Stretch,
}
impl Default for CrossAxisAlignment {
fn default() -> Self {
Self::Start
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct EdgeInsets {
pub top: f32,
pub right: f32,
pub bottom: f32,
pub left: f32,
}
impl EdgeInsets {
pub fn all(value: f32) -> Self {
Self {
top: value,
right: value,
bottom: value,
left: value,
}
}
pub fn symmetric(vertical: f32, horizontal: f32) -> Self {
Self {
top: vertical,
right: horizontal,
bottom: vertical,
left: horizontal,
}
}
pub fn only(top: f32, right: f32, bottom: f32, left: f32) -> Self {
Self {
top,
right,
bottom,
left,
}
}
pub fn zero() -> Self {
Self {
top: 0.0,
right: 0.0,
bottom: 0.0,
left: 0.0,
}
}
pub fn horizontal(&self) -> f32 {
self.left + self.right
}
pub fn vertical(&self) -> f32 {
self.top + self.bottom
}
}
impl Default for EdgeInsets {
fn default() -> Self {
Self::zero()
}
}