pub struct Emulator<P: Program> { /* private fields */ }Expand description
A headless runtime that can run iced applications and execute instructions.
An Emulator runs its program as faithfully as possible to the real thing.
It will run subscriptions and tasks with the Executor of
the Program.
If you want to run a simulation without side effects, use a Simulator
instead.
Implementations§
Source§impl<P: Program + 'static> Emulator<P>
impl<P: Program + 'static> Emulator<P>
Sourcepub fn new(
sender: Sender<Event<P>>,
program: &P,
mode: Mode,
size: Size,
) -> Emulator<P>
pub fn new( sender: Sender<Event<P>>, program: &P, mode: Mode, size: Size, ) -> Emulator<P>
Creates a new Emulator of the Program with the given Mode and Size.
The Emulator will send Event notifications through the provided mpsc::Sender.
When the Emulator has finished booting, an Event::Ready will be produced.
Sourcepub fn with_preset(
sender: Sender<Event<P>>,
program: &P,
mode: Mode,
size: Size,
preset: Option<&Preset<P::State, P::Message>>,
) -> Emulator<P>
pub fn with_preset( sender: Sender<Event<P>>, program: &P, mode: Mode, size: Size, preset: Option<&Preset<P::State, P::Message>>, ) -> Emulator<P>
Creates a new Emulator analogously to new, but it also takes a
program::Preset that will be used as the initial state.
When the Emulator has finished booting, an Event::Ready will be produced.
Sourcepub fn update(&mut self, program: &P, message: P::Message)
pub fn update(&mut self, program: &P, message: P::Message)
Updates the state of the Emulator program.
This is equivalent to calling the Program::update function,
resubscribing to any subscriptions, and running the resulting tasks
concurrently.
Sourcepub fn perform(&mut self, program: &P, action: Action<P>)
pub fn perform(&mut self, program: &P, action: Action<P>)
Performs an Action.
Whenever an Emulator sends an Event::Action, this
method must be called to proceed with the execution.
Sourcepub fn run(&mut self, program: &P, instruction: &Instruction)
pub fn run(&mut self, program: &P, instruction: &Instruction)
Runs an Instruction.
If the Instruction executes successfully, an Event::Ready will be
produced by the Emulator.
Otherwise, an Event::Failed will be triggered.
Sourcepub fn view(
&self,
program: &P,
) -> Element<'_, P::Message, P::Theme, P::Renderer>
pub fn view( &self, program: &P, ) -> Element<'_, P::Message, P::Theme, P::Renderer>
Returns the current view of the Emulator.
Sourcepub fn theme(&self, program: &P) -> Option<P::Theme>
pub fn theme(&self, program: &P) -> Option<P::Theme>
Returns the current theme of the Emulator.
Sourcepub fn screenshot(
&mut self,
program: &P,
theme: &P::Theme,
scale_factor: f32,
) -> Screenshot
pub fn screenshot( &mut self, program: &P, theme: &P::Theme, scale_factor: f32, ) -> Screenshot
Takes a window::Screenshot of the current state of the Emulator.
Sourcepub fn into_state(self) -> (P::State, Id)
pub fn into_state(self) -> (P::State, Id)
Turns the Emulator into its internal state.