Struct nannou::ui::prelude::widget::primitive::image::Image [−][src]
pub struct Image { pub common: CommonBuilder, pub image_id: Id, pub src_rect: Option<Rect>, pub style: Style, }
Expand description
A primitive and basic widget for drawing an Image
.
Fields
common: CommonBuilder
Data necessary and common for all widget builder types.
image_id: Id
The unique identifier for the image that will be drawn.
src_rect: Option<Rect>
The rectangle area of the original source image that should be used.
style: Style
Unique styling.
Implementations
Construct a new Image
.
Note that the Image
widget does not require borrowing or owning any image data directly.
Instead, image data is stored within a conrod::image::Map
where image::Id
s are mapped
to their associated data.
This is done for a few reasons:
- To avoid requiring that the widget graph owns an instance of each image
- To avoid requiring that the user passes the image data to the
Image
every update unnecessarily - To make it easier for users to borrow and mutate their images without needing to index
into the
Ui
’s widget graph (which also requires casting types).
During rendering, conrod will take the image::Map
, retrieve the data associated with each
image and yield it via the render::Primitive::Image
variant.
Note: this implies that the type must be the same for all Image
widgets instantiated via
the same Ui
. In the case that you require multiple different types of images, we
recommend that you either:
- use an enum with a variant for each type
- use a trait object, where the trait is implemented for each of your image types or
- use an index type which may be mapped to your various image types.
The rectangular area of the image that we wish to display.
If this method is not called, the entire image will be used.
Trait Implementations
Borrows the CommonBuilder
field.
Mutably borrows the CommonBuilder
field.
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
The default width for the Widget. Read more
The default height of the widget. Read more
Update our Widget’s unique Widget::State via the State wrapper type (the
state
field within the UpdateArgs). 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
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.
Returns either of the following: Read more
Set the parent widget for this Widget by passing the WidgetId of the parent. Read more
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
Auto Trait Implementations
impl RefUnwindSafe for Image
impl UnwindSafe for Image
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,
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,
Mutably borrows from an owned value. Read more
Convert into T with values clamped to the color defined bounds Read more
Convert into T. The resulting color might be invalid in its color space Read more
Convert into T, returning ok if the color is inside of its defined range,
otherwise an OutOfBounds
error is returned which contains the unclamped color. Read more
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.
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 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 to the left (only effective for Up or Down Direction
s).
Align the position to the middle (only effective for Up or Down Direction
s).
Align the position to the right (only effective for Up or Down Direction
s).
Align the position to the top (only effective for Left or Right Direction
s).
Align the position to the middle (only effective for Left or Right Direction
s).
Align the position to the bottom (only effective for Left or Right Direction
s).
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 Direction
s).
Align the position to the middle (only effective for Up or Down Direction
s).
Align the position to the right (only effective for Up or Down Direction
s).
Align the position to the top (only effective for Left or Right Direction
s).
Align the position to the middle (only effective for Left or Right Direction
s).
Align the position to the bottom (only effective for Left or Right Direction
s).
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 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 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
pub fn vzip(self) -> V