pub trait WindowHandler<UserEventType = ()> {
Show 15 methods
// Provided methods
fn on_start(
&mut self,
helper: &mut WindowHelper<UserEventType>,
info: WindowStartupInfo,
) { ... }
fn on_user_event(
&mut self,
helper: &mut WindowHelper<UserEventType>,
user_event: UserEventType,
) { ... }
fn on_resize(
&mut self,
helper: &mut WindowHelper<UserEventType>,
size_pixels: UVec2,
) { ... }
fn on_mouse_grab_status_changed(
&mut self,
helper: &mut WindowHelper<UserEventType>,
mouse_grabbed: bool,
) { ... }
fn on_fullscreen_status_changed(
&mut self,
helper: &mut WindowHelper<UserEventType>,
fullscreen: bool,
) { ... }
fn on_scale_factor_changed(
&mut self,
helper: &mut WindowHelper<UserEventType>,
scale_factor: f64,
) { ... }
fn on_draw(
&mut self,
helper: &mut WindowHelper<UserEventType>,
graphics: &mut Graphics2D,
) { ... }
fn on_mouse_move(
&mut self,
helper: &mut WindowHelper<UserEventType>,
position: Vec2,
) { ... }
fn on_mouse_button_down(
&mut self,
helper: &mut WindowHelper<UserEventType>,
button: MouseButton,
) { ... }
fn on_mouse_button_up(
&mut self,
helper: &mut WindowHelper<UserEventType>,
button: MouseButton,
) { ... }
fn on_mouse_wheel_scroll(
&mut self,
helper: &mut WindowHelper<UserEventType>,
distance: MouseScrollDistance,
) { ... }
fn on_key_down(
&mut self,
helper: &mut WindowHelper<UserEventType>,
virtual_key_code: Option<VirtualKeyCode>,
scancode: KeyScancode,
) { ... }
fn on_key_up(
&mut self,
helper: &mut WindowHelper<UserEventType>,
virtual_key_code: Option<VirtualKeyCode>,
scancode: KeyScancode,
) { ... }
fn on_keyboard_char(
&mut self,
helper: &mut WindowHelper<UserEventType>,
unicode_codepoint: char,
) { ... }
fn on_keyboard_modifiers_changed(
&mut self,
helper: &mut WindowHelper<UserEventType>,
state: ModifiersState,
) { ... }
}Expand description
A set of callbacks for an active window. If a callback is not implemented, it will do nothing by default, so it is only necessary to implement the callbacks you actually need.
Provided Methods§
Sourcefn on_start(
&mut self,
helper: &mut WindowHelper<UserEventType>,
info: WindowStartupInfo,
)
fn on_start( &mut self, helper: &mut WindowHelper<UserEventType>, info: WindowStartupInfo, )
Invoked once when the window first starts.
Sourcefn on_user_event(
&mut self,
helper: &mut WindowHelper<UserEventType>,
user_event: UserEventType,
)
fn on_user_event( &mut self, helper: &mut WindowHelper<UserEventType>, user_event: UserEventType, )
Invoked when a user-defined event is received, allowing you to wake up the event loop to handle events from other threads.
Sourcefn on_resize(
&mut self,
helper: &mut WindowHelper<UserEventType>,
size_pixels: UVec2,
)
fn on_resize( &mut self, helper: &mut WindowHelper<UserEventType>, size_pixels: UVec2, )
Invoked when the window is resized.
Sourcefn on_mouse_grab_status_changed(
&mut self,
helper: &mut WindowHelper<UserEventType>,
mouse_grabbed: bool,
)
fn on_mouse_grab_status_changed( &mut self, helper: &mut WindowHelper<UserEventType>, mouse_grabbed: bool, )
Invoked if the mouse cursor becomes grabbed or un-grabbed. See WindowHelper::set_cursor_grab.
Note: mouse movement events will behave differently depending on the current cursor grabbing status.
Sourcefn on_fullscreen_status_changed(
&mut self,
helper: &mut WindowHelper<UserEventType>,
fullscreen: bool,
)
fn on_fullscreen_status_changed( &mut self, helper: &mut WindowHelper<UserEventType>, fullscreen: bool, )
Invoked if the window enters or exits fullscreen mode. See WindowHelper::set_fullscreen_mode.
Sourcefn on_scale_factor_changed(
&mut self,
helper: &mut WindowHelper<UserEventType>,
scale_factor: f64,
)
fn on_scale_factor_changed( &mut self, helper: &mut WindowHelper<UserEventType>, scale_factor: f64, )
Invoked when the window scale factor changes.
Sourcefn on_draw(
&mut self,
helper: &mut WindowHelper<UserEventType>,
graphics: &mut Graphics2D,
)
fn on_draw( &mut self, helper: &mut WindowHelper<UserEventType>, graphics: &mut Graphics2D, )
Invoked when the contents of the window needs to be redrawn.
It is possible to request a redraw from any callback using WindowHelper::request_redraw.
Sourcefn on_mouse_move(
&mut self,
helper: &mut WindowHelper<UserEventType>,
position: Vec2,
)
fn on_mouse_move( &mut self, helper: &mut WindowHelper<UserEventType>, position: Vec2, )
Invoked when the mouse changes position.
Normally, this provides the absolute position of the mouse in the window/canvas. However, if the mouse cursor is grabbed, this will instead provide the amount of relative movement since the last move event.
Invoked when a mouse button is pressed.
Invoked when a mouse button is released.
Sourcefn on_mouse_wheel_scroll(
&mut self,
helper: &mut WindowHelper<UserEventType>,
distance: MouseScrollDistance,
)
fn on_mouse_wheel_scroll( &mut self, helper: &mut WindowHelper<UserEventType>, distance: MouseScrollDistance, )
Invoked when the mouse wheel moves.
Sourcefn on_key_down(
&mut self,
helper: &mut WindowHelper<UserEventType>,
virtual_key_code: Option<VirtualKeyCode>,
scancode: KeyScancode,
)
fn on_key_down( &mut self, helper: &mut WindowHelper<UserEventType>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode, )
Invoked when a keyboard key is pressed.
To detect when a character is typed, see the WindowHandler::on_keyboard_char callback.
Sourcefn on_key_up(
&mut self,
helper: &mut WindowHelper<UserEventType>,
virtual_key_code: Option<VirtualKeyCode>,
scancode: KeyScancode,
)
fn on_key_up( &mut self, helper: &mut WindowHelper<UserEventType>, virtual_key_code: Option<VirtualKeyCode>, scancode: KeyScancode, )
Invoked when a keyboard key is released.
Sourcefn on_keyboard_char(
&mut self,
helper: &mut WindowHelper<UserEventType>,
unicode_codepoint: char,
)
fn on_keyboard_char( &mut self, helper: &mut WindowHelper<UserEventType>, unicode_codepoint: char, )
Invoked when a character is typed on the keyboard.
This is invoked in addition to the WindowHandler::on_key_up and WindowHandler::on_key_down callbacks.
Sourcefn on_keyboard_modifiers_changed(
&mut self,
helper: &mut WindowHelper<UserEventType>,
state: ModifiersState,
)
fn on_keyboard_modifiers_changed( &mut self, helper: &mut WindowHelper<UserEventType>, state: ModifiersState, )
Invoked when the state of the modifier keys has changed.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<UserEventType, H> WindowHandler<UserEventType> for Box<H>where
H: WindowHandler<UserEventType> + ?Sized,
Boxed handlers delegate to their contents, so the multi-window machinery
can store windows with differing handler types in one collection.
impl<UserEventType, H> WindowHandler<UserEventType> for Box<H>where
H: WindowHandler<UserEventType> + ?Sized,
Boxed handlers delegate to their contents, so the multi-window machinery can store windows with differing handler types in one collection.