Add some events

This commit is contained in:
Pierre Krieger 2014-07-27 17:06:03 +02:00
parent 758fd069c6
commit 24baf4d104
2 changed files with 179 additions and 1 deletions

View file

@ -10,6 +10,9 @@ pub enum Event {
/// The window has been closed.
Closed,
/// The window received a unicode character.
ReceivedCharacter(char),
/// The cursor has moved on the window.
///
/// The parameter are the (x,y) coords in pixels relative to the top-left corner of the window.
@ -30,4 +33,179 @@ pub enum Event {
/// The size of the framebuffer of the window has changed.
FramebufferSizeChanged(uint, uint),
/// An element has been pressed.
Pressed(Element),
/// An element has been released.
Released(Element),
}
#[deriving(Show, Clone)]
pub enum Element {
Slider0,
Slider1,
Slider2,
Slider3,
Button0,
Button1,
Button2,
Button3,
Button4,
Button5,
Button6,
Button7,
Button8,
Button9,
Button10,
Button11,
Button12,
Button13,
Button14,
Button15,
Key0,
Key1,
Key2,
Key3,
Key4,
Key5,
Key6,
Key7,
Key8,
Key9,
A,
AbntC1,
AbntC2,
Add,
Apostrophe,
Apps,
At,
Ax,
B,
Back,
Backslash,
C,
Calculator,
Capital,
Colon,
Comma,
Convert,
D,
Decimal,
Delete,
Divide,
Down,
E,
End,
Equals,
Escape,
F,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
F13,
F14,
F15,
G,
Grave,
H,
Home,
I,
Insert,
J,
K,
Kana,
Kanji,
L,
LCracket,
LControl,
Left,
LMenu,
LShift,
LWin,
M,
Mail,
MediaSelect,
MediaStop,
Minus,
Multiply,
Mute,
MyComputer,
N,
Next,
NextTrack,
NoConvert,
Numlock,
Numpad0,
Numpad1,
Numpad2,
Numpad3,
Numpad4,
Numpad5,
Numpad6,
Numpad7,
Numpad8,
Numpad9,
NumpadComma,
NumpadEnter,
NumpadEquals,
O,
OEM102,
P,
Pause,
Period,
Playpause,
Power,
Prevtrack,
Prior,
Q,
R,
RBracket,
RControl,
Return,
Right,
RMenu,
RShift,
RWin,
S,
Scroll,
Semicolon,
Slash,
Sleep,
Snapshot,
Space,
Stop,
Subtract,
Sysrq,
T,
Tab,
U,
Underline,
Unlabeled,
Up,
V,
VolumeDown,
VolumeUp,
W,
Wake,
Webback,
WebFavorites,
WebForward,
WebHome,
WebRefresh,
WebSearch,
WebStop,
X,
Y,
Yen,
Z
}

View file

@ -2,7 +2,7 @@
extern crate libc;
pub use events::{Event, PositionChanged, SizeChanged, Closed, CursorPositionChanged, Focused};
pub use events::{Event, Element, PositionChanged, SizeChanged, Closed, CursorPositionChanged, Focused};
pub use events::{Iconified, NeedRefresh, FramebufferSizeChanged};
pub use hints::{Hints, ClientAPI, Profile};