Trait slint::platform::Platform

pub trait Platform {
    // Required method
    fn create_window_adapter(
    ) -> Result<Rc<dyn WindowAdapter>, PlatformError>;

    // Provided methods
    fn run_event_loop(&self) -> Result<(), PlatformError> { ... }
    fn new_event_loop_proxy(&self) -> Option<Box<dyn EventLoopProxy>> { ... }
    fn duration_since_start(&self) -> Duration { ... }
    fn click_interval(&self) -> Duration { ... }
    fn set_clipboard_text(&self, _text: &str, _clipboard: Clipboard) { ... }
    fn clipboard_text(&self, _clipboard: Clipboard) -> Option<String> { ... }
    fn debug_log(&self, _arguments: Arguments<'_>) { ... }
Expand description

This trait defines the interface between Slint and platform APIs typically provided by operating and windowing systems.

Required Methods§

fn create_window_adapter(&self) -> Result<Rc<dyn WindowAdapter>, PlatformError>

Instantiate a window for a component.

Provided Methods§

fn run_event_loop(&self) -> Result<(), PlatformError>

Spins an event loop and renders the visible windows.

fn new_event_loop_proxy(&self) -> Option<Box<dyn EventLoopProxy>>

Return an EventLoopProxy that can be used to send event to the event loop

If this function returns None (the default implementation), then it will not be possible to send event to the event loop and the function slint::invoke_from_event_loop() and slint::quit_event_loop() will panic

fn duration_since_start(&self) -> Duration

Returns the current time as a monotonic duration since the start of the program

This is used by the animations and timer to compute the elapsed time.

When the std feature is enabled, this function is implemented in terms of std::time::Instant::now(), but on #![no_std] platform, this function must be implemented.

fn click_interval(&self) -> Duration

Returns the current interval to internal measure the duration to send a double click event.

A double click event is a series of two pointer clicks.

fn set_clipboard_text(&self, _text: &str, _clipboard: Clipboard)

Sends the given text into the system clipboard.

If the platform doesn’t support the specified clipboard, this function should do nothing

fn clipboard_text(&self, _clipboard: Clipboard) -> Option<String>

Returns a copy of text stored in the system clipboard, if any.

If the platform doesn’t support the specified clipboard, the function should return None

fn debug_log(&self, _arguments: Arguments<'_>)

This function is called when debug() is used in .slint files. The implementation should direct the output to some developer visible terminal. The default implementation uses stderr if available, or console.log when targeting wasm.

Implementations on Foreign Types§


impl Platform for Backend


impl Platform for Backend