Tizen 2.1 base
[framework/uifw/ecore.git] / src / lib / ecore_psl1ght / Ecore_Psl1ght.h
1 #ifndef _ECORE_PSL1GHT_H
2 #define _ECORE_PSL1GHT_H
3
4 #ifdef EAPI
5 # undef EAPI
6 #endif
7
8 #ifdef __GNUC__
9 # if __GNUC__ >= 4
10 #  define EAPI __attribute__ ((visibility("default")))
11 # else
12 #  define EAPI
13 # endif
14 #else
15 # define EAPI
16 #endif
17
18 /**
19  * @file
20  * @brief Ecore PSL1GHT system functions.
21  */
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 EAPI extern int ECORE_PSL1GHT_EVENT_KEY_MODIFIERS;
28 EAPI extern int ECORE_PSL1GHT_EVENT_GOT_FOCUS;
29 EAPI extern int ECORE_PSL1GHT_EVENT_LOST_FOCUS;
30 EAPI extern int ECORE_PSL1GHT_EVENT_EXPOSE;
31 EAPI extern int ECORE_PSL1GHT_EVENT_QUIT;
32
33 typedef struct _Ecore_Psl1ght_Event_Key_Modifiers Ecore_Psl1ght_Event_Key_Modifiers;
34 struct _Ecore_Psl1ght_Event_Key_Modifiers /** PSL1GHT Key Modifier event */
35 {
36    unsigned int timestamp;
37    unsigned int modifiers;
38    int          shift_changed : 1;
39    int          shift : 1;
40    int          alt_changed : 1;
41    int          alt : 1;
42    int          ctrl_changed : 1;
43    int          ctrl : 1;
44    int          win_changed : 1;
45    int          win : 1;
46    int          num_lock_changed : 1;
47    int          num_lock : 1;
48    int          caps_lock_changed : 1;
49    int          caps_lock : 1;
50    int          scroll_lock_changed : 1;
51    int          scroll_lock : 1;
52 };
53
54 typedef struct _Ecore_Psl1ght_Event_Key_Down Ecore_Psl1ght_Event_Key_Down;
55 struct _Ecore_Psl1ght_Event_Key_Down /** PSL1GHT Key Down event */
56 {
57    const char  *keyname;     /**< The name of the key that was pressed */
58    const char  *keycompose;     /**< The UTF-8 string conversion if any */
59    unsigned int time;
60 };
61
62 typedef struct _Ecore_Psl1ght_Event_Key_Up Ecore_Psl1ght_Event_Key_Up;
63 struct _Ecore_Psl1ght_Event_Key_Up /** PSL1GHT Key Up event */
64 {
65    const char  *keyname;     /**< The name of the key that was released */
66    const char  *keycompose;     /**< The UTF-8 string conversion if any */
67    unsigned int time;
68 };
69
70 typedef struct _Ecore_Psl1ght_Event_Mouse_Button_Down Ecore_Psl1ght_Event_Mouse_Button_Down;
71 struct _Ecore_Psl1ght_Event_Mouse_Button_Down /** PSL1GHT Mouse Down event */
72 {
73    int          button;    /**< Mouse button that was pressed (1 - 32) */
74    int          x;    /**< Mouse co-ordinates when mouse button was pressed */
75    int          y;    /**< Mouse co-ordinates when mouse button was pressed */
76    int          double_click : 1;    /**< Set if click was a double click */
77    int          triple_click : 1;    /**< Set if click was a triple click  */
78    unsigned int time;
79 };
80
81 typedef struct _Ecore_Psl1ght_Event_Mouse_Button_Up Ecore_Psl1ght_Event_Mouse_Button_Up;
82 struct _Ecore_Psl1ght_Event_Mouse_Button_Up /** PSL1GHT Mouse Up event */
83 {
84    int          button;    /**< Mouse button that was released (1 - 32) */
85    int          x;    /**< Mouse co-ordinates when mouse button was raised */
86    int          y;    /**< Mouse co-ordinates when mouse button was raised */
87    int          double_click : 1;    /**< Set if click was a double click */
88    int          triple_click : 1;    /**< Set if click was a triple click  */
89    unsigned int time;
90 };
91
92 typedef struct _Ecore_Psl1ght_Event_Mouse_Move Ecore_Psl1ght_Event_Mouse_Move;
93 struct _Ecore_Psl1ght_Event_Mouse_Move /** PSL1GHT Mouse Move event */
94 {
95    int          x;    /**< Mouse co-ordinates where the mouse cursor moved to */
96    int          y;    /**< Mouse co-ordinates where the mouse cursor moved to */
97    unsigned int time;
98 };
99
100 typedef struct _Ecore_Psl1ght_Event_Mouse_Wheel Ecore_Psl1ght_Event_Mouse_Wheel;
101 struct _Ecore_Psl1ght_Event_Mouse_Wheel /** PSL1GHT Mouse Wheel event */
102 {
103    int          x, y;
104    int          direction;    /* 0 = vertical, 1 = horizontal */
105    int          wheel;    /* value 1 (left/up), -1 (right/down) */
106    unsigned int time;
107 };
108
109 EAPI int ecore_psl1ght_init(const char *name);
110 EAPI int ecore_psl1ght_shutdown(void);
111 EAPI void ecore_psl1ght_resolution_set(int width, int height);
112 EAPI void ecore_psl1ght_poll_events(void);
113
114 EAPI void ecore_psl1ght_screen_resolution_get(int *w, int *h);
115 EAPI void ecore_psl1ght_optimal_screen_resolution_get(int *w, int *h);
116
117 #ifdef __cplusplus
118 }
119 #endif
120
121 #endif