i_slint_core::platform

Trait Platform

Source
pub trait Platform {
    // Required method
    fn create_window_adapter(
        &self,
    ) -> 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§

Source

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

Instantiate a window for a component.

Provided Methods§

Source

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

Spins an event loop and renders the visible windows.

Source

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

Source

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.

Source

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.

Source

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

Source

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

Source

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.

Implementors§