Struct conrod::Polygon [] [src]

pub struct Polygon<I> {
    pub points: I,
    pub common: CommonBuilder,
    pub style: Style,
    pub maybe_shift_to_centre_from: Option<Point>,
}

A basic, non-interactive, arbitarry Polygon widget.

The Polygon is described by specifying its corners in order.

Polygon will automatically close all shapes, so the given list of points does not need to start and end with the same position.

Fields

points: I

The points describing the corners of the Polygon.

common: CommonBuilder

Data necessary and common for all widget builder types.

style: Style

Unique styling for the Polygon.

maybe_shift_to_centre_from: Option<Point>

Whether or not the points should be automatically centred to the widget position.

Methods

impl<I> Polygon<I>
[src]

fn styled(points: I, style: Style) -> Self

Build a polygon with the given points and style.

fn fill(points: I) -> Self

Build a Polygon with the default Fill style.

fn fill_with(points: I, color: Color) -> Self

Build a Polygon Filled with the given Color.

fn outline(points: I) -> Self

Build a Polygon with the default Outline style.

fn outline_styled(points: I, style: LineStyle) -> Self

Build a Polygon Outlineed with the given line style.

fn abs_styled(points: I, style: Style) -> Self where I: IntoIterator<Item=Point> + Clone

Build a new filled Polygon whose bounding box is fit to the absolute co-ordinates of the points.

This requires that the points iterator is Clone so that we may iterate through and determine the bounding box of the points.

If you would rather centre the points to the middle of the bounding box, use the Polygon::centred methods instead.

fn abs_fill(points: I) -> Self where I: IntoIterator<Item=Point> + Clone

The same as Polygon::abs_styled but builds the Polygon with the default Fill style.

fn abs_fill_with(points: I, color: Color) -> Self where I: IntoIterator<Item=Point> + Clone

The same as Polygon::abs_styled but builds the Polygon Filled with the given Color.

fn abs_outline(points: I) -> Self where I: IntoIterator<Item=Point> + Clone

The same as Polygon::abs_styled but builds the Polygon with the default Outline style.

fn abs_outline_styled(points: I, style: LineStyle) -> Self where I: IntoIterator<Item=Point> + Clone

The same as Polygon::abs_styled but builds the Polygon with the given Outline styling.

fn centred_styled(points: I, style: Style) -> Self where I: IntoIterator<Item=Point> + Clone

Build a new Polygon and shift the location of the points so that the centre of their bounding rectangle lies at the position determined for the Polygon widget.

This is useful if your points simply describe a shape and you want to position them using conrod's auto-layout and/or Positionable methods.

If you would rather centre the bounding box to the points, use the Polygon::abs constructor method instead.

fn centred_fill(points: I) -> Self where I: IntoIterator<Item=Point> + Clone

The same as Polygon::centred_styled but constructs the Polygon with the default Fill style.

fn centred_fill_with(points: I, color: Color) -> Self where I: IntoIterator<Item=Point> + Clone

The same as Polygon::centred_styled but constructs the Polygon Filled with the given color.

fn centred_outline(points: I) -> Self where I: IntoIterator<Item=Point> + Clone

The same as Polygon::centred_styled but constructs the Polygon with the default Outline style.

fn centred_outline_styled(points: I, style: LineStyle) -> Self where I: IntoIterator<Item=Point> + Clone

The same as Polygon::centred_styled but constructs the Polygon Outlined with the given styling.

Trait Implementations

impl<I: Debug> Debug for Polygon<I>
[src]

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

Formats the value using the given formatter.

impl<I: Clone> Clone for Polygon<I>
[src]

fn clone(&self) -> Polygon<I>

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<I: Copy> Copy for Polygon<I>
[src]

impl<I> Widget for Polygon<I> where I: IntoIterator<Item=Point>
[src]

type State = State

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

type Style = Style

Styling used by the widget to draw its graphics. 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. 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 update<C: CharacterCache>(self, args: UpdateArgs<Self, C>)

Update the state of the Polygon.

fn default_x_position<C: CharacterCache>(&self, ui: &Ui<C>) -> Position

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

fn default_y_position<C: CharacterCache>(&self, ui: &Ui<C>) -> Position

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

fn default_x_dimension<C: CharacterCache>(&self, ui: &Ui<C>) -> Dimension

The default width for the Widget. Read more

fn default_y_dimension<C: CharacterCache>(&self, ui: &Ui<C>) -> Dimension

The default height of the widget. Read more

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, 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 picking_passthrough(self, passthrough: bool) -> Self

Whether or not the widget should be considered when picking the topmost widget at a position. Read more

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 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

impl<I> Colorable for Polygon<I>
[src]

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

Set the color of the widget.

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.