diff options
author | Bo Yang <struggleyb.nku@gmail.com> | 2009-08-13 09:33:24 +0000 |
---|---|---|
committer | Bo Yang <struggleyb.nku@gmail.com> | 2009-08-13 09:33:24 +0000 |
commit | 13fadb12fb400818e0ccb4c38b3bfce70ccfdad2 (patch) | |
tree | 19c55b39d97567a37b88b49aaaac13b21b9f24ee /include/dom/events/keyboard_event.h | |
parent | bf6bc398bd40e39a016725550f5b8446a01ee2d1 (diff) | |
download | libdom-13fadb12fb400818e0ccb4c38b3bfce70ccfdad2.tar.gz libdom-13fadb12fb400818e0ccb4c38b3bfce70ccfdad2.tar.bz2 |
Merge the Events module (branches/struggleyb/libdom-events) back to trunk. :)
svn path=/trunk/dom/; revision=9236
Diffstat (limited to 'include/dom/events/keyboard_event.h')
-rw-r--r-- | include/dom/events/keyboard_event.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/include/dom/events/keyboard_event.h b/include/dom/events/keyboard_event.h new file mode 100644 index 0000000..bbac4a1 --- /dev/null +++ b/include/dom/events/keyboard_event.h @@ -0,0 +1,89 @@ +/* + * This file is part of libdom. + * Licensed under the MIT License, + * http://www.opensource.org/licenses/mit-license.php + * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + */ + +#ifndef dom_events_keyboard_event_h_ +#define dom_events_keyboard_event_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> + +struct dom_string; +struct dom_abstract_view; + +typedef struct dom_keyboard_event dom_keyboard_event; + +typedef enum { + DOM_KEY_LOCATION_STANDARD = 0, + DOM_KEY_LOCATION_LEFT = 1, + DOM_KEY_LOCATION_RIGHT = 2, + DOM_KEY_LOCATION_NUMPAD = 3 +} dom_key_location; + +dom_exception _dom_keyboard_event_get_key_identifier(dom_keyboard_event *evt, + struct dom_string **ident); +#define dom_keyboard_event_get_key_identifier(e, i) \ + _dom_keyboard_event_get_key_identifier( \ + (dom_keyboard_event *) (e), (struct dom_string **) (i)) + +dom_exception _dom_keyboard_event_get_key_location(dom_keyboard_event *evt, + dom_key_location *loc); +#define dom_keyboard_event_get_key_location(e, l) \ + _dom_keyboard_event_get_key_location( \ + (dom_keyboard_event *) (e), (dom_key_location *) (l)) + +dom_exception _dom_keyboard_event_get_ctrl_key(dom_keyboard_event *evt, + bool *key); +#define dom_keyboard_event_get_ctrl_key(e, k) _dom_keyboard_event_get_ctrl_key(\ + (dom_keyboard_event *) (e), (bool *) (k)) + +dom_exception _dom_keyboard_event_get_shift_key(dom_keyboard_event *evt, + bool *key); +#define dom_keyboard_event_get_shift_key(e, k) \ + _dom_keyboard_event_get_shift_key((dom_keyboard_event *) (e), \ + (bool *) (k)) + +dom_exception _dom_keyboard_event_get_alt_key(dom_keyboard_event *evt, + bool *key); +#define dom_keyboard_event_get_alt_key(e, k) _dom_keyboard_event_get_alt_key(\ + (dom_keyboard_event *) (e), (bool *) (k)) + +dom_exception _dom_keyboard_event_get_meta_key(dom_keyboard_event *evt, + bool *key); +#define dom_keyboard_event_get_meta_key(e, k) _dom_keyboard_event_get_meta_key(\ + (dom_keyboard_event *) (e), (bool *) (k)) + +dom_exception _dom_keyboard_event_get_modifier_state(dom_keyboard_event *evt, + struct dom_string *m, bool *state); +#define dom_keyboard_event_get_modifier_state(e, m, s) \ + _dom_keyboard_event_get_modifier_state( \ + (dom_keyboard_event *) (e), (struct dom_string *) (m),\ + (bool *) (s)) + +dom_exception _dom_keyboard_event_init(dom_keyboard_event *evt, + struct dom_string *type, bool bubble, bool cancelable, + struct dom_abstract_view *view, struct dom_string *key_ident, + dom_key_location key_loc, struct dom_string *modifier_list); +#define dom_keyboard_event_init(e, t, b, c, v, ki, kl, m) \ + _dom_keyboard_event_init((dom_keyboard_event *) (e), \ + (struct dom_string *) (t), (bool) (b), (bool) (c), \ + (struct dom_abstract_view *) (v), (struct dom_string *) (ki), \ + (dom_key_location) (kl), (struct dom_string *) (m)) + +dom_exception _dom_keyboard_event_init_ns(dom_keyboard_event *evt, + struct dom_string *namespace, struct dom_string *type, + bool bubble, bool cancelable, struct dom_abstract_view *view, + struct dom_string *key_ident, dom_key_location key_loc, + struct dom_string *modifier_list); +#define dom_keyboard_event_init_ns(e, n, t, b, c, v, ki, kl, m) \ + _dom_keyboard_event_init_ns((dom_keyboard_event *) (e), \ + (struct dom_string *) (n), (struct dom_string *) (t), \ + (bool) (b), (bool) (c), (struct dom_abstract_view *) (v), \ + (struct dom_string *) (ki), (dom_key_location) (kl), \ + (struct dom_string *) (m)) + +#endif + |