[][src]Struct druid::Key

pub struct Key<T> { /* fields omitted */ }

A typed Env key.

This lets you retrieve values of a given type. The parameter implements ValueType. For "expensive" types, this is a reference, so the type for a string is Key<&str>.

Examples

const IMPORTANT_LABEL_COLOR: Key<Color> = Key::new("my-app.important-label-color");

fn important_label() -> Label<()> {
    Label::new("Warning!").with_text_color(IMPORTANT_LABEL_COLOR)
}

fn main() {
    let main_window = WindowDesc::new(important_label);

    AppLauncher::with_window(main_window)
        .configure_env(|env, _state| {
            // The `Key` must be set before it is used.
            env.set(IMPORTANT_LABEL_COLOR, Color::rgb(1.0, 0.0, 0.0));
        });
}

Implementations

impl<T> Key<T>[src]

pub const fn new(key: &'static str) -> Self[src]

Create a new strongly typed Key with the given string value. The type of the key will be inferred.

Examples

use druid::Key;
use druid::piet::Color;

let float_key: Key<f64> = Key::new("a.very.good.float");
let color_key: Key<Color> = Key::new("a.very.nice.color");

impl Key<()>[src]

pub const fn untyped(key: &'static str) -> Self[src]

Create an untyped Key with the given string value.

WARNING: This is not for general usage - it's only useful for inspecting the contents of an Env - this is expected to be used for debugging, loading, and manipulating themes.

Trait Implementations

impl<T> From<Key<Color>> for BackgroundBrush<T>[src]

impl<T> From<Key<T>> for String[src]

impl<'a, T: ValueType<'a>> From<Key<T>> for KeyOrValue<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Key<T> where
    T: RefUnwindSafe

impl<T> !Send for Key<T>

impl<T> !Sync for Key<T>

impl<T> Unpin for Key<T>

impl<T> UnwindSafe for Key<T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> RoundFrom<T> for T

impl<T, U> RoundInto<U> for T where
    U: RoundFrom<T>, 

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.