Skip to main content

Driver

Struct Driver 

Source
pub struct Driver<D: Document> {
    pub runtime: Runtime<D>,
    /* private fields */
}
Expand description

Drives a Runtime headless. See the module docs.

Fields§

§runtime: Runtime<D>

Implementations§

Source§

impl<D: Document> Driver<D>

Source

pub fn new(runtime: Runtime<D>) -> Self

A 1280×800 point screen at time 0.

Source

pub fn into_runtime(self) -> Runtime<D>

Stop driving; the runtime is handed back (e.g. to Runtime::abandon it).

Source

pub fn ctx(&self) -> &Context

Source

pub fn set_screen(&mut self, width: f32, height: f32)

Source

pub fn time(&self) -> f64

Virtual seconds since the start.

Source

pub fn frames(&self) -> u64

Frames run so far.

Source

pub fn is_closed(&self) -> bool

The app closed its window.

Source

pub fn push_event(&mut self, e: Event)

Queue raw input for the next frame (it also wakes the loop).

Source

pub fn set_screenshots(&mut self, deliver: bool)

Whether screenshots are delivered (on by default). Off, the loop behaves like a window that is covered or on a locked screen: capture requests are dropped.

Source

pub fn set_hidden(&mut self, hidden: bool)

Minimize the window (or show it again). Hidden, a frame runs Runtime::logic with no egui pass, the way eframe treats a minimized or covered window, then the runtime’s Runtime::hidden_pass for pending debugger work; other input waits for the next shown frame. A raise from the app (Focus, Minimized(false), Visible(true)) shows it again.

Source

pub fn is_hidden(&self) -> bool

Whether the window is hidden (Driver::set_hidden).

Source

pub fn request_close(&mut self)

Ask to close the window, as the window’s close button does.

Source

pub fn frame(&mut self) -> FullOutput

Run one frame now, whether or not one was asked for.

Source

pub fn advance(&mut self, secs: f64) -> u64

Let secs of virtual time pass, running every frame that is asked for (at most one per 1/120 s, like a display would). Returns the frames run.

Source

pub fn settle(&mut self, max: u64) -> u64

Run frames until none is asked for (at most max); returns how many ran. Timers further than horizon seconds away do not count as pending.

Source

pub fn request(&mut self, method: &str, params: Value) -> Reply

Send a control request (as the control port would) and run frames until it is answered: one frame for the request, then only the frames something asks for, on the virtual clock (a request that needs frames nobody asks for is reported, not papered over by polling).

Source

pub fn call(&mut self, method: &str, params: Value) -> Result<Value, String>

Driver::request expecting success.

Auto Trait Implementations§

§

impl<D> !RefUnwindSafe for Driver<D>

§

impl<D> !Send for Driver<D>

§

impl<D> !Sync for Driver<D>

§

impl<D> !UnwindSafe for Driver<D>

§

impl<D> Freeze for Driver<D>
where Runtime<D>: Freeze,

§

impl<D> Unpin for Driver<D>
where Runtime<D>: Unpin,

§

impl<D> UnsafeUnpin for Driver<D>
where Runtime<D>: UnsafeUnpin,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more