tauri_runtime

Trait Runtime

Source
pub trait Runtime<T: UserEvent>:
    Debug
    + Sized
    + 'static {
    type WindowDispatcher: WindowDispatch<T, Runtime = Self>;
    type WebviewDispatcher: WebviewDispatch<T, Runtime = Self>;
    type Handle: RuntimeHandle<T, Runtime = Self>;
    type EventLoopProxy: EventLoopProxy<T>;

    // Required methods
    fn new(args: RuntimeInitArgs) -> Result<Self>;
    fn create_proxy(&self) -> Self::EventLoopProxy;
    fn handle(&self) -> Self::Handle;
    fn create_window<F: Fn(RawWindow<'_>) + Send + 'static>(
        &self,
        pending: PendingWindow<T, Self>,
        after_window_creation: Option<F>,
    ) -> Result<DetachedWindow<T, Self>>;
    fn create_webview(
        &self,
        window_id: WindowId,
        pending: PendingWebview<T, Self>,
    ) -> Result<DetachedWebview<T, Self>>;
    fn primary_monitor(&self) -> Option<Monitor>;
    fn monitor_from_point(&self, x: f64, y: f64) -> Option<Monitor>;
    fn available_monitors(&self) -> Vec<Monitor>;
    fn cursor_position(&self) -> Result<PhysicalPosition<f64>>;
    fn set_theme(&self, theme: Option<Theme>);
    fn set_device_event_filter(&mut self, filter: DeviceEventFilter);
    fn run<F: FnMut(RunEvent<T>) + 'static>(self, callback: F);
}
Expand description

The webview runtime interface.

Required Associated Types§

Source

type WindowDispatcher: WindowDispatch<T, Runtime = Self>

The window message dispatcher.

Source

type WebviewDispatcher: WebviewDispatch<T, Runtime = Self>

The webview message dispatcher.

Source

type Handle: RuntimeHandle<T, Runtime = Self>

The runtime handle type.

Source

type EventLoopProxy: EventLoopProxy<T>

The proxy type.

Required Methods§

Source

fn new(args: RuntimeInitArgs) -> Result<Self>

Creates a new webview runtime. Must be used on the main thread.

Source

fn create_proxy(&self) -> Self::EventLoopProxy

Creates an EventLoopProxy that can be used to dispatch user events to the main event loop.

Source

fn handle(&self) -> Self::Handle

Gets a runtime handle.

Source

fn create_window<F: Fn(RawWindow<'_>) + Send + 'static>( &self, pending: PendingWindow<T, Self>, after_window_creation: Option<F>, ) -> Result<DetachedWindow<T, Self>>

Create a new window.

Source

fn create_webview( &self, window_id: WindowId, pending: PendingWebview<T, Self>, ) -> Result<DetachedWebview<T, Self>>

Create a new webview.

Source

fn primary_monitor(&self) -> Option<Monitor>

Source

fn monitor_from_point(&self, x: f64, y: f64) -> Option<Monitor>

Source

fn available_monitors(&self) -> Vec<Monitor>

Source

fn cursor_position(&self) -> Result<PhysicalPosition<f64>>

Source

fn set_theme(&self, theme: Option<Theme>)

Source

fn set_device_event_filter(&mut self, filter: DeviceEventFilter)

Change the device event filter mode.

Since the DeviceEvent capture can lead to high CPU usage for unfocused windows, tao will ignore them by default for unfocused windows on Windows. This method allows changing the filter to explicitly capture them again.

§Platform-specific
  • ** Linux / macOS / iOS / Android**: Unsupported.
Source

fn run<F: FnMut(RunEvent<T>) + 'static>(self, callback: F)

Run the webview runtime.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§