gg: update the mouse click callback to pass what mouse button was clicked too (#10225)

pull/10238/head
KJ Lawrence 2021-05-28 05:46:23 -04:00 committed by GitHub
parent 6e493ca8ca
commit 9fab4af3f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 3 deletions

View File

@ -125,3 +125,10 @@ pub enum KeyCode {
right_super = 347
menu = 348
}
pub enum MouseButton {
left = 0
right = 1
middle = 2
invalid = 256
}

View File

@ -22,6 +22,8 @@ pub type FNKeyDown = fn (c KeyCode, m Modifier, x voidptr)
pub type FNMove = fn (x f32, y f32, z voidptr)
pub type FNClick = fn (x f32, y f32, button MouseButton, z voidptr)
pub type FNChar = fn (c u32, x voidptr)
pub struct Event {
@ -32,7 +34,7 @@ pub mut:
char_code u32
key_repeat bool
modifiers u32
mouse_button sapp.MouseButton
mouse_button MouseButton
mouse_x f32
mouse_y f32
mouse_dx f32
@ -81,7 +83,7 @@ pub:
// special case of event_fn
move_fn FNMove = voidptr(0)
// special case of event_fn
click_fn FNMove = voidptr(0)
click_fn FNClick = voidptr(0)
// special case of event_fn
// wait_events bool // set this to true for UIs, to save power
fullscreen bool
@ -295,7 +297,7 @@ fn gg_event_fn(ce &C.sapp_event, user_data voidptr) {
.mouse_down {
if g.config.click_fn != voidptr(0) {
cfn := g.config.click_fn
cfn(e.mouse_x / g.scale, e.mouse_y / g.scale, g.config.user_data)
cfn(e.mouse_x / g.scale, e.mouse_y / g.scale, e.mouse_button, g.config.user_data)
}
}
else {}