pub enum ControlFlow {
    Poll,
    Wait,
    WaitUntil(Instant),
    Exit,
}
Expand description

Set by the user callback given to the EventLoop::run method.

Indicates the desired behavior of the event loop after Event::RedrawEventsCleared is emitted. Defaults to Poll.

Persistency

Almost every change is persistent between multiple calls to the event loop closure within a given run loop. The only exception to this is Exit which, once set, cannot be unset. Changes are not persistent between multiple calls to run_return - issuing a new call will reset the control flow to Poll.

Variants§

§

Poll

When the current loop iteration finishes, immediately begin a new iteration regardless of whether or not new events are available to process. For web, events are sent when requestAnimationFrame fires.

§

Wait

When the current loop iteration finishes, suspend the thread until another event arrives.

§

WaitUntil(Instant)

When the current loop iteration finishes, suspend the thread until either another event arrives or the given time is reached.

§

Exit

Send a LoopDestroyed event and stop the event loop. This variant is sticky - once set, control_flow cannot be changed from Exit, and any future attempts to do so will result in the control_flow parameter being reset to Exit.

Trait Implementations§

source§

impl Clone for ControlFlow

source§

fn clone(&self) -> ControlFlow

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ControlFlow

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for ControlFlow

source§

fn default() -> ControlFlow

Returns the “default value” for a type. Read more
source§

impl PartialEq<ControlFlow> for ControlFlow

source§

fn eq(&self, other: &ControlFlow) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ControlFlow

source§

impl Eq for ControlFlow

source§

impl StructuralEq for ControlFlow

source§

impl StructuralPartialEq for ControlFlow

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.