mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-24 06:11:30 +11:00
Add mouse buttons press/release events for X11
This commit is contained in:
parent
0d45c7fcb4
commit
59b4d23d58
|
@ -30,6 +30,12 @@ pub type XID = uint;
|
||||||
pub static AllocNone: libc::c_int = 0;
|
pub static AllocNone: libc::c_int = 0;
|
||||||
pub static AllocAll: libc::c_int = 1;
|
pub static AllocAll: libc::c_int = 1;
|
||||||
|
|
||||||
|
pub static Button1: libc::c_uint = 1;
|
||||||
|
pub static Button2: libc::c_uint = 2;
|
||||||
|
pub static Button3: libc::c_uint = 3;
|
||||||
|
pub static Button4: libc::c_uint = 4;
|
||||||
|
pub static Button5: libc::c_uint = 5;
|
||||||
|
|
||||||
pub static InputOutput: libc::c_uint = 1;
|
pub static InputOutput: libc::c_uint = 1;
|
||||||
pub static InputOnly: libc::c_uint = 2;
|
pub static InputOnly: libc::c_uint = 2;
|
||||||
|
|
||||||
|
|
|
@ -243,8 +243,27 @@ impl Window {
|
||||||
|
|
||||||
ffi::ButtonPress | ffi::ButtonRelease => {
|
ffi::ButtonPress | ffi::ButtonRelease => {
|
||||||
use {Pressed, Released};
|
use {Pressed, Released};
|
||||||
|
use events;
|
||||||
let event: &ffi::XButtonEvent = unsafe { mem::transmute(&xev) };
|
let event: &ffi::XButtonEvent = unsafe { mem::transmute(&xev) };
|
||||||
//events.push(CursorPositionChanged(event.x as uint, event.y as uint));
|
|
||||||
|
let elem = match event.button {
|
||||||
|
ffi::Button1 => Some(events::Button1),
|
||||||
|
ffi::Button2 => Some(events::Button2),
|
||||||
|
ffi::Button3 => Some(events::Button3),
|
||||||
|
ffi::Button4 => Some(events::Button4),
|
||||||
|
ffi::Button5 => Some(events::Button5),
|
||||||
|
_ => None
|
||||||
|
};
|
||||||
|
|
||||||
|
if elem.is_some() {
|
||||||
|
let elem = elem.unwrap();
|
||||||
|
|
||||||
|
if xev.type_ == ffi::ButtonPress {
|
||||||
|
events.push(Pressed(elem));
|
||||||
|
} else if xev.type_ == ffi::ButtonRelease {
|
||||||
|
events.push(Released(elem));
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_ => ()
|
_ => ()
|
||||||
|
|
Loading…
Reference in a new issue