pub struct DisplayMirror {
pub slots: Vec<Option<MirrorPoint>>,
}Expand description
Viewer-side slot table: applies DisplayDeltas the way a GPU-buffer viewer does (writes at index = id).
Fields§
§slots: Vec<Option<MirrorPoint>>Slots by id (None = free).
Implementations§
Source§impl DisplayMirror
impl DisplayMirror
Sourcepub fn apply(&mut self, d: &DisplayDelta) -> Result<(), String>
pub fn apply(&mut self, d: &DisplayDelta) -> Result<(), String>
Applies one delta (removes, then adds, then moves). Returns an error for an inconsistent delta (add into a live slot, move/remove of an empty one); the table may be partially updated then.
Sourcepub fn points(&self) -> impl Iterator<Item = (u32, &MirrorPoint)> + '_
pub fn points(&self) -> impl Iterator<Item = (u32, &MirrorPoint)> + '_
Live points as (id, point).
Trait Implementations§
Source§impl Clone for DisplayMirror
impl Clone for DisplayMirror
Source§impl Debug for DisplayMirror
impl Debug for DisplayMirror
Auto Trait Implementations§
impl Freeze for DisplayMirror
impl RefUnwindSafe for DisplayMirror
impl Send for DisplayMirror
impl Sync for DisplayMirror
impl Unpin for DisplayMirror
impl UnsafeUnpin for DisplayMirror
impl UnwindSafe for DisplayMirror
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.