pub trait Drawer:
TypePath
+ Component
+ Sized {
type Vertex: Vertex;
type ExtractParam: ReadOnlySystemParam;
type ExtractData: ReadOnlyQueryData;
type ExtractFilter: QueryFilter;
type DrawParam: ReadOnlySystemParam;
// Required methods
fn extract(
drawer: DrawerExtract<'_, Self>,
param: &SystemParamItem<'_, '_, Self::ExtractParam>,
query: QueryItem<'_, Self::ExtractData>,
);
fn draw(
&mut self,
param: &SystemParamItem<'_, '_, Self::DrawParam>,
queuer: &impl VertexQueuer<Vertex = Self::Vertex>,
);
}Expand description
A render world Component extracted from the main world that will be used to issue draw
requests.
Required Associated Types§
Sourcetype ExtractParam: ReadOnlySystemParam
type ExtractParam: ReadOnlySystemParam
System parameter to fetch when extracting data from the main world.
Sourcetype ExtractData: ReadOnlyQueryData
type ExtractData: ReadOnlyQueryData
Query item to fetch from entities when extracting from those entities to the render world.
Sourcetype ExtractFilter: QueryFilter
type ExtractFilter: QueryFilter
Additional query filters accompanying ExtractData.
Sourcetype DrawParam: ReadOnlySystemParam
type DrawParam: ReadOnlySystemParam
System parameter to fetch when issuing draw requests.
Required Methods§
Sourcefn extract(
drawer: DrawerExtract<'_, Self>,
param: &SystemParamItem<'_, '_, Self::ExtractParam>,
query: QueryItem<'_, Self::ExtractData>,
)
fn extract( drawer: DrawerExtract<'_, Self>, param: &SystemParamItem<'_, '_, Self::ExtractParam>, query: QueryItem<'_, Self::ExtractData>, )
Extracts an instance of this drawer from matching entities, if available.
Sourcefn draw(
&mut self,
param: &SystemParamItem<'_, '_, Self::DrawParam>,
queuer: &impl VertexQueuer<Vertex = Self::Vertex>,
)
fn draw( &mut self, param: &SystemParamItem<'_, '_, Self::DrawParam>, queuer: &impl VertexQueuer<Vertex = Self::Vertex>, )
Issues vertex data and draw requests for the data.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.