#[derive(Debug, Clone)]
pub enum BackgroundFill {
Solid,
Glass {
blur_radius: f64,
},
Texture {
asset_id: &'static str,
},
}
pub trait ChromeStyle: Send + Sync {
fn chrome_height(&self) -> f64 { 32.0 }
fn tab_padding_h(&self) -> f64 { 12.0 }
fn tab_close_size(&self) -> f64 { 16.0 }
fn tab_gap(&self) -> f64 { 0.0 }
fn tab_left_margin(&self) -> f64 { 0.0 }
fn tab_accent_height(&self) -> f64 { 2.0 }
fn new_tab_btn_width(&self) -> f64 { 28.0 }
fn button_size_min(&self) -> f64 { 46.0 }
fn button_size_max(&self) -> f64 { 36.0 }
fn button_size_close(&self) -> f64 { 36.0 }
fn border_zone(&self) -> f64 { 4.0 }
fn drag_zone_min_width(&self) -> f64 { 0.0 }
fn action_icon_size(&self) -> f64 { 18.0 }
fn tab_close_icon_size(&self) -> f64 { 14.0 }
fn context_menu_width(&self) -> f64 { 160.0 }
fn context_menu_item_height(&self) -> f64 { 28.0 }
fn context_menu_padding(&self) -> f64 { 4.0 }
fn tooltip_padding(&self) -> f64 { 6.0 }
fn tooltip_below_cursor(&self) -> f64 { 20.0 }
fn background_fill(&self) -> BackgroundFill { BackgroundFill::Solid }
fn show_bottom_border(&self) -> bool { true }
}
#[derive(Default)]
pub struct DefaultChromeStyle;
impl ChromeStyle for DefaultChromeStyle {}
#[derive(Default)]
pub struct MinimalChromeStyle;
impl ChromeStyle for MinimalChromeStyle {
}
#[derive(Default)]
pub struct WindowControlsOnlyChromeStyle;
impl ChromeStyle for WindowControlsOnlyChromeStyle {
}