Struct speedy2d::window::WindowHelper
source · pub struct WindowHelper<UserEventType = ()>where
UserEventType: 'static,{ /* private fields */ }
Expand description
A set of helper methods to perform actions on a crate::Window.
Implementations§
source§impl<UserEventType> WindowHelper<UserEventType>
impl<UserEventType> WindowHelper<UserEventType>
sourcepub fn terminate_loop(&mut self)
pub fn terminate_loop(&mut self)
Causes the event loop to stop processing events, and terminate the application.
Note: The event loop will stop only once the current callback has returned, rather than terminating immediately.
Once the event loop has stopped, the entire process will end with error code 0, even if other threads are running.
If your WindowHandler
struct implements Drop
, it will be safely
destructed before exiting.
No further callbacks will be given once this function has been called.
sourcepub fn set_icon_from_rgba_pixels<S>(
&self,
data: Vec<u8>,
size: S
) -> Result<(), BacktraceError<ErrorMessage>>where
S: Into<UVec2>,
pub fn set_icon_from_rgba_pixels<S>(
&self,
data: Vec<u8>,
size: S
) -> Result<(), BacktraceError<ErrorMessage>>where
S: Into<UVec2>,
Sets the window icon from the provided RGBA pixels.
On Windows, the base icon size is 16x16, however a multiple of this (e.g. 32x32) should be provided for high-resolution displays.
For WebCanvas
, this function has no effect.
sourcepub fn set_cursor_visible(&self, visible: bool)
pub fn set_cursor_visible(&self, visible: bool)
Sets the visibility of the mouse cursor.
sourcepub fn set_cursor_grab(
&self,
grabbed: bool
) -> Result<(), BacktraceError<ErrorMessage>>
pub fn set_cursor_grab(
&self,
grabbed: bool
) -> Result<(), BacktraceError<ErrorMessage>>
Grabs the cursor, preventing it from leaving the window.
sourcepub fn set_resizable(&self, resizable: bool)
pub fn set_resizable(&self, resizable: bool)
Set to false to prevent the user from resizing the window.
For WebCanvas
, this function has no effect.
sourcepub fn request_redraw(&self)
pub fn request_redraw(&self)
Request that the window is redrawn.
This will cause the WindowHandler::on_draw callback to be invoked on the next frame.
sourcepub fn set_fullscreen_mode(&self, mode: WindowFullscreenMode)
pub fn set_fullscreen_mode(&self, mode: WindowFullscreenMode)
Sets the window fullscreen mode.
When using a web canvas, permission for this operation may be denied, depending on where this is called from, and the user’s browser settings. If the operation is successful, the WindowHandler::on_fullscreen_status_changed callback will be invoked.
sourcepub fn set_size_pixels<S: Into<UVec2>>(&self, size: S)
pub fn set_size_pixels<S: Into<UVec2>>(&self, size: S)
Sets the window size in pixels. This is the window’s inner size, excluding the border.
For WebCanvas
, this function has no effect.
sourcepub fn set_position_pixels<P: Into<IVec2>>(&self, position: P)
pub fn set_position_pixels<P: Into<IVec2>>(&self, position: P)
Sets the position of the window in pixels. If multiple monitors are in use, this will be the distance from the top left of the display area, spanning all the monitors.
For WebCanvas
, this function has no effect.
sourcepub fn set_size_scaled_pixels<S: Into<Vec2>>(&self, size: S)
pub fn set_size_scaled_pixels<S: Into<Vec2>>(&self, size: S)
Sets the window size in scaled device-independent pixels. This is the window’s inner size, excluding the border.
For WebCanvas
, this function has no effect.
sourcepub fn set_position_scaled_pixels<P: Into<Vec2>>(&self, position: P)
pub fn set_position_scaled_pixels<P: Into<Vec2>>(&self, position: P)
Sets the position of the window in scaled device-independent pixels. If multiple monitors are in use, this will be the distance from the top left of the display area, spanning all the monitors.
For WebCanvas
, this function has no effect.
sourcepub fn get_scale_factor(&self) -> f64
pub fn get_scale_factor(&self) -> f64
Gets the window’s scale factor.
sourcepub fn create_user_event_sender(&self) -> UserEventSender<UserEventType>
pub fn create_user_event_sender(&self) -> UserEventSender<UserEventType>
Creates a UserEventSender, which can be used to post custom events to this event loop from another thread.
See UserEventSender::send_event, WindowHandler::on_user_event.