#[non_exhaustive]pub enum FrameAction {
Skip,
CommitFull,
CommitDamaged,
}Expand description
What the present loop should do with this frame.
One enum rather than the reference’s { FrameAction action; bool full; },
where full is meaningless unless action is Commit and is set to
false on a skip — a value a caller can read and act on. Three variants
make the nonsensical combination unrepresentable, and leave the caller one
thing to match.
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.
Skip
Nothing changed. Issue no commit: no page flip, no scanout reprogram.
CommitFull
Commit the whole frame, omitting FB_DAMAGE_CLIPS.
CommitDamaged
Commit with the producer’s damage rectangles attached.
Implementations§
Trait Implementations§
Source§impl Clone for FrameAction
impl Clone for FrameAction
impl Copy for FrameAction
Source§impl Debug for FrameAction
impl Debug for FrameAction
impl Eq for FrameAction
Source§impl PartialEq for FrameAction
impl PartialEq for FrameAction
impl StructuralPartialEq for FrameAction
Auto Trait Implementations§
impl Freeze for FrameAction
impl RefUnwindSafe for FrameAction
impl Send for FrameAction
impl Sync for FrameAction
impl Unpin for FrameAction
impl UnsafeUnpin for FrameAction
impl UnwindSafe for FrameAction
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