#[derive(Default, Clone, Copy)]
pub struct Padding {
pub left: f64,
pub right: f64,
pub top: f64,
pub bottom: f64,
}
impl Padding {
pub fn new(left: f64, right: f64, top: f64, bottom: f64) -> Self {
Padding {
left,
right,
top,
bottom,
}
}
pub fn all(value: f64) -> Self {
Padding {
left: value,
right: value,
top: value,
bottom: value,
}
}
pub fn horizontal(value: f64) -> Self {
Padding {
left: value,
right: value,
top: 0.0,
bottom: 0.0,
}
}
pub fn vertical(value: f64) -> Self {
Padding {
left: 0.0,
right: 0.0,
top: value,
bottom: value,
}
}
pub fn hor_ver(hor: f64, ver: f64) -> Self {
Padding {
left: hor,
right: hor,
top: ver,
bottom: ver,
}
}
pub fn left(value: f64) -> Self {
Padding {
left: value,
right: 0.0,
top: 0.0,
bottom: 0.0,
}
}
pub fn right(value: f64) -> Self {
Padding {
left: 0.0,
right: value,
top: 0.0,
bottom: 0.0,
}
}
pub fn top(value: f64) -> Self {
Padding {
left: 0.0,
right: 0.0,
top: value,
bottom: 0.0,
}
}
pub fn bottom(value: f64) -> Self {
Padding {
left: 0.0,
right: 0.0,
top: 0.0,
bottom: value,
}
}
pub fn x(&self) -> f64 {
self.left + self.right
}
pub fn y(&self) -> f64 {
self.top + self.bottom
}
}