pub struct CommandRecorder<D> {
pub scene_size: SizeU16,
pub nodes: Vec<Node>,
pub draws: Vec<D>,
pub layers: Vec<RecordedLayer>,
pub filter_layers: Vec<u32>,
pub root_is_blend_target: bool,
pub max_layer_depth: usize,
pub largest_layer_size: Option<SizeU16>,
pub largest_filter_layer_size: Option<SizeU16>,
pub has_non_default_blend: bool,
active_layer: Option<u32>,
layer_stack: Vec<OpenLayer>,
}Expand description
Recorder for a scene description.
Fields§
§scene_size: SizeU16Tile-aligned dimensions of the root scene.
nodes: Vec<Node>The nodes of the root layer.
draws: Vec<D>Flat storage for all draw commands that are part of the recording.
layers: Vec<RecordedLayer>Data about recorded layers, indexed by their ID.
filter_layers: Vec<u32>IDs of recorded filter layers in creation order.
root_is_blend_target: boolWhether the root is the target of a non-default blending operation.
max_layer_depth: usizeMaximum layer depth across the whole layer graph.
largest_layer_size: Option<SizeU16>The largest dimensions of any recorded layer.
largest_filter_layer_size: Option<SizeU16>The largest dimensions of any recorded filter layer.
has_non_default_blend: boolWhether there exists at least one layer that uses a non-default blend mode.
active_layer: Option<u32>The layer whose command stream is currently the base.
This is None if there is no active layer and we are recording into the root layer instead.
layer_stack: Vec<OpenLayer>Stack of currently pushed layers.
Implementations§
Source§impl<D> CommandRecorder<D>
impl<D> CommandRecorder<D>
Sourcepub fn has_layers(&self) -> bool
pub fn has_layers(&self) -> bool
Whether any layers are currently open.
Sourcepub fn push_layer(&mut self, props: LayerProps, filter_plan: Option<FilterData>)
pub fn push_layer(&mut self, props: LayerProps, filter_plan: Option<FilterData>)
Push a new layer.
fn push_regular_layer(&mut self, props: LayerProps)
fn push_filter_layer(&mut self, props: LayerProps, filter_plan: FilterData)
fn push_recorded_layer(&mut self, layer: RecordedLayer) -> u32
Sourcepub fn pop_layer(&mut self) -> PoppedLayer
pub fn pop_layer(&mut self) -> PoppedLayer
Pop the currently active layer.