Struct nannou::ui::prelude::widget::primitive::shape::polygon::Polygon[][src]

pub struct Polygon<I> {
    pub common: CommonBuilder,
    pub points: I,
    pub style: Style,
    pub maybe_shift_to_centre_from: Option<[f64; 2]>,
}

A basic, non-interactive, arbitrary 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

common: CommonBuilder

Data necessary and common for all widget builder types.

points: I

The points describing the corners of the Polygon.

style: Style

Unique styling for the Polygon.

maybe_shift_to_centre_from: Option<[f64; 2]>

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

Implementations

impl<I> Polygon<I>[src]

pub fn styled(points: I, style: Style) -> Polygon<I>[src]

Build a polygon with the given points and style.

pub fn fill(points: I) -> Polygon<I>[src]

Build a Polygon with the default Fill style.

pub fn fill_with(points: I, color: Color) -> Polygon<I>[src]

Build a Polygon Filled with the given Color.

pub fn outline(points: I) -> Polygon<I>[src]

Build a Polygon with the default Outline style.

pub fn outline_styled(points: I, style: Style) -> Polygon<I>[src]

Build a Polygon Outlineed with the given line style.

pub fn abs_styled(points: I, style: Style) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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.

pub fn abs_fill(points: I) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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

pub fn abs_fill_with(points: I, color: Color) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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

pub fn abs_outline(points: I) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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

pub fn abs_outline_styled(points: I, style: Style) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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

pub fn centred_styled(points: I, style: Style) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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.

pub fn centred_fill(points: I) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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

pub fn centred_fill_with(points: I, color: Color) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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

pub fn centred_outline(points: I) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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

pub fn centred_outline_styled(points: I, style: Style) -> Polygon<I> where
    I: IntoIterator<Item = [f64; 2]> + Clone
[src]

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

Trait Implementations

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

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

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

impl<I> Copy for Polygon<I> where
    I: Copy
[src]

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

impl<I> Widget for Polygon<I> where
    I: IntoIterator<Item = [f64; 2]>, 
[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

type Event = ()

The type of event yielded by the widget, returned via the Widget::set function. Read more

pub fn update(
    self,
    args: UpdateArgs<'_, '_, '_, '_, Polygon<I>>
) -> <Polygon<I> as Widget>::Event
[src]

Update the state of the Polygon.

Auto Trait Implementations

impl<I> RefUnwindSafe for Polygon<I> where
    I: RefUnwindSafe

impl<I> Send for Polygon<I> where
    I: Send

impl<I> Sync for Polygon<I> where
    I: Sync

impl<I> Unpin for Polygon<I> where
    I: Unpin

impl<I> UnwindSafe for Polygon<I> where
    I: UnwindSafe

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    T: Component + Float,
    D: AdaptFrom<S, Swp, Dwp, T>,
    Swp: WhitePoint,
    Dwp: WhitePoint
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> ConvertInto<U> for T where
    U: ConvertFrom<T>, 
[src]

impl<T> Downcast<T> for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<W> Positionable for W where
    W: Widget
[src]

impl<T> SetParameter for T

impl<W> Sizeable for W where
    W: Widget
[src]

pub fn get_x_dimension(&self, ui: &Ui) -> Dimension[src]

We attempt to retrieve the x Dimension for the widget via the following:

  • Check for specified value at maybe_x_dimension
  • Otherwise, use the default returned by Widget::default_x_dimension.

pub fn get_y_dimension(&self, ui: &Ui) -> Dimension[src]

We attempt to retrieve the y Dimension for the widget via the following:

  • Check for specified value at maybe_y_dimension
  • Otherwise, use the default returned by Widget::default_y_dimension.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Upcast<T> for T

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,