From 13fadb12fb400818e0ccb4c38b3bfce70ccfdad2 Mon Sep 17 00:00:00 2001 From: Bo Yang Date: Thu, 13 Aug 2009 09:33:24 +0000 Subject: Merge the Events module (branches/struggleyb/libdom-events) back to trunk. :) svn path=/trunk/dom/; revision=9236 --- src/events/keyboard_event.h | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/events/keyboard_event.h (limited to 'src/events/keyboard_event.h') diff --git a/src/events/keyboard_event.h b/src/events/keyboard_event.h new file mode 100644 index 0000000..4d2777c --- /dev/null +++ b/src/events/keyboard_event.h @@ -0,0 +1,55 @@ +/* + * This file is part of libdom. + * Licensed under the MIT License, + * http://www.opensource.org/licenses/mit-license.php + * Copyright 2009 Bo Yang + */ + +#ifndef dom_interntal_events_keyboard_event_h_ +#define dom_interntal_events_keyboard_event_h_ + +#include + +#include "events/ui_event.h" + +/** + * The keyboard event + */ +struct dom_keyboard_event { + struct dom_ui_event base; /**< The base class */ + + struct dom_string *key_ident; /**< The identifier of the key in this + * event, please refer: + * http://www.w3.org/TR/DOM-Level-3-Events/keyset.html#KeySet-Set + * for detail + */ + + dom_key_location key_loc; /**< Indicate the location of the key on + * the keyboard + */ + + uint32_t modifier_state; /**< The modifier keys state */ +}; + +/* Constructor */ +dom_exception _dom_keyboard_event_create(struct dom_document *doc, + struct dom_keyboard_event **evt); + +/* Destructor */ +void _dom_keyboard_event_destroy(struct dom_document *doc, + struct dom_keyboard_event *evt); + +/* Initialise function */ +dom_exception _dom_keyboard_event_initialise(struct dom_document *doc, + struct dom_keyboard_event *evt); + +/* Finalise function */ +void _dom_keyboard_event_finalise(struct dom_document *doc, + struct dom_keyboard_event *evt); + + +/* Parse the modifier list string to corresponding bool variable state */ +dom_exception _dom_parse_modifier_list(struct dom_string *modifier_list, + uint32_t *modifier_state); + +#endif -- cgit v1.2.3