Skip to main content

MultiTheme

Struct MultiTheme 

Source
pub struct MultiTheme<DS> { /* private fields */ }
Expand description

Run-time switching support for pre-loaded themes

Implementations§

Source§

impl<DS> MultiTheme<DS>

Source

pub fn new() -> MultiTheme<DS>

Construct an empty MultiTheme

At least one theme must be added before the UI starts..

Source

pub fn add<S: ToString, T>(&mut self, name: S, theme: T) -> usize
where DS: DrawSharedImpl, T: ThemeDst<DS> + 'static,

Add a theme

Returns the index of the new theme.

Source

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>

Source§

type Window = Box<dyn Window>

The associated Window implementation.
Source§

type Draw<'a> = Box<dyn ThemeDraw + 'a>

The associated [ThemeDraw] implementation.
Source§

fn init(&mut self, config: &RefCell<Config>)

Theme initialisation Read more
Source§

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

Update a window created by Theme::new_window Read more
Source§

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 more
Source§

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

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<S, T> Cast<T> for S
where T: Conv<S>,

Source§

fn cast(self) -> T

Cast from Self to T Read more
Source§

fn try_cast(self) -> Result<T, Error>

Try converting from Self to T Read more
Source§

impl<S, T> CastApprox<T> for S
where T: ConvApprox<S>,

Source§

fn try_cast_approx(self) -> Result<T, Error>

Try approximate conversion from Self to T Read more
Source§

fn cast_approx(self) -> T

Cast approximately from Self to T Read more
Source§

impl<S, T> CastFloat<T> for S
where T: ConvFloat<S>,

Source§

fn cast_trunc(self) -> T

Cast to integer, truncating Read more
Source§

fn cast_nearest(self) -> T

Cast to the nearest integer Read more
Source§

fn cast_floor(self) -> T

Cast the floor to an integer Read more
Source§

fn cast_ceil(self) -> T

Cast the ceiling to an integer Read more
Source§

fn try_cast_trunc(self) -> Result<T, Error>

Try converting to integer with truncation Read more
Source§

fn try_cast_nearest(self) -> Result<T, Error>

Try converting to the nearest integer Read more
Source§

fn try_cast_floor(self) -> Result<T, Error>

Try converting the floor to an integer Read more
Source§

fn try_cast_ceil(self) -> Result<T, Error>

Try convert the ceiling to an integer Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<DS, T> ThemeDst<DS> for T
where DS: DrawSharedImpl, T: Theme<DS>,

Source§

fn init(&mut self, config: &RefCell<Config>)

Theme initialisation Read more
Source§

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

Update a window created by Theme::new_window Read more
Source§

fn 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

Background colour Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more