Struct conrod::UiCell [] [src]

pub struct UiCell<'a, C: 'a> {
    // some fields omitted
}

A wrapper around a Ui that only exposes the functionality necessary for the Widget::update method. Its primary role is to allow for widget designers to compose their own unique Widgets from other Widgets by calling the Widget::set method within their own Widget's update method. It also provides methods for accessing the Ui's Theme, GlyphCache and UserInput via immutable reference.

BTW - if you have a better name for this type, please post an issue or PR! "Cell" was the best I could come up with as it's kind of like a jail cell for the Ui - restricting a user's access to it.

Methods

impl<'a, C> UiCell<'a, C>
[src]

fn theme(&self) -> &Theme

A reference to the Theme that is currently active within the Ui.

fn glyph_cache(&self) -> &GlyphCache<C>

A reference to the Ui's GlyphCache.

fn input(&self) -> UserInput

A struct representing the user input that has occurred since the last update.

fn input_for<I: Into<Index>>(&self, idx: I) -> UserInput

A struct representing the user input that has occurred since the last update for the Widget with the given index..

fn new_unique_node_index(&mut self) -> NodeIndex

Generate a new, unique NodeIndex into a Placeholder node within the Ui's widget graph. This should only be called once for each unique widget needed to avoid unnecessary bloat within the Ui's widget graph.

When using this method in your Widget's update method, be sure to store the returned NodeIndex somewhere within your Widget::State so that it can be re-used on next update.