pub trait WinitPlatformExt {
// Required methods
fn launch_window(
&self,
window_config: WindowConfig,
) -> impl Future<Output = WindowId>;
fn close_window(&self, window_id: WindowId);
fn focus_window(&self, window_id: Option<WindowId>);
fn with_window(
&self,
window_id: Option<WindowId>,
callback: impl FnOnce(&mut Window) + 'static,
);
}Required Methods§
Sourcefn launch_window(
&self,
window_config: WindowConfig,
) -> impl Future<Output = WindowId>
fn launch_window( &self, window_config: WindowConfig, ) -> impl Future<Output = WindowId>
Sourcefn close_window(&self, window_id: WindowId)
fn close_window(&self, window_id: WindowId)
Sourcefn focus_window(&self, window_id: Option<WindowId>)
fn focus_window(&self, window_id: Option<WindowId>)
Focus a window by its WindowId.
If window_id is None, the current window will be focused.
§Example
use freya::{
prelude::*,
winit::window::WindowId,
};
fn focus_specific_window(window_id: WindowId) {
Platform::get().focus_window(Some(window_id));
}
fn focus_current_window() {
Platform::get().focus_window(None);
}Sourcefn with_window(
&self,
window_id: Option<WindowId>,
callback: impl FnOnce(&mut Window) + 'static,
)
fn with_window( &self, window_id: Option<WindowId>, callback: impl FnOnce(&mut Window) + 'static, )
Execute a callback with mutable access to a Window.
If window_id is None, the callback will be executed on the current window.
This allows direct manipulation of the underlying winit Window for advanced use cases.
§Example
use freya::{
prelude::*,
winit::window::WindowId,
};
fn set_window_title(window_id: Option<WindowId>, title: &'static str) {
Platform::get().with_window(window_id, move |window| {
window.set_title(title);
});
}
fn minimize_current_window() {
Platform::get().with_window(None, |window| {
window.set_minimized(true);
});
}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.