Release Clutter 1.11.4 (snapshot)
[profile/ivi/clutter.git] / clutter / clutter-event-translator.h
1 #ifndef __CLUTTER_EVENT_TRANSLATOR_H__
2 #define __CLUTTER_EVENT_TRANSLATOR_H__
3
4 #include <glib-object.h>
5 #include <clutter/clutter-event.h>
6
7 G_BEGIN_DECLS
8
9 #define CLUTTER_TYPE_EVENT_TRANSLATOR           (_clutter_event_translator_get_type ())
10 #define CLUTTER_EVENT_TRANSLATOR(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_EVENT_TRANSLATOR, ClutterEventTranslator))
11 #define CLUTTER_IS_EVENT_TRANSLATOR(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_EVENT_TRANSLATOR))
12 #define CLUTTER_EVENT_TRANSLATOR_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CLUTTER_TYPE_EVENT_TRANSLATOR, ClutterEventTranslatorIface))
13
14 typedef struct _ClutterEventTranslator          ClutterEventTranslator;
15 typedef struct _ClutterEventTranslatorIface     ClutterEventTranslatorIface;
16
17 typedef enum {
18   CLUTTER_TRANSLATE_CONTINUE,
19   CLUTTER_TRANSLATE_REMOVE,
20   CLUTTER_TRANSLATE_QUEUE
21 } ClutterTranslateReturn;
22
23 struct _ClutterEventTranslatorIface
24 {
25   GTypeInterface g_iface;
26
27   ClutterTranslateReturn (* translate_event) (ClutterEventTranslator *translator,
28                                               gpointer                native,
29                                               ClutterEvent           *translated);
30 };
31
32 GType _clutter_event_translator_get_type (void) G_GNUC_CONST;
33
34 ClutterTranslateReturn _clutter_event_translator_translate_event (ClutterEventTranslator *translator,
35                                                                   gpointer                native,
36                                                                   ClutterEvent           *translated);
37
38 G_END_DECLS
39
40 #endif /* __CLUTTER_EVENT_TRANSLATOR_H__ */