[][src]Enum winit::event_loop::ControlFlow

pub enum ControlFlow {

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.


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.



When the current loop iteration finishes, immediately begin a new iteration regardless of whether or not new events are available to process.


  • Web: Events are queued and usually sent when requestAnimationFrame fires but sometimes the events in the queue may be sent before the next requestAnimationFrame callback, for example when the scaling of the page has changed. This should be treated as an implementation detail which should not be relied on.

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


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


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

impl Clone for ControlFlow[src]

impl Copy for ControlFlow[src]

impl Debug for ControlFlow[src]

impl Default for ControlFlow[src]

impl Eq for ControlFlow[src]

impl PartialEq<ControlFlow> for ControlFlow[src]

impl StructuralEq for ControlFlow[src]

impl StructuralPartialEq for ControlFlow[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

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

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.