pub struct SurfaceReplayCoordinator { /* private fields */ }Expand description
Shared coordinator for physical-surface replay after a layer layout retarget.
This tracks surface indices and replay regions, not scene-node coverage. The runtime scene index selects nodes; backends apply surface indices to their own renderer objects.
Implementations§
Source§impl SurfaceReplayCoordinator
impl SurfaceReplayCoordinator
Sourcepub fn remap_surfaces(&mut self, layer: usize, old_indices: &[usize])
pub fn remap_surfaces(&mut self, layer: usize, old_indices: &[usize])
Remap pending replay work after eviction or reordering, dropping work for removed surfaces.
old_indices[new_index] identifies the surviving renderer in the previous surface vector.
pub fn targeted_replay_scope(&self, layer: usize) -> Option<Vec<usize>>
pub fn targeted_or_all_indices( &self, layer: usize, renderer_count: usize, ) -> Vec<usize>
pub fn clear_targeted_replay_scope(&mut self, layer: usize)
pub fn set_targeted_replay_batches( &mut self, layer: usize, batches: Vec<Vec<usize>>, bounds_by_surface: HashMap<usize, Vec<Rect>>, )
pub fn advance_targeted_replay_queue(&mut self, layer: usize) -> bool
pub fn truncate_layers(&mut self, layer_count: usize)
pub fn targeted_replay_surface_bounds( &self, layer: usize, fallback_bounds: impl FnMut(usize) -> Option<Rect>, ) -> Option<Vec<Rect>>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SurfaceReplayCoordinator
impl RefUnwindSafe for SurfaceReplayCoordinator
impl Send for SurfaceReplayCoordinator
impl Sync for SurfaceReplayCoordinator
impl Unpin for SurfaceReplayCoordinator
impl UnsafeUnpin for SurfaceReplayCoordinator
impl UnwindSafe for SurfaceReplayCoordinator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
Source§fn round_into(self) -> U
fn round_into(self) -> U
Performs the conversion.