Struct conrod_core::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<Point>,
}
Expand description

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

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

Implementations

Build a polygon with the given points and style.

Build a Polygon with the default Fill style.

Build a Polygon Filled with the given Color.

Build a Polygon with the default Outline style.

Build a Polygon Outlineed with the given line style.

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.

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

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

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

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

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.

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

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

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

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

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Set the color of the widget.

Set the color of the widget from rgba values.

Set the color of the widget from rgb values.

Set the color of the widget from hsla values.

Set the color of the widget from hsl values.

Borrows the CommonBuilder field.

Mutably borrows the CommonBuilder field.

Formats the value using the given formatter. Read more

Update the state of the Polygon.

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

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

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

Return the initial State of the Widget. Read more

Return the styling of the widget. Read more

Returns either of the following: Read more

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

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

The default width for the Widget. Read more

The default height of the widget. Read more

If the widget is draggable, implement this method and return the position and dimensions of the draggable space. The position should be relative to the center of the widget. Read more

The area on which child widgets will be placed when using the Place Position methods.

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

Specify that this widget has no parent widgets.

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

Indicates that the Widget is used as a non-interactive graphical element for some other widget. Read more

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

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

Makes the widget’s KidArea scrollable. Read more

Makes the widget’s KidArea scrollable. Read more

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

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

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

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

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

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

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Build with the given Position along the x axis.

Build with the given Position along the y axis.

Get the Position along the x axis.

Get the Position along the y axis.

The depth at which the widget should be rendered relatively to its sibling widgets.

Return the depth.

Build with the given Absolute Position along the x axis.

Build with the given Absolute Position along the y axis.

Set the Position with some Point.

Set the Position with x y coordinates.

Set the x Position Relative to the previous widget.

Set the y Position Relative to the previous widget.

Set the x and y Positions Relative to the previous widget.

Set the x Position Relative to the given widget.

Set the y Position Relative to the given widget.

Set the x and y Positions Relative to the given widget.

Set the Position as a Scalar along the x axis Relative to the middle of previous widget. Read more

Set the Position as a Scalar along the y axis Relative to the middle of previous widget. Read more

Set the Position as a Point Relative to the middle of the previous widget.

Set the Position as Scalars along the x and y axes Relative to the middle of the previous widget. Read more

Set the position relative to the widget with the given widget::Id.

Set the position relative to the widget with the given widget::Id.

Set the position relative to the widget with the given widget::Id.

Set the position relative to the widget with the given widget::Id.

Build with the Position along the x axis as some distance from another widget.

Build with the Position along the y axis as some distance from another widget.

Build with the Position as some distance below another widget.

Build with the Position as some distance above another widget.

Build with the Position as some distance to the left of another widget.

Build with the Position as some distance to the right of another widget.

Build with the Position along the x axis as some distance from the given widget.

Build with the Position along the y axis as some distance from the given widget.

Build with the Position as some distance below the given widget.

Build with the Position as some distance above the given widget.

Build with the Position as some distance to the left of the given widget.

Build with the Position as some distance to the right of the given widget.

Align the Position of the widget along the x axis.

Align the Position of the widget along the y axis.

Align the position to the left (only effective for Up or Down Directions).

Align the position to the middle (only effective for Up or Down Directions).

Align the position to the right (only effective for Up or Down Directions).

Align the position to the top (only effective for Left or Right Directions).

Align the position to the middle (only effective for Left or Right Directions).

Align the position to the bottom (only effective for Left or Right Directions).

Align the Position of the widget with the given widget along the x axis.

Align the Position of the widget with the given widget along the y axis.

Align the position to the left (only effective for Up or Down Directions).

Align the position to the middle (only effective for Up or Down Directions).

Align the position to the right (only effective for Up or Down Directions).

Align the position to the top (only effective for Left or Right Directions).

Align the position to the middle (only effective for Left or Right Directions).

Align the position to the bottom (only effective for Left or Right Directions).

Place the widget at some position on the other Widget along the x axis.

Place the widget at some position on the other Widget along the y axis.

Place the widget in the middle of the given Widget.

Place the widget in the top left corner of the given Widget.

Place the widget in the top left corner of the given Widget with the given margin between both edges. Read more

Place the widget in the top left corner of the given Widget with the given margins between each respective edge. Read more

Place the widget in the top right corner of the given Widget.

Place the widget in the top right corner of the given Widget with the given margin between both edges. Read more

Place the widget in the top right corner of the given Widget with the given margins between each respective edge. Read more

Place the widget in the bottom left corner of the given Widget.

Place the widget in the bottom left corner of the given Widget with the given margin between both edges. Read more

Place the widget in the bottom left corner of the given Widget with the given margins between each respective edge. Read more

Place the widget in the bottom right corner of the given Widget.

Place the widget in the bottom right corner of the given Widget with the given margin between both edges. Read more

Place the widget in the bottom right corner of the given Widget with the given margins between each respective edge. Read more

Place the widget in the middle of the top edge of the given Widget.

Place the widget in the middle of the top edge of the given Widget with the given margin between the edges. Read more

Place the widget in the middle of the bottom edge of the given Widget.

Place the widget in the middle of the bottom edge of the given Widget with the given margin between the edges. Read more

Place the widget in the middle of the left edge of the given Widget.

Place the widget in the middle of the left edge of the given Widget with the given margin between the edges. Read more

Place the widget in the middle of the right edge of the given Widget.

Place the widget in the middle of the right edge of the given Widget with the given margin between the edges. Read more

Place the widget at some position on the Widget along the x axis.

Place the widget at some position on the Widget along the y axis.

Place the widget in the middle of the current parent Widget.

Place the widget in the top left corner of the current parent Widget.

Place the widget in the top left corner of the current parent Widget with the given margin between both edges. Read more

Place the widget in the top left corner of the current parent Widget with the given margins between each respective edge. Read more

Place the widget in the top right corner of the current parent Widget.

Place the widget in the top right corner of the current parent Widget with the given margin between both edges. Read more

Place the widget in the top right corner of the current parent Widget with the given margins between each respective edge. Read more

Place the widget in the bottom left corner of the current parent Widget.

Place the widget in the bottom left corner of the current parent Widget with the given margin between both edges. Read more

Place the widget in the bottom left corner of the current parent Widget with the given margins between each respective edge. Read more

Place the widget in the bottom right corner of the current parent Widget.

Place the widget in the bottom right corner of the current parent Widget with the given margin between both edges. Read more

Place the widget in the bottom right corner of the current parent Widget with the given margins between each respective edge. Read more

Place the widget in the middle of the top edge of the current parent Widget.

Place the widget in the middle of the top edge of the current parent Widget with the given margin from the edge. Read more

Place the widget in the middle of the bottom edge of the current parent Widget.

Place the widget in the middle of the bottom edge of the current parent Widget with the given margin from the edge. Read more

Place the widget in the middle of the left edge of the current parent Widget.

Place the widget in the middle of the left edge of the current parent Widget with the given margin from the edge. Read more

Place the widget in the middle of the right edge of the current parent Widget.

Place the widget in the middle of the right edge of the current parent Widget with the given margin from the edge. Read more

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.

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.

Set the length along the x axis.

Set the length along the y axis.

Set the absolute width for the widget.

Set the absolute height for the widget.

Set the dimensions for the widget.

Set the width and height for the widget.

Set the width as the width of the widget at the given index.

Set the width as the width of the widget at the given index padded at both ends by the given Scalar. Read more

Set the height as the height of the widget at the given index.

Set the height as the height of the widget at the given index padded at both ends by the given Scalar. Read more

Set the dimensions as the dimensions of the widget at the given index.

Set the dimensions as the dimensions of the widget at the given index with all four edges padded by the given scalar. Read more

Set the width as the width of the padded area of the widget at the given index.

Set the width as the KidArea width for the widget at the given index, padded at both ends by the given scalar. Read more

Set the height as the KidArea height of the widget at the given index.

Set the height as the KidArea height of the widget at the given index, padded at both ends by the given scalar. Read more

Set the dimensions as the KidArea dimensions of the widget at the given index.

Set the dimensions as the KidArea dimensions of the widget at the given index, padded at all four edges by the given scalar. Read more

Get the absolute width of the widget as a Scalar value.

Get the height of the widget.

The dimensions for the widget.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.