#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct LayoutConfig {
pub hpad_left: u16,
pub hpad_right: u16,
pub hpad_left_compact: u16,
pub hpad_right_compact: u16,
pub outer_vpad: u16,
pub outer_vpad_compact: u16,
}
impl Default for LayoutConfig {
fn default() -> Self {
Self {
hpad_left: 2,
hpad_right: 2,
hpad_left_compact: 1,
hpad_right_compact: 1,
outer_vpad: 1,
outer_vpad_compact: 0,
}
}
}
impl LayoutConfig {
#[must_use]
pub fn eff_hpad_left(&self, compact: bool) -> u16 {
if compact {
self.hpad_left_compact
} else {
self.hpad_left
}
}
#[must_use]
pub fn eff_hpad_right(&self, compact: bool) -> u16 {
if compact {
self.hpad_right_compact
} else {
self.hpad_right
}
}
#[must_use]
pub fn eff_outer_vpad(&self, compact: bool) -> u16 {
if compact {
self.outer_vpad_compact
} else {
self.outer_vpad
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct ScrollbarConfig {
pub enabled: bool,
pub gap_left: u16,
pub gap_right: u16,
}
impl Default for ScrollbarConfig {
fn default() -> Self {
Self {
enabled: true,
gap_left: 1,
gap_right: 1,
}
}
}