Struct conrod::WidgetMatrix [] [src]

pub struct WidgetMatrix<F> {
    // some fields omitted
}

Draw a matrix of any rectangular widget type, where the matrix will provide a function with the widget number, it's rows and cols position, the width and height for the widget and the location at which the widget should be drawn.

Methods

impl<F> Matrix<F>
[src]

fn new(cols: usize, rows: usize) -> Matrix<F>

Create a widget matrix context.

fn each_widget(self, each_widget: F) -> Matrix<F>

The function that will be called for each and every element in the Matrix. The function should return the widget that will be displayed in the element associated with the given row and column number. Note that the returned Widget's position and dimensions will be overridden with the dimensions and position of the matrix element's rectangle.

fn cell_padding(self, w: Scalar, h: Scalar) -> Matrix<F>

A builder method for adding padding to the cell.

Trait Implementations

impl<F: Clone> Clone for Matrix<F>
[src]

fn clone(&self) -> Matrix<F>

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl<F: Copy> Copy for Matrix<F>
[src]

impl<'a, F, W> Widget for Matrix<F> where W: Widget, F: FnMut(WidgetNum, ColNum, RowNum) -> W
[src]

type State = State

State to be stored within the Uis widget cache. Take advantage of this type for any large allocations that you would like to avoid repeating between updates, or any calculations that you'd like to avoid repeating between calls to update and draw. Conrod will never clone the state, it will only ever be moved. Read more

type Style = Style

Styling used by the widget to construct an Element. Styling is useful to have in its own abstraction in order to making Theme serializing easier. Conrod doesn't yet support serializing non-internal widget styling with the Theme type, but we hope to soon. Read more

fn common(&self) -> &CommonBuilder

Return a reference to a CommonBuilder struct owned by the Widget. This method allows us to do a blanket impl of Positionable and Sizeable for T: Widget. Read more

fn common_mut(&mut self) -> &mut CommonBuilder

Return a mutable reference to a CommonBuilder struct owned by the Widget. This method allows us to do a blanket impl of Positionable and Sizeable for T: Widget. Read more

fn unique_kind(&self) -> &'static str

Return the kind of the widget as a &'static str. Note that this must be unique from all other widgets' "unique kinds". This is used by conrod to help avoid WidgetId errors and to provide better messages for those that do occur. Read more

fn init_state(&self) -> State

Return the initial State of the Widget. The Ui will only call this once.

fn style(&self) -> Style

Return the styling of the widget. The Ui will call this once prior to each update. It does this so that it can check for differences in Style in case a new Element needs to be constructed. Read more

fn default_width<C: CharacterCache>(&self, theme: &Theme, _: &GlyphCache<C>) -> Scalar

The default width of the widget. A reference to the GlyphCache is provided in case the width should adjust to some text len. This method is only used if no width or dimensions are given. Read more

fn default_height(&self, theme: &Theme) -> Scalar

The default height of the widget. This method is only used if no height or dimensions are given. Read more

fn update<C>(self, args: UpdateArgs<Self, C>) -> Option<State> where C: CharacterCache

Update the state of the Matrix.

fn draw<C>(_args: DrawArgs<Self, C>) -> Element where C: CharacterCache

Construct an Element from the given DropDownList State.

fn default_position(&self, _theme: &Theme) -> Position

The default Position for the widget. This is used when no Position is explicitly given when instantiating the Widget. Read more

fn default_h_align(&self, theme: &Theme) -> HorizontalAlign

The default horizontal alignment for the widget. This is used when no HorizontalAlign is explicitly given when instantiating a Widget. Read more

fn default_v_align(&self, theme: &Theme) -> VerticalAlign

The default vertical alignment for the widget. This is used when no VerticalAlign is explicitly given when instantiating a Widget. Read more

fn capture_mouse(_prev: &Self::State, _new: &Self::State) -> bool

Optionally override with the case that the widget should capture the mouse.

fn uncapture_mouse(_prev: &Self::State, _new: &Self::State) -> bool

Optionally override with the case that the widget should capture the mouse.

fn capture_keyboard(_prev: &Self::State, _new: &Self::State) -> bool

Optionally override with the case that the widget should capture the mouse.

fn uncapture_keyboard(_prev: &Self::State, _new: &Self::State) -> bool

Optionally override with the case that the widget should capture the mouse.

fn drag_area(&self, _dim: Dimensions, _style: &Self::Style, _theme: &Theme) -> Option<Rect>

If the widget is draggable, implement this method and return the position an dimensions of the draggable space. The position should be relative to the center of the widget. Read more

fn kid_area<C: CharacterCache>(&self, args: KidAreaArgs<Self, C>) -> KidArea

The area on which child widgets will be placed when using the Place Position methods.

fn parent<I: Into<Index>>(self, maybe_parent_idx: Option<I>) -> Self

Set the parent widget for this Widget by passing the WidgetId of the parent. This will attach this Widget to the parent widget. Read more

fn floating(self, is_floating: bool) -> Self

Set whether or not the widget is floating (the default is false). A typical example of a floating widget would be a pop-up or alert window. Read more

fn scrolling(self, scrollable: bool) -> Self

Set whether or not the widget's KidArea is scrollable (the default is false). If a widget is scrollable and it has children widgets that fall outside of its KidArea, the KidArea will become scrollable. Read more

fn vertical_scrolling(self, scrollable: bool) -> Self

Set whether or not the widget's KidArea is scrollable (the default is false). If a widget is scrollable and it has children widgets that fall outside of its KidArea, the KidArea will become scrollable. Read more

fn horizontal_scrolling(self, scrollable: bool) -> Self

Set whether or not the widget's KidArea is scrollable (the default is false). If a widget is scrollable and it has children widgets that fall outside of its KidArea, the KidArea will become scrollable. Read more

fn set<I, U>(self, idx: I, ui: &mut U) where I: Into<Index>, U: UiRefMut

Note: There should be no need to override this method. Read more