Enum conrod::render::PrimitiveKind [−][src]
pub enum PrimitiveKind<'a> { Rectangle { color: Color, }, TrianglesSingleColor { color: Rgba, triangles: &'a [Triangle<Point>], }, TrianglesMultiColor { triangles: &'a [Triangle<ColoredPoint>], }, Image { image_id: Id, color: Option<Color>, source_rect: Option<Rect>, }, Text { color: Color, text: Text<'a>, font_id: Id, }, Other(&'a Container), }
The unique kind for each primitive element in the Ui.
Variants
Rectangle
A filled Rectangle
.
These are produced by the Rectangle
and BorderedRectangle
primitive widgets. A Filled
Rectangle
widget produces a single Rectangle
. The BorderedRectangle
produces two
Rectangle
s, the first for the outer border and the second for the inner on top.
Fields of Rectangle
color: Color | The fill colour for the rectangle. |
TrianglesSingleColor
A series of consecutive Triangles
that are all the same color.
Fields of TrianglesSingleColor
color: Rgba | The color of all triangles. |
triangles: &'a [Triangle<Point>] | An ordered slice of triangles. |
TrianglesMultiColor
A series of consecutive Triangles
with unique colors per vertex.
This variant is produced by the general purpose Triangles
primitive widget.
Fields of TrianglesMultiColor
triangles: &'a [Triangle<ColoredPoint>] | An ordered slice of multicolored triangles. |
Image
A single Image
, produced by the primitive Image
widget.
Fields of Image
image_id: Id | The unique identifier of the image that will be drawn. |
color: Option<Color> | When |
source_rect: Option<Rect> | The area of the texture that will be drawn to the |
Text
A single block of Text
, produced by the primitive Text
widget.
Fields of Text
color: Color | The colour of the |
text: Text<'a> | All glyphs within the |
font_id: Id | The unique identifier for the font, useful for the |
Other(&'a Container)
An Other
variant will be yielded for every non-primitive widget in the list.
Most of the time, this variant can be ignored, however it is useful for users who need to
render widgets in ways that cannot be covered by the other PrimitiveKind
variants.
For example, a Shader
widget might be required for updating uniforms in user rendering
code. In order to access the unique state of this widget, the user can check Other
variants for a container whose kind
field matches the unique kind of the Shader
widget.
They can then retrieve the unique state of the widget and cast it to its actual type using
either of the Container::state_and_style
or Container::unique_widget_state
methods.
Auto Trait Implementations
impl<'a> !Send for PrimitiveKind<'a>
impl<'a> !Send for PrimitiveKind<'a>
impl<'a> !Sync for PrimitiveKind<'a>
impl<'a> !Sync for PrimitiveKind<'a>