Struct nannou::ui::prelude::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<(Direction, &'a [(NodeIndex<u32>, Canvas<'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<(Direction, &'a [(NodeIndex<u32>, Canvas<'a>)])>
A list of child Canvasses as splits of this Canvas flowing in the given direction.
Methods
impl<'a> Canvas<'a>
[src]
impl<'a> Canvas<'a>
pub fn new() -> Canvas<'a>
[src]
pub fn new() -> Canvas<'a>
Construct a new Canvas builder.
pub fn title_bar(self, title_bar: &'a str) -> Canvas<'a>
[src]
pub fn title_bar(self, title_bar: &'a str) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
pub fn pad_left(self, pad_left: f64) -> Canvas<'a>
[src]
pub fn pad_left(self, pad_left: f64) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
pub fn pad_right(self, pad_right: f64) -> Canvas<'a>
[src]
pub fn pad_right(self, pad_right: f64) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
pub fn pad_bottom(self, pad_bottom: f64) -> Canvas<'a>
[src]
pub fn pad_bottom(self, pad_bottom: f64) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
pub fn pad_top(self, pad_top: f64) -> Canvas<'a>
[src]
pub fn pad_top(self, pad_top: f64) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
pub fn with_style(self, with_style: Style) -> Canvas<'a>
[src]
pub fn with_style(self, with_style: Style) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
pub fn length(self, length: f64) -> Canvas<'a>
[src]
pub fn length(self, length: f64) -> Canvas<'a>
Set the length of the Split as an absolute scalar.
pub fn length_weight(self, weight: f64) -> Canvas<'a>
[src]
pub fn length_weight(self, weight: f64) -> Canvas<'a>
Set the length of the Split as a weight.
The default length weight for each widget is 1.0
.
pub fn flow_right(
self,
splits: &'a [(NodeIndex<u32>, Canvas<'a>)]
) -> Canvas<'a>
[src]
pub fn flow_right(
self,
splits: &'a [(NodeIndex<u32>, Canvas<'a>)]
) -> Canvas<'a>
Set the child Canvasses flowing to the right.
pub fn flow_left(self, splits: &'a [(NodeIndex<u32>, Canvas<'a>)]) -> Canvas<'a>
[src]
pub fn flow_left(self, splits: &'a [(NodeIndex<u32>, Canvas<'a>)]) -> Canvas<'a>
Set the child Canvasses flowing to the left.
pub fn flow_up(self, splits: &'a [(NodeIndex<u32>, Canvas<'a>)]) -> Canvas<'a>
[src]
pub fn flow_up(self, splits: &'a [(NodeIndex<u32>, Canvas<'a>)]) -> Canvas<'a>
Set the child Canvasses flowing upwards.
pub fn flow_down(self, splits: &'a [(NodeIndex<u32>, Canvas<'a>)]) -> Canvas<'a>
[src]
pub fn flow_down(self, splits: &'a [(NodeIndex<u32>, Canvas<'a>)]) -> Canvas<'a>
Set the child Canvasses flowing downwards.
pub fn pad(self, pad: f64) -> Canvas<'a>
[src]
pub fn pad(self, pad: f64) -> Canvas<'a>
Set the padding for all edges of the area where child widgets will be placed.
pub fn padding(self, pad: Padding) -> Canvas<'a>
[src]
pub fn padding(self, pad: Padding) -> Canvas<'a>
Set the padding of the area where child widgets will be placed.
pub fn title_bar_color(self, color: Color) -> Canvas<'a>
[src]
pub fn title_bar_color(self, color: Color) -> Canvas<'a>
Set the color of the Canvas
' TitleBar
if it is visible.
Trait Implementations
impl<'a> Widget for Canvas<'a>
[src]
impl<'a> Widget for Canvas<'a>
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 init_state(&self, id_gen: Generator) -> <Canvas<'a> as Widget>::State
[src]
fn init_state(&self, id_gen: Generator) -> <Canvas<'a> as Widget>::State
Return the initial State of the Widget. Read more
fn style(&self) -> <Canvas<'a> as Widget>::Style
[src]
fn style(&self) -> <Canvas<'a> as Widget>::Style
Return the styling of the widget. Read more
fn default_x_position(&self, _ui: &Ui) -> Position
[src]
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
[src]
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: [f64; 2], style: &Style, theme: &Theme) -> Option<Rect>
[src]
fn drag_area(&self, dim: [f64; 2], 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<Canvas<'a>>) -> KidArea
[src]
fn kid_area(&self, args: KidAreaArgs<Canvas<'a>>) -> KidArea
The area of the widget below the title bar, upon which child widgets will be placed.
fn update(self, args: UpdateArgs<Canvas<'a>>)
[src]
fn update(self, args: UpdateArgs<Canvas<'a>>)
Update the state of the Canvas.
fn default_x_dimension(&self, ui: &Ui) -> Dimension
[src]
fn default_x_dimension(&self, ui: &Ui) -> Dimension
The default width for the Widget. Read more
fn default_y_dimension(&self, ui: &Ui) -> Dimension
[src]
fn default_y_dimension(&self, ui: &Ui) -> Dimension
The default height of the widget. Read more
fn is_over(&self) -> fn(&Container, [f64; 2], &Theme) -> IsOver
[src]
fn is_over(&self) -> fn(&Container, [f64; 2], &Theme) -> IsOver
Returns either of the following: Read more
fn parent(self, parent_id: NodeIndex<u32>) -> Self
[src]
fn parent(self, parent_id: NodeIndex<u32>) -> Self
Set the parent widget for this Widget by passing the WidgetId of the parent. Read more
fn no_parent(self) -> Self
[src]
fn no_parent(self) -> Self
Specify that this widget has no parent widgets.
fn place_on_kid_area(self, b: bool) -> Self
[src]
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: NodeIndex<u32>) -> Self
[src]
fn graphics_for(self, id: NodeIndex<u32>) -> 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
[src]
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
[src]
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
[src]
fn scroll_kids(self) -> Self
Makes the widget's KidArea
scrollable. Read more
fn scroll_kids_vertically(self) -> Self
[src]
fn scroll_kids_vertically(self) -> Self
Makes the widget's KidArea
scrollable. Read more
fn scroll_kids_horizontally(self) -> Self
[src]
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,
[src]
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),
[src]
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,
[src]
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,
[src]
fn and_then<T, F>(self, maybe: Option<T>, build: F) -> Self where
F: FnOnce(Self, T) -> Self,
A method that optionally builds the Widget with the given build
function. Read more
fn set(self, id: NodeIndex<u32>, ui_cell: &'a mut UiCell<'b>) -> Self::Event
[src]
fn set(self, id: NodeIndex<u32>, ui_cell: &'a mut UiCell<'b>) -> Self::Event
Note: There should be no need to override this method. Read more
impl<'a> Common for Canvas<'a>
[src]
impl<'a> Common for Canvas<'a>
fn common(&self) -> &CommonBuilder
[src]
fn common(&self) -> &CommonBuilder
Borrows the CommonBuilder
field.
fn common_mut(&mut self) -> &mut CommonBuilder
[src]
fn common_mut(&mut self) -> &mut CommonBuilder
Mutably borrows the CommonBuilder
field.
impl<'a> Clone for Canvas<'a>
[src]
impl<'a> Clone for Canvas<'a>
fn clone(&self) -> 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[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'a> Colorable for Canvas<'a>
[src]
impl<'a> Colorable for Canvas<'a>
fn color(self, color: Color) -> Canvas<'a>
[src]
fn color(self, color: Color) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
fn rgba(self, r: f32, g: f32, b: f32, a: f32) -> Self
[src]
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
[src]
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
[src]
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
[src]
fn hsl(self, h: f32, s: f32, l: f32) -> Self
Set the color of the widget from hsl values.
impl<'a> Debug for Canvas<'a>
[src]
impl<'a> Debug for Canvas<'a>
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl<'a> Labelable<'a> for Canvas<'a>
[src]
impl<'a> Labelable<'a> for Canvas<'a>
fn label(self, text: &'a str) -> Canvas<'a>
[src]
fn label(self, text: &'a str) -> Canvas<'a>
Set the label for the widget.
fn label_color(self, label_color: Color) -> Canvas<'a>
[src]
fn label_color(self, label_color: Color) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
fn label_font_size(self, label_font_size: u32) -> Canvas<'a>
[src]
fn label_font_size(self, label_font_size: u32) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
fn label_rgba(self, r: f32, g: f32, b: f32, a: f32) -> Self
[src]
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
[src]
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
[src]
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
[src]
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
[src]
fn small_font(self, ui: &Ui) -> Self
Set a "small" font size for the widget's label.
fn medium_font(self, ui: &Ui) -> Self
[src]
fn medium_font(self, ui: &Ui) -> Self
Set a "medium" font size for the widget's label.
fn large_font(self, ui: &Ui) -> Self
[src]
fn large_font(self, ui: &Ui) -> Self
Set a "large" font size for the widget's label.
impl<'a> Copy for Canvas<'a>
[src]
impl<'a> Copy for Canvas<'a>
impl<'a> Borderable for Canvas<'a>
[src]
impl<'a> Borderable for Canvas<'a>
fn border(self, border: f64) -> Canvas<'a>
[src]
fn border(self, border: f64) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
fn border_color(self, border_color: Color) -> Canvas<'a>
[src]
fn border_color(self, border_color: Color) -> Canvas<'a>
Build the type's self.$($assignee).+ with the given $Type.
fn border_rgba(self, r: f32, g: f32, b: f32, a: f32) -> Self
[src]
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
[src]
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
[src]
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
[src]
fn border_hsl(self, h: f32, s: f32, l: f32) -> Self
Set the color of the widget's border with hsl values.