pub struct ToastGeometry;
impl ToastGeometry {
pub const TOAST_WIDTH: f64 = 320.0;
pub const TOAST_HEIGHT: f64 = 64.0;
pub const PADDING: f64 = 12.0;
pub const MARGIN: f64 = 8.0;
pub const BORDER_THICKNESS: f64 = 1.0;
pub const SHADOW_OFFSET: f64 = 2.0;
pub const CHROME_OFFSET: f64 = 40.0;
pub const TOP_ANCHOR: f64 = Self::CHROME_OFFSET + Self::MARGIN;
pub const STACK_PITCH: f64 = Self::TOAST_HEIGHT + Self::MARGIN;
pub const TITLE_Y_OFFSET: f64 = Self::PADDING + 6.0;
pub const MESSAGE_Y_OFFSET: f64 = Self::PADDING + 6.0 + 18.0;
pub const FADE_THRESHOLD: f64 = 0.2;
}
pub trait ToastStyle {
fn padding(&self) -> f64;
fn radius(&self) -> f64;
fn icon_size(&self) -> f64;
fn font_size(&self) -> f64;
fn fade_duration_ms(&self) -> u32;
}
pub struct DefaultToastStyle;
impl Default for DefaultToastStyle {
fn default() -> Self {
Self
}
}
impl ToastStyle for DefaultToastStyle {
fn padding(&self) -> f64 {
ToastGeometry::PADDING
}
fn radius(&self) -> f64 {
0.0
}
fn icon_size(&self) -> f64 {
0.0
}
fn font_size(&self) -> f64 {
11.0
}
fn fade_duration_ms(&self) -> u32 {
0
}
}