Struct conrod::Canvas [] [src]

pub struct Canvas<'a> {
    pub common: CommonBuilder,
    pub style: Style,
    pub maybe_title_bar_label: Option<&'a str>,
    pub maybe_splits: Option<FlowOfSplits<'a>>,
}

Canvas is designed to be a "container"-like "parent" widget that simplifies placement of "children" widgets.

Widgets can be placed on a Canvas in a variety of ways using methods from the Positionable trait.

Canvas provides methods for padding the kid widget area which can make using the Place-related Positionable methods a little easier.

A Canvas can also be divided into a sequence of smaller Canvasses using the .flow_* methods. This creates a kind of Canvas tree, where each "split" can be sized using the .length or .length_weight methods.

See the canvas.rs example for a demonstration of the Canvas type.

Fields

common: CommonBuilder

Data necessary and common for all widget builder types.

style: Style

The builder data related to the style of the Canvas.

maybe_title_bar_label: Option<&'a str>

The label for the Canvas' TitleBar if there is one.

maybe_splits: Option<FlowOfSplits<'a>>

A list of child Canvasses as splits of this Canvas flowing in the given direction.

Methods

impl<'a> Canvas<'a>
[src]

fn new() -> Self

Construct a new Canvas builder.

fn title_bar(self, title_bar: &'a str) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn pad_left(self, pad_left: Scalar) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn pad_right(self, pad_right: Scalar) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn pad_bottom(self, pad_bottom: Scalar) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn pad_top(self, pad_top: Scalar) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn with_style(self, with_style: Style) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn length(self, length: Scalar) -> Self

Set the length of the Split as an absolute scalar.

fn length_weight(self, weight: Weight) -> Self

Set the length of the Split as a weight.

The default length weight for each widget is 1.0.

fn flow_right(self, splits: ListOfSplits<'a>) -> Self

Set the child Canvasses flowing to the right.

fn flow_left(self, splits: ListOfSplits<'a>) -> Self

Set the child Canvasses flowing to the left.

fn flow_up(self, splits: ListOfSplits<'a>) -> Self

Set the child Canvasses flowing upwards.

fn flow_down(self, splits: ListOfSplits<'a>) -> Self

Set the child Canvasses flowing downwards.

fn pad(self, pad: Scalar) -> Self

Set the padding for all edges of the area where child widgets will be placed.

fn padding(self, pad: Padding) -> Self

Set the padding of the area where child widgets will be placed.

fn title_bar_color(self, color: Color) -> Self

Set the color of the Canvas' TitleBar if it is visible.

Trait Implementations

impl<'a> Debug for Canvas<'a>
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<'a> Clone for Canvas<'a>
[src]

fn clone(&self) -> Canvas<'a>

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<'a> Copy for Canvas<'a>
[src]

impl<'a> Widget for Canvas<'a>
[src]

type State = State

State to be stored within the Uis widget cache. Read more

type Style = Style

Every widget is required to have its own associated Style type. This type is intended to contain high-level styling information for the widget that can be optionally specified by a user of the widget. 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) -> Kind

Return the kind of the widget as a &'static str. Read more

fn init_state(&self) -> State

Return the initial State of the Widget. Read more

fn style(&self) -> Style

Return the styling of the widget. Read more

fn default_x_position<B: Backend>(&self, _ui: &Ui<B>) -> Position

The default Position for the widget along the x axis. Read more

fn default_y_position<B: Backend>(&self, _ui: &Ui<B>) -> Position

The default Position for the widget along the y axis. Read more

fn drag_area(&self, dim: Dimensions, style: &Style, theme: &Theme) -> Option<Rect>

The title bar area at which the Canvas can be clicked and dragged.

Note: the position of the returned Rect should be relative to the center of the widget.

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

The area of the widget below the title bar, upon which child widgets will be placed.

fn update<B: Backend>(self, args: UpdateArgs<Self, B>)

Update the state of the Canvas.

fn default_x_dimension<B: Backend>(&self, ui: &Ui<B>) -> Dimension

The default width for the Widget. Read more

fn default_y_dimension<B: Backend>(&self, ui: &Ui<B>) -> Dimension

The default height of the widget. Read more

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

Set the parent widget for this Widget by passing the WidgetId of the parent. Read more

fn no_parent(self) -> Self

Specify that this widget has no parent widgets.

fn place_on_kid_area(self, b: bool) -> Self

Set whether or not the Widget should be placed on the kid_area. Read more

fn graphics_for<I: Into<Index>>(self, idx: I) -> Self

Indicates that the Widget is used as a non-interactive graphical element for some other 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 crop_kids(self) -> Self

Indicates that all widgets who are children of this widget should be cropped to the kid_area of this widget. Read more

fn scroll_kids(self) -> Self

Makes the widget's KidArea scrollable. Read more

fn scroll_kids_vertically(self) -> Self

Makes the widget's KidArea scrollable. Read more

fn scroll_kids_horizontally(self) -> Self

Set whether or not the widget's KidArea is scrollable (the default is false). Read more

fn and<F>(self, build: F) -> Self where F: FnOnce(Self) -> Self

A builder method that "lifts" the Widget through the given build function. Read more

fn and_mut<F>(self, mutate: F) -> Self where F: FnOnce(&mut Self)

A builder method that mutates the Widget with the given mutate function. Read more

fn and_if<F>(self, cond: bool, build: F) -> Self where F: FnOnce(Self) -> Self

A method that conditionally builds the Widget with the given build function. Read more

fn and_then<T, F>(self, maybe: Option<T>, build: F) -> Self where F: FnOnce(Self, T) -> Self

A method that optionally builds the the Widget with the given build function. Read more

fn set<'a, 'b, I, B>(self, idx: I, ui_cell: &'a mut UiCell<'b, B>) where I: Into<Index>, B: Backend

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

impl<'a> Colorable for Canvas<'a>
[src]

fn color(self, color: Color) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn rgba(self, r: f32, g: f32, b: f32, a: f32) -> Self

Set the color of the widget from rgba values.

fn rgb(self, r: f32, g: f32, b: f32) -> Self

Set the color of the widget from rgb values.

fn hsla(self, h: f32, s: f32, l: f32, a: f32) -> Self

Set the color of the widget from hsla values.

fn hsl(self, h: f32, s: f32, l: f32) -> Self

Set the color of the widget from hsl values.

impl<'a> Frameable for Canvas<'a>
[src]

fn frame(self, frame: Scalar) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn frame_color(self, frame_color: Color) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn frame_rgba(self, r: f32, g: f32, b: f32, a: f32) -> Self

Set the color of the widget's frame with rgba values.

fn frame_rgb(self, r: f32, g: f32, b: f32) -> Self

Set the color of the widget's frame with rgb values.

fn frame_hsla(self, h: f32, s: f32, l: f32, a: f32) -> Self

Set the color of the widget's frame with hsla values.

fn frame_hsl(self, h: f32, s: f32, l: f32) -> Self

Set the color of the widget's frame with hsl values.

impl<'a> Labelable<'a> for Canvas<'a>
[src]

fn label(self, text: &'a str) -> Self

Set the label for the widget.

fn label_color(self, label_color: Color) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn label_font_size(self, label_font_size: FontSize) -> Self

Build the type's self.$($assignee).+ with the given $Type.

fn label_rgba(self, r: f32, g: f32, b: f32, a: f32) -> Self

Set the color of the widget's label from rgba values.

fn label_rgb(self, r: f32, g: f32, b: f32) -> Self

Set the color of the widget's label from rgb values.

fn label_hsla(self, h: f32, s: f32, l: f32, a: f32) -> Self

Set the color of the widget's label from hsla values.

fn label_hsl(self, h: f32, s: f32, l: f32) -> Self

Set the color of the widget's label from hsl values.

fn small_font<B: Backend>(self, ui: &Ui<B>) -> Self

Set a "small" font size for the widget's label.

fn medium_font<B: Backend>(self, ui: &Ui<B>) -> Self

Set a "medium" font size for the widget's label.

fn large_font<B: Backend>(self, ui: &Ui<B>) -> Self

Set a "large" font size for the widget's label.