#[derive(Debug, Clone)]
pub enum BackgroundFill {
Solid,
Glass {
blur_radius: f64,
},
}
pub trait PanelStyle {
fn header_height(&self) -> f64;
fn column_header_height(&self) -> f64;
fn row_height(&self) -> f64;
fn footer_height(&self) -> f64;
fn padding(&self) -> f64;
fn border_width(&self) -> f64;
fn scrollbar_width(&self) -> f64;
fn background_fill(&self) -> BackgroundFill {
BackgroundFill::Solid
}
}
#[derive(Default)]
pub struct DefaultPanelStyle;
impl PanelStyle for DefaultPanelStyle {
fn header_height(&self) -> f64 { 22.0 }
fn column_header_height(&self) -> f64 { 18.0 }
fn row_height(&self) -> f64 { 20.0 }
fn footer_height(&self) -> f64 { 20.0 }
fn padding(&self) -> f64 { 6.0 }
fn border_width(&self) -> f64 { 1.0 }
fn scrollbar_width(&self) -> f64 { 8.0 }
}