#[non_exhaustive]pub enum SurfaceAcquire {
Present,
Reconfigure,
SkipAndRetry,
Skip,
}Expand description
How to handle the result of Surface::get_current_texture.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Present
Texture is usable — render into it.
Reconfigure
The swapchain is stale or gone (Outdated/Lost): reconfigure the
surface and try once more THIS frame.
SkipAndRetry
Transient (Timeout): skip the frame, but ask for another one.
Skip
Skip the frame with no follow-up (Occluded/Validation): the window
is not visible / the app must fix the validation error, and a
self-requested redraw would just burn the CPU.
Trait Implementations§
Source§impl Clone for SurfaceAcquire
impl Clone for SurfaceAcquire
impl Copy for SurfaceAcquire
Source§impl Debug for SurfaceAcquire
impl Debug for SurfaceAcquire
impl Eq for SurfaceAcquire
Source§impl PartialEq for SurfaceAcquire
impl PartialEq for SurfaceAcquire
impl StructuralPartialEq for SurfaceAcquire
Auto Trait Implementations§
impl Freeze for SurfaceAcquire
impl RefUnwindSafe for SurfaceAcquire
impl Send for SurfaceAcquire
impl Sync for SurfaceAcquire
impl Unpin for SurfaceAcquire
impl UnsafeUnpin for SurfaceAcquire
impl UnwindSafe for SurfaceAcquire
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 more