use super::style::{SelectorButtonStyle, ShapeSelectorStyle};
use super::theme::{DefaultShapeSelectorTheme, ShapeSelectorTheme};
pub struct ShapeSelectorSettings {
pub theme: Box<dyn ShapeSelectorTheme>,
pub style: Box<dyn SelectorButtonStyle>,
}
impl Default for ShapeSelectorSettings {
fn default() -> Self {
Self {
theme: Box::new(DefaultShapeSelectorTheme),
style: Box::new(ShapeSelectorStyle),
}
}
}
impl ShapeSelectorSettings {
pub fn with_theme(mut self, theme: Box<dyn ShapeSelectorTheme>) -> Self {
self.theme = theme;
self
}
pub fn with_style(mut self, style: Box<dyn SelectorButtonStyle>) -> Self {
self.style = style;
self
}
}