summaryrefslogtreecommitdiff
path: root/include/dom/events/event.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/dom/events/event.h')
-rw-r--r--include/dom/events/event.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/include/dom/events/event.h b/include/dom/events/event.h
new file mode 100644
index 0000000..df50f2e
--- /dev/null
+++ b/include/dom/events/event.h
@@ -0,0 +1,93 @@
+/*
+ * 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_event_h_
+#define dom_events_event_h_
+
+#include <stdbool.h>
+#include <dom/core/exceptions.h>
+#include <dom/events/event_target.h>
+
+struct dom_string;
+
+typedef enum {
+ DOM_CAPTURING_PHASE = 1,
+ DOM_AT_TARGET = 2,
+ DOM_BUBBLING_PHASE = 3
+} dom_event_flow_phase;
+
+typedef struct dom_event dom_event;
+
+/* The ref/unref methods define */
+void _dom_event_ref(dom_event *evt);
+#define dom_event_ref(n) _dom_event_ref((dom_event *) (n))
+void _dom_event_unref(dom_event *evt);
+#define dom_event_unref(n) _dom_event_unref((dom_event *) (n))
+
+dom_exception _dom_event_get_type(dom_event *evt, struct dom_string **type);
+#define dom_event_get_type(e, t) _dom_event_get_type((dom_event *) (e), \
+ (struct dom_string **) (t))
+
+dom_exception _dom_event_get_target(dom_event *evt, dom_event_target **target);
+#define dom_event_get_target(e, t) _dom_event_get_target((dom_event *) (e), \
+ (dom_event_target **) (t))
+
+dom_exception _dom_event_get_current_target(dom_event *evt,
+ dom_event_target **current);
+#define dom_event_get_current_target(e, c) _dom_event_get_current_target(\
+ (dom_event *) (e), (dom_event_target **) (c))
+
+dom_exception _dom_event_get_bubbles(dom_event *evt, bool *bubbles);
+#define dom_event_get_bubbles(e, b) _dom_event_get_bubbles((dom_event *) (e), \
+ (bool *) (b))
+
+dom_exception _dom_event_get_cancelable(dom_event *evt, bool *cancelable);
+#define dom_event_get_cancelable(e, c) _dom_event_get_cancelable(\
+ (dom_event *) (e), (bool *) (c))
+
+dom_exception _dom_event_get_timestamp(dom_event *evt,
+ unsigned int *timestamp);
+#define dom_event_get_timestamp(e, t) _dom_event_get_timestamp(\
+ (dom_event *) (e), (unsigned int *) (t))
+
+dom_exception _dom_event_stop_propagation(dom_event *evt);
+#define dom_event_stop_propagation(e) _dom_event_stop_propagation(\
+ (dom_event *) (e))
+
+dom_exception _dom_event_prevent_default(dom_event *evt);
+#define dom_event_prevent_default(e) _dom_event_prevent_default(\
+ (dom_event *) (e))
+
+dom_exception _dom_event_init(dom_event *evt, struct dom_string *type,
+ bool bubble, bool cancelable);
+#define dom_event_init(e, t, b, c) _dom_event_init((dom_event *) (e), \
+ (struct dom_string *) (t), (bool) (b), (bool) (c))
+
+dom_exception _dom_event_get_namespace(dom_event *evt,
+ struct dom_string **namespace);
+#define dom_event_get_namespace(e, n) _dom_event_get_namespace(\
+ (dom_event *) (e), (struct dom_string **) (n))
+
+dom_exception _dom_event_is_custom(dom_event *evt, bool *custom);
+#define dom_event_is_custom(e, c) _dom_event_is_custom((dom_event *) (e), \
+ (bool *) (c))
+
+dom_exception _dom_event_stop_immediate_propagation(dom_event *evt);
+#define dom_event_stop_immediate_propagation(e) \
+ _dom_event_stop_immediate_propagation((dom_event *) (e))
+
+dom_exception _dom_event_is_default_prevented(dom_event *evt, bool *prevented);
+#define dom_event_is_default_prevented(e, p) \
+ _dom_event_is_default_prevented((dom_event *) (e), (bool *) (p))
+
+dom_exception _dom_event_init_ns(dom_event *evt, struct dom_string *namespace,
+ struct dom_string *type, bool bubble, bool cancelable);
+#define dom_event_init_ns(e, n, t, b, c) _dom_event_init_ns( \
+ (dom_event *) (e), (struct dom_string *) (n), \
+ (struct dom_string *) (t), (bool) (b), (bool) (c))
+
+#endif