Struct conrod::widget::canvas::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> Copy for Canvas<'a>
[src]
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> Debug for Canvas<'a>
[src]
impl<'a> Widget for Canvas<'a>
[src]
type State = State
State to be stored within the Ui
s 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
type Event = ()
The type of event yielded by the widget, returned via the Widget::set
function. 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 init_state(&self, id_gen: Generator) -> Self::State
Return the initial State of the Widget. Read more
fn style(&self) -> Self::Style
Return the styling of the widget. Read more
fn default_x_position(&self, _ui: &Ui) -> Position
The default Position for the widget along the x axis. Read more
fn default_y_position(&self, _ui: &Ui) -> 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>
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(&self, args: KidAreaArgs<Self>) -> KidArea
The area of the widget below the title bar, upon which child widgets will be placed.
fn update(self, args: UpdateArgs<Self>)
Update the state of the Canvas.
fn default_x_dimension(&self, ui: &Ui) -> Dimension
The default width for the Widget. Read more
fn default_y_dimension(&self, ui: &Ui) -> Dimension
The default height of the widget. Read more
fn parent(self, parent_id: Id) -> 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(self, id: Id) -> 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>(self, id: Id, ui_cell: &'a mut UiCell<'b>) -> Self::Event
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> Borderable for Canvas<'a>
[src]
fn border(self, border: Scalar) -> Self
Build the type's self.$($assignee).+ with the given $Type.
fn border_color(self, border_color: Color) -> Self
Build the type's self.$($assignee).+ with the given $Type.
fn border_rgba(self, r: f32, g: f32, b: f32, a: f32) -> Self
Set the color of the widget's border with rgba values.
fn border_rgb(self, r: f32, g: f32, b: f32) -> Self
Set the color of the widget's border with rgb values.
fn border_hsla(self, h: f32, s: f32, l: f32, a: f32) -> Self
Set the color of the widget's border with hsla values.
fn border_hsl(self, h: f32, s: f32, l: f32) -> Self
Set the color of the widget's border 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(self, ui: &Ui) -> Self
Set a "small" font size for the widget's label.
fn medium_font(self, ui: &Ui) -> Self
Set a "medium" font size for the widget's label.
fn large_font(self, ui: &Ui) -> Self
Set a "large" font size for the widget's label.