Struct kas_core::theme::MultiTheme
source · pub struct MultiTheme<DS> { /* private fields */ }Expand description
Wrapper around multiple themes, supporting run-time switching
Implementations§
source§impl<DS> MultiTheme<DS>
impl<DS> MultiTheme<DS>
sourcepub fn builder() -> MultiThemeBuilder<DS>
pub fn builder() -> MultiThemeBuilder<DS>
Construct with builder pattern
Trait Implementations§
source§impl<DS: DrawSharedImpl> Theme<DS> for MultiTheme<DS>
impl<DS: DrawSharedImpl> Theme<DS> for MultiTheme<DS>
source§fn apply_config(&mut self, config: &Self::Config) -> Action
fn apply_config(&mut self, config: &Self::Config) -> Action
Apply/set the passed config
source§fn init(&mut self, shared: &mut SharedState<DS>)
fn init(&mut self, shared: &mut SharedState<DS>)
Theme initialisation Read more
source§fn update_window(&self, window: &mut Self::Window, dpi_factor: f32)
fn update_window(&self, window: &mut Self::Window, dpi_factor: f32)
Update a window created by
Theme::new_window Read moresource§fn draw<'a>(
&'a self,
draw: DrawIface<'a, DS>,
ev: &'a mut EventState,
window: &'a mut Self::Window
) -> Box<dyn ThemeDraw + 'a>
fn draw<'a>( &'a self, draw: DrawIface<'a, DS>, ev: &'a mut EventState, window: &'a mut Self::Window ) -> Box<dyn ThemeDraw + 'a>
Prepare to draw and construct a [
ThemeDraw] object Read moresource§fn draw_upcast<'a>(
_draw: DrawIface<'a, DS>,
_ev: &'a mut EventState,
_w: &'a mut Self::Window,
_cols: &'a ColorsLinear
) -> Self::Draw<'a>
fn draw_upcast<'a>( _draw: DrawIface<'a, DS>, _ev: &'a mut EventState, _w: &'a mut Self::Window, _cols: &'a ColorsLinear ) -> Self::Draw<'a>
Construct a draw object from parts Read more
source§fn clear_color(&self) -> Rgba
fn clear_color(&self) -> Rgba
The window/scene clear color Read more
source§impl<DS> ThemeControl for MultiTheme<DS>
impl<DS> ThemeControl for MultiTheme<DS>
source§fn active_scheme(&self) -> &str
fn active_scheme(&self) -> &str
Get the name of the active color scheme
source§fn list_schemes(&self) -> Vec<&str>
fn list_schemes(&self) -> Vec<&str>
List available color schemes
source§fn get_scheme(&self, name: &str) -> Option<&ColorsSrgb>
fn get_scheme(&self, name: &str) -> Option<&ColorsSrgb>
Get colors of a named scheme
source§fn get_colors(&self) -> &ColorsLinear
fn get_colors(&self) -> &ColorsLinear
Access the in-use color scheme
source§fn set_colors(&mut self, name: String, cols: ColorsLinear) -> Action
fn set_colors(&mut self, name: String, cols: ColorsLinear) -> Action
Set colors directly Read more
Auto Trait Implementations§
impl<DS> !RefUnwindSafe for MultiTheme<DS>
impl<DS> !Send for MultiTheme<DS>
impl<DS> !Sync for MultiTheme<DS>
impl<DS> Unpin for MultiTheme<DS>
impl<DS> !UnwindSafe for MultiTheme<DS>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
source§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
source§fn cast_approx(self) -> T
fn cast_approx(self) -> T
source§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
source§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
source§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
source§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<DS, T> ThemeDst<DS> for Twhere
DS: DrawSharedImpl,
T: Theme<DS>,
impl<DS, T> ThemeDst<DS> for Twhere
DS: DrawSharedImpl,
T: Theme<DS>,
source§fn config(&self) -> MaybeBoxed<'_, dyn Any + 'static>
fn config(&self) -> MaybeBoxed<'_, dyn Any + 'static>
Get current configuration
source§fn apply_config(&mut self, config: &(dyn Any + 'static)) -> Action
fn apply_config(&mut self, config: &(dyn Any + 'static)) -> Action
Apply/set the passed config
source§fn init(&mut self, shared: &mut SharedState<DS>)
fn init(&mut self, shared: &mut SharedState<DS>)
Theme initialisation Read more
source§fn new_window(&self, dpi_factor: f32) -> Box<dyn Window>
fn new_window(&self, dpi_factor: f32) -> Box<dyn Window>
Construct per-window storage Read more
source§fn update_window(&self, window: &mut (dyn Window + 'static), dpi_factor: f32)
fn update_window(&self, window: &mut (dyn Window + 'static), dpi_factor: f32)
Update a window created by
Theme::new_window Read morefn draw<'b>( &'b self, draw: DrawIface<'b, DS>, ev: &'b mut EventState, window: &'b mut (dyn Window + 'static) ) -> Box<dyn ThemeDraw + 'b>
source§fn clear_color(&self) -> Rgba
fn clear_color(&self) -> Rgba
Background colour Read more