# PhaseItem in maplibre::render::render_phase::draw - Rust
An item which will be drawn to the screen. A phase item should be queued up for rendering during the `RenderStageLabel::Queue` stage. Afterwards it will be sorted and rendered automatically in the `RenderStageLabel::PhaseSort` stage and `RenderStageLabel::Render` stage, respectively.

# Trait maplibre::render::render_phase::draw::PhaseItem

source ·

    pub trait PhaseItem {
        type SortKey: Ord;

        // Required methods
        fn sort_key(&self) -> Self::SortKey;
        fn draw_function(&self) -> &dyn Draw<Self>;
    }

Expand description

An item which will be drawn to the screen. A phase item should be queued up for rendering during the `RenderStageLabel::Queue` stage. Afterwards it will be sorted and rendered automatically in the `RenderStageLabel::PhaseSort` stage and `RenderStageLabel::Render` stage, respectively.

## Required Associated Types§

source

#### type SortKey: Ord

The type used for ordering the items. The smallest values are drawn first.

## Required Methods§

source

#### fn sort_key(&self) -> Self::SortKey

Determines the order in which the items are drawn during the corresponding `RenderPhase`.

source

#### fn draw_function(&self) -> &dyn Draw<Self>

## Object Safety§

This trait is not object safe.

## Implementors§

source §

### impl PhaseItem for TileDebugItem

§

#### type SortKey = u32

source §

### impl PhaseItem for LayerItem

§

#### type SortKey = u32

source §

### impl PhaseItem for TileMaskItem

§

#### type SortKey = u32