Struct conrod::UiCell
[−]
[src]
pub struct UiCell<'a> { /* fields omitted */ }
A wrapper around the Ui
that restricts the user from mutating the Ui
in certain ways while
in the scope of the Ui::set_widgets
function and within Widget
s' update
methods. Using
the UiCell
, users may access the Ui
immutably (via Deref
) however they wish, however they
may only mutate the Ui
via the &mut self
methods provided by the UiCell
.
The name came from its likening to a "jail cell for the Ui
", as it restricts a user's access
to it. However, we realise that the name may also cause ambiguity with the std Cell
and
RefCell
types (which UiCell
has nothing to do with). Thus, if you have a better name for
this type in mind, please let us know at the github repo via an issue or PR sometime before we
hit 1.0.0!
Methods
impl<'a> UiCell<'a>
[src]
fn theme(&self) -> &Theme
[src]
A reference to the Theme
that is currently active within the Ui
.
fn font(&self, id: Id) -> Option<&Font>
[src]
A convenience method for borrowing the Font
for the given Id
if it exists.
fn window_dim(&self) -> Dimensions
[src]
Returns the dimensions of the window
fn global_input(&self) -> &Global
[src]
Returns an immutable reference to the input::Global
of the Ui
.
All coordinates here will be relative to the center of the window.
fn widget_input(&self, id: Id) -> Widget
[src]
Returns a input::Widget
with input events for the widget.
All coordinates in the input::Widget
will be relative to the widget at the given index.
fn widget_id_generator(&mut self) -> Generator
[src]
Produces a type that may be used to generate new unique widget::Id
s.
See the widget::id::Generator docs for details on how to use this correctly.
fn kids_bounding_box(&self, id: Id) -> Option<Rect>
[src]
The Rect that bounds the kids of the widget with the given index.
Returns None
if the widget has no children or if there's is no widget for the given index.
fn scroll_widget(&mut self, id: Id, offset: [Scalar; 2])
[src]
Scroll the widget at the given index by the given offset amount.
The produced Scroll
event will be pushed to the pending_scroll_events
and will be
applied to the widget during the next call to Ui::set_widgets
.
fn set_mouse_cursor(&mut self, cursor: MouseCursor)
[src]
Sets the mouse cursor
Methods from Deref<Target = Ui>
fn widget_input(&self, widget: Id) -> Widget
[src]
Returns a input::Widget
for the given widget
fn rect_of(&self, id: Id) -> Option<Rect>
[src]
The Rect for the widget at the given index.
Returns None
if there is no widget for the given index.
fn w_of(&self, id: Id) -> Option<Scalar>
[src]
The absolute width of the widget at the given index.
Returns None
if there is no widget for the given index.
fn h_of(&self, id: Id) -> Option<Scalar>
[src]
The absolute height of the widget at the given index.
Returns None
if there is no widget for the given index.
fn wh_of(&self, id: Id) -> Option<Dimensions>
[src]
The absolute dimensions for the widget at the given index.
Returns None
if there is no widget for the given index.
fn xy_of(&self, id: Id) -> Option<Point>
[src]
The coordinates for the widget at the given index.
Returns None
if there is no widget for the given index.
fn kid_area_of(&self, id: Id) -> Option<Rect>
[src]
The kid_area
of the widget at the given index.
Returns None
if there is no widget for the given index.
fn maybe_prev_widget(&self) -> Option<Id>
[src]
An index to the previously updated widget if there is one.
fn widget_graph(&self) -> &Graph
[src]
Borrow the Ui's widget_graph
.
fn updated_widgets(&self) -> &FnvHashSet<Id>
[src]
Borrow the Ui's set of updated widgets.
This set indicates which widgets have been instantiated since the beginning of the most
recent Ui::set_widgets
call.
fn prev_updated_widgets(&self) -> &FnvHashSet<Id>
[src]
Borrow the Ui's set of updated widgets.
This set indicates which widgets have were instantiated during the previous call to
Ui::set_widgets
.
fn global_input(&self) -> &Global
[src]
Get an immutable reference to global input. Handles aggregation of events and providing them to Widgets
Can be used to access the current input state, e.g. which widgets are currently capturing inputs.
fn calc_xy(
&self,
maybe_id: Option<Id>,
x_position: Position,
y_position: Position,
dim: Dimensions,
place_on_kid_area: bool
) -> Point
[src]
&self,
maybe_id: Option<Id>,
x_position: Position,
y_position: Position,
dim: Dimensions,
place_on_kid_area: bool
) -> Point
Get the centred xy coords for some given Dimension
s, Position
and alignment.
If getting the xy for a specific widget, its widget::Id
should be specified so that we
can also consider the scroll offset of the scrollable parent widgets.
The place_on_kid_area
argument specifies whether or not Place Position variants
should target a Widget's kid_area
, or simply the Widget's total area.
fn needs_redraw(&self)
[src]
Tells the Ui
that it needs to re-draw everything. It does this by setting the redraw
count to num_redraw_frames
. See the docs for set_num_redraw_frames
, SAFE_REDRAW_COUNT
or draw_if_changed
for more info on how/why the redraw count is used.
fn draw(&self) -> Primitives
[src]
Draw the Ui
in it's current state.
NOTE: If you don't need to redraw your conrod GUI every frame, it is recommended to use the
Ui::draw_if_changed
method instead.
fn kids_bounding_box(&self, id: Id) -> Option<Rect>
[src]
The Rect that bounds the kids of the widget with the given index.
fn visible_area(&self, id: Id) -> Option<Rect>
[src]
The Rect that represents the maximum fully visible area for the widget with the given index, including consideration of cropped scroll area.
Otherwise, return None if the widget is not visible.
fn mouse_cursor(&self) -> MouseCursor
[src]
Get mouse cursor state.
Trait Implementations
impl<'a> Drop for UiCell<'a>
[src]
impl<'a> Deref for UiCell<'a>
[src]
type Target = Ui
The resulting type after dereferencing.
fn deref(&self) -> &Ui
[src]
Dereferences the value.