pub struct MultiTheme<DS> { /* private fields */ }Expand description
Run-time switching support for pre-loaded themes
Implementations§
Source§impl<DS> MultiTheme<DS>
impl<DS> MultiTheme<DS>
Sourcepub fn new() -> MultiTheme<DS>
pub fn new() -> MultiTheme<DS>
Construct an empty MultiTheme
At least one theme must be added before the UI starts..
Sourcepub fn add<S: ToString, T>(&mut self, name: S, theme: T) -> usizewhere
DS: DrawSharedImpl,
T: ThemeDst<DS> + 'static,
pub fn add<S: ToString, T>(&mut self, name: S, theme: T) -> usizewhere
DS: DrawSharedImpl,
T: ThemeDst<DS> + 'static,
Add a theme
Returns the index of the new theme.
Sourcepub fn set_active(&mut self, index: usize)
pub fn set_active(&mut self, index: usize)
Set the active theme
If this is not called, then the first theme added will be active.
An invalid index will cause the UI to panic on start.
Trait Implementations§
Source§impl<DS: DrawSharedImpl> Theme<DS> for MultiTheme<DS>
impl<DS: DrawSharedImpl> Theme<DS> for MultiTheme<DS>
Source§fn new_window(&mut self, config: &WindowConfig) -> Self::Window
fn new_window(&mut self, config: &WindowConfig) -> Self::Window
Construct per-window storage Read more
Source§fn update_window(
&mut self,
window: &mut Self::Window,
config: &WindowConfig,
) -> bool
fn update_window( &mut self, window: &mut Self::Window, config: &WindowConfig, ) -> bool
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
Auto Trait Implementations§
impl<DS> Freeze for MultiTheme<DS>
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 new_window(&mut self, config: &WindowConfig) -> Box<dyn Window>
fn new_window(&mut self, config: &WindowConfig) -> Box<dyn Window>
Construct per-window storage Read more
Source§fn update_window(
&mut self,
window: &mut (dyn Window + 'static),
config: &WindowConfig,
) -> bool
fn update_window( &mut self, window: &mut (dyn Window + 'static), config: &WindowConfig, ) -> bool
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