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.


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 Rectangles, the first for the outer border and the second for the inner on top.

Fields of Rectangle

The fill colour for the rectangle.

A series of consecutive Triangles that are all the same color.

Fields of TrianglesSingleColor

The color of all triangles.

An ordered slice of triangles.

A series of consecutive Triangles with unique colors per vertex.

This variant is produced by the general purpose Triangles primitive widget.

Fields of TrianglesMultiColor

An ordered slice of multicolored triangles.

A single Image, produced by the primitive Image widget.

Fields of Image

The unique identifier of the image that will be drawn.

When Some, colours the Image. When None, the Image uses its regular colours.

The area of the texture that will be drawn to the Image's Rect.

A single block of Text, produced by the primitive Text widget.

Fields of Text

The colour of the Text.

All glyphs within the Text laid out in their correct positions in order from top-left to bottom right.

The unique identifier for the font, useful for the glyph_cache.rect_for(id, glyph) method when using the conrod::text::GlyphCache (rusttype's GPU Cache).

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> !Sync for PrimitiveKind<'a>