Tizen 2.1 base
[framework/uifw/ecore.git] / src / lib / ecore_input_evas / Ecore_Input_Evas.h
1 #ifndef _ECORE_INPUT_EVAS_H
2 #define _ECORE_INPUT_EVAS_H
3
4 #include <Evas.h>
5
6 #ifdef EAPI
7 # undef EAPI
8 #endif
9
10 #ifdef _WIN32
11 # ifdef EFL_ECORE_INPUT_EVAS_BUILD
12 #  ifdef DLL_EXPORT
13 #   define EAPI __declspec(dllexport)
14 #  else
15 #   define EAPI
16 #  endif /* ! DLL_EXPORT */
17 # else
18 #  define EAPI __declspec(dllimport)
19 # endif /* ! EFL_ECORE_INPUT_EVAS_BUILD */
20 #else
21 # ifdef __GNUC__
22 #  if __GNUC__ >= 4
23 #   define EAPI __attribute__ ((visibility("default")))
24 #  else
25 #   define EAPI
26 #  endif
27 # else
28 #  define EAPI
29 # endif
30 #endif
31
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35
36 typedef void (*Ecore_Event_Mouse_Move_Cb)(void *window, int x, int y, unsigned int timestamp);
37 typedef void (*Ecore_Event_Multi_Move_Cb)(void *window, int device, int x, int y, double radius, double radius_x, double radius_y, double pressure, double angle, double mx, double my, unsigned int timestamp);
38 typedef void (*Ecore_Event_Multi_Down_Cb)(void *window, int device, int x, int y, double radius, double radius_x, double radius_y, double pressure, double angle, double mx, double my, Evas_Button_Flags flags, unsigned int timestamp);
39 typedef void (*Ecore_Event_Multi_Up_Cb)(void *window, int device, int x, int y, double radius, double radius_x, double radius_y, double pressure, double angle, double mx, double my, Evas_Button_Flags flags, unsigned int timestamp);
40       
41 EAPI int       ecore_event_evas_init(void);
42 EAPI int       ecore_event_evas_shutdown(void);
43
44 EAPI Eina_Bool ecore_event_evas_key_down(void *data, int type, void *event);
45 EAPI Eina_Bool ecore_event_evas_key_up(void *data, int type, void *event);
46 EAPI Eina_Bool ecore_event_evas_mouse_button_up(void *data, int type, void *event);
47 EAPI Eina_Bool ecore_event_evas_mouse_button_down(void *data, int type, void *event);
48 EAPI Eina_Bool ecore_event_evas_mouse_wheel(void *data, int type, void *event);
49 EAPI Eina_Bool ecore_event_evas_mouse_move(void *data, int type, void *event);
50 EAPI Eina_Bool ecore_event_evas_mouse_in(void *data, int type, void *event);
51 EAPI Eina_Bool ecore_event_evas_mouse_out(void *data, int type, void *event);
52
53 EAPI void      ecore_event_window_register(Ecore_Window id, void *window, Evas *evas, Ecore_Event_Mouse_Move_Cb move_mouse, Ecore_Event_Multi_Move_Cb move_multi, Ecore_Event_Multi_Down_Cb down_multi, Ecore_Event_Multi_Up_Cb up_multi);
54 EAPI void      ecore_event_window_unregister(Ecore_Window id);
55 EAPI void     *ecore_event_window_match(Ecore_Window id);
56 EAPI void      ecore_event_window_ignore_events(Ecore_Window id, int ignore_event);
57
58 EAPI void      ecore_event_evas_modifier_lock_update(Evas *e, unsigned int modifiers);
59
60 #ifdef __cplusplus
61 }
62 #endif
63
64 #endif