Trait miniquad::EventHandler
source · [−]pub trait EventHandler {
Show 16 methods
fn update(&mut self, _ctx: &mut Context);
fn draw(&mut self, _ctx: &mut Context);
fn resize_event(&mut self, _ctx: &mut Context, _width: f32, _height: f32) { ... }
fn mouse_motion_event(&mut self, _ctx: &mut Context, _x: f32, _y: f32) { ... }
fn mouse_wheel_event(&mut self, _ctx: &mut Context, _x: f32, _y: f32) { ... }
fn mouse_button_down_event(
&mut self,
_ctx: &mut Context,
_button: MouseButton,
_x: f32,
_y: f32
) { ... }
fn mouse_button_up_event(
&mut self,
_ctx: &mut Context,
_button: MouseButton,
_x: f32,
_y: f32
) { ... }
fn char_event(
&mut self,
_ctx: &mut Context,
_character: char,
_keymods: KeyMods,
_repeat: bool
) { ... }
fn key_down_event(
&mut self,
_ctx: &mut Context,
_keycode: KeyCode,
_keymods: KeyMods,
_repeat: bool
) { ... }
fn key_up_event(
&mut self,
_ctx: &mut Context,
_keycode: KeyCode,
_keymods: KeyMods
) { ... }
fn touch_event(
&mut self,
ctx: &mut Context,
phase: TouchPhase,
_id: u64,
x: f32,
y: f32
) { ... }
fn raw_mouse_motion(&mut self, _ctx: &mut Context, _dx: f32, _dy: f32) { ... }
fn window_minimized_event(&mut self, _ctx: &mut Context) { ... }
fn window_restored_event(&mut self, _ctx: &mut Context) { ... }
fn quit_requested_event(&mut self, _ctx: &mut Context) { ... }
fn files_dropped_event(&mut self, _ctx: &mut Context) { ... }
}
Expand description
A trait defining event callbacks.
Required Methods
On most platforms update() and draw() are called each frame, sequentially, draw right after update. But on Android (and maybe some other platforms in the future) update might be called without draw. When the app is in background, Android destroys the rendering surface, while app is still alive and can do some usefull calculations. Note that in this case drawing from update may lead to crashes.
Provided Methods
fn resize_event(&mut self, _ctx: &mut Context, _width: f32, _height: f32)
fn mouse_motion_event(&mut self, _ctx: &mut Context, _x: f32, _y: f32)
fn mouse_wheel_event(&mut self, _ctx: &mut Context, _x: f32, _y: f32)
fn char_event(
&mut self,
_ctx: &mut Context,
_character: char,
_keymods: KeyMods,
_repeat: bool
)
fn key_down_event(
&mut self,
_ctx: &mut Context,
_keycode: KeyCode,
_keymods: KeyMods,
_repeat: bool
)
fn key_up_event(
&mut self,
_ctx: &mut Context,
_keycode: KeyCode,
_keymods: KeyMods
)
fn touch_event(
&mut self,
ctx: &mut Context,
phase: TouchPhase,
_id: u64,
x: f32,
y: f32
)
fn touch_event(
&mut self,
ctx: &mut Context,
phase: TouchPhase,
_id: u64,
x: f32,
y: f32
)
Default implementation emulates mouse clicks
fn raw_mouse_motion(&mut self, _ctx: &mut Context, _dx: f32, _dy: f32)
fn raw_mouse_motion(&mut self, _ctx: &mut Context, _dx: f32, _dy: f32)
Represents raw hardware mouse motion event Note that these events are delivered regardless of input focus and not in pixels, but in hardware units instead. And those units may be different from pixels depending on the target platform
fn window_minimized_event(&mut self, _ctx: &mut Context)
fn window_minimized_event(&mut self, _ctx: &mut Context)
Window has been minimized Right now is only implemented on Android, and is called on a Pause ndk callback
fn window_restored_event(&mut self, _ctx: &mut Context)
fn window_restored_event(&mut self, _ctx: &mut Context)
Window has been restored Right now is only implemented on Android, and is called on a Resume ndk callback
fn quit_requested_event(&mut self, _ctx: &mut Context)
fn quit_requested_event(&mut self, _ctx: &mut Context)
This event is sent when the userclicks the window’s close button or application code calls the ctx.request_quit() function. The event handler callback code can handle this event by calling ctx.cancel_quit() to cancel the quit. If the event is ignored, the application will quit as usual.
fn files_dropped_event(&mut self, _ctx: &mut Context)
fn files_dropped_event(&mut self, _ctx: &mut Context)
A file has been dropped over the application.
Applications can request the number of dropped files with
ctx.dropped_file_count()
, path of an individual file with
ctx.dropped_file_path()
, and for wasm targets the file bytes
can be requested with ctx.dropped_file_bytes()
.