gg: update the mouse click callback to pass what mouse button was clicked too (#10225)
parent
6e493ca8ca
commit
9fab4af3f1
|
@ -125,3 +125,10 @@ pub enum KeyCode {
|
||||||
right_super = 347
|
right_super = 347
|
||||||
menu = 348
|
menu = 348
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub enum MouseButton {
|
||||||
|
left = 0
|
||||||
|
right = 1
|
||||||
|
middle = 2
|
||||||
|
invalid = 256
|
||||||
|
}
|
||||||
|
|
|
@ -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 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 type FNChar = fn (c u32, x voidptr)
|
||||||
|
|
||||||
pub struct Event {
|
pub struct Event {
|
||||||
|
@ -32,7 +34,7 @@ pub mut:
|
||||||
char_code u32
|
char_code u32
|
||||||
key_repeat bool
|
key_repeat bool
|
||||||
modifiers u32
|
modifiers u32
|
||||||
mouse_button sapp.MouseButton
|
mouse_button MouseButton
|
||||||
mouse_x f32
|
mouse_x f32
|
||||||
mouse_y f32
|
mouse_y f32
|
||||||
mouse_dx f32
|
mouse_dx f32
|
||||||
|
@ -81,7 +83,7 @@ pub:
|
||||||
// special case of event_fn
|
// special case of event_fn
|
||||||
move_fn FNMove = voidptr(0)
|
move_fn FNMove = voidptr(0)
|
||||||
// special case of event_fn
|
// special case of event_fn
|
||||||
click_fn FNMove = voidptr(0)
|
click_fn FNClick = voidptr(0)
|
||||||
// special case of event_fn
|
// special case of event_fn
|
||||||
// wait_events bool // set this to true for UIs, to save power
|
// wait_events bool // set this to true for UIs, to save power
|
||||||
fullscreen bool
|
fullscreen bool
|
||||||
|
@ -295,7 +297,7 @@ fn gg_event_fn(ce &C.sapp_event, user_data voidptr) {
|
||||||
.mouse_down {
|
.mouse_down {
|
||||||
if g.config.click_fn != voidptr(0) {
|
if g.config.click_fn != voidptr(0) {
|
||||||
cfn := g.config.click_fn
|
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 {}
|
else {}
|
||||||
|
|
Loading…
Reference in New Issue