Struct show_image::ContextHandle
source · pub struct ContextHandle<'a> { /* private fields */ }
Expand description
Handle to the global context.
You can interact with the global context through a ContextHandle
only from the global context thread.
To interact with the context from a different thread, use a ContextProxy
.
Implementations§
source§impl<'a> ContextHandle<'a>
impl<'a> ContextHandle<'a>
sourcepub fn proxy(&self) -> ContextProxy
pub fn proxy(&self) -> ContextProxy
Get a proxy for the context to interact with it from a different thread.
You should not use proxy objects from withing the global context thread. The proxy objects often wait for the global context to perform some action. Doing so from within the global context thread would cause a deadlock.
sourcepub fn set_exit_with_last_window(&mut self, exit_with_last_window: bool)
pub fn set_exit_with_last_window(&mut self, exit_with_last_window: bool)
Exit the program when the last window closes.
sourcepub fn window(
&mut self,
window_id: WindowId
) -> Result<WindowHandle<'_>, InvalidWindowId>
pub fn window( &mut self, window_id: WindowId ) -> Result<WindowHandle<'_>, InvalidWindowId>
Get a window handle for the given window ID.
sourcepub fn create_window(
&mut self,
title: impl Into<String>,
options: WindowOptions
) -> Result<WindowHandle<'_>, CreateWindowError>
pub fn create_window( &mut self, title: impl Into<String>, options: WindowOptions ) -> Result<WindowHandle<'_>, CreateWindowError>
Create a new window.
sourcepub fn add_event_handler<F>(&mut self, handler: F)
pub fn add_event_handler<F>(&mut self, handler: F)
Add a global event handler.
sourcepub fn run_background_task<F>(&mut self, task: F)
pub fn run_background_task<F>(&mut self, task: F)
Run a task in a background thread and register it with the context.
The task will be executed in a different thread than the context. Currently, each task is spawned in a separate thread. In the future, tasks may be run in a dedicated thread pool.
The background task will be joined before the process is terminated when you use Self::exit()
or one of the other exit functions of this crate.
sourcepub fn exit(&mut self, code: i32) -> !
pub fn exit(&mut self, code: i32) -> !
Join all background tasks and then exit the process.
If you use std::process::exit
, running background tasks may be killed.
To ensure no data loss occurs, you should use this function instead.
Background tasks are spawned when an image is saved through the built-in Ctrl+S or Ctrl+Shift+S shortcut, or by user code.