svn update: 48958 (latest:48959)
[framework/uifw/ecore.git] / src / lib / ecore_wince / Ecore_WinCE.h
1 /*
2  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
3  */
4
5 #ifndef __ECORE_WINCE_H__
6 #define __ECORE_WINCE_H__
7
8
9 #ifdef EAPI
10 # undef EAPI
11 #endif
12
13 #ifdef _WINCE
14 # ifdef EFL_ECORE_WINCE_BUILD
15 #  ifdef DLL_EXPORT
16 #   define EAPI __declspec(dllexport)
17 #  else
18 #   define EAPI
19 #  endif /* ! DLL_EXPORT */
20 # else
21 #  define EAPI __declspec(dllimport)
22 # endif /* ! EFL_ECORE_WINCE_BUILD */
23 #else
24 # ifdef __GNUC__
25 #  if __GNUC__ >= 4
26 #   define EAPI __attribute__ ((visibility("default")))
27 #  else
28 #   define EAPI
29 #  endif
30 # else
31 #  define EAPI
32 # endif
33 #endif /* ! _WINCE */
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39
40 #ifndef _ECORE_EVAS_H
41 typedef void Ecore_WinCE_Window;
42 #endif
43
44
45 /* Events */
46
47 typedef struct _Ecore_WinCE_Event_Mouse_In              Ecore_WinCE_Event_Mouse_In;
48 typedef struct _Ecore_WinCE_Event_Mouse_Out             Ecore_WinCE_Event_Mouse_Out;
49 typedef struct _Ecore_WinCE_Event_Window_Focus_In       Ecore_WinCE_Event_Window_Focus_In;
50 typedef struct _Ecore_WinCE_Event_Window_Focus_Out      Ecore_WinCE_Event_Window_Focus_Out;
51 typedef struct _Ecore_WinCE_Event_Window_Damage         Ecore_WinCE_Event_Window_Damage;
52 typedef struct _Ecore_WinCE_Event_Window_Create         Ecore_WinCE_Event_Window_Create;
53 typedef struct _Ecore_WinCE_Event_Window_Destroy        Ecore_WinCE_Event_Window_Destroy;
54 typedef struct _Ecore_WinCE_Event_Window_Hide           Ecore_WinCE_Event_Window_Hide;
55 typedef struct _Ecore_WinCE_Event_Window_Show           Ecore_WinCE_Event_Window_Show;
56 typedef struct _Ecore_WinCE_Event_Window_Delete_Request Ecore_WinCE_Event_Window_Delete_Request;
57
58 struct _Ecore_WinCE_Event_Mouse_In
59 {
60    Ecore_WinCE_Window *window;
61    int                 x;
62    int                 y;
63    long                time;
64 };
65
66 struct _Ecore_WinCE_Event_Mouse_Out
67 {
68    Ecore_WinCE_Window *window;
69    int                 x;
70    int                 y;
71    long                time;
72 };
73
74 struct _Ecore_WinCE_Event_Window_Focus_In
75 {
76    Ecore_WinCE_Window *window;
77    long                time;
78 };
79
80 struct _Ecore_WinCE_Event_Window_Focus_Out
81 {
82    Ecore_WinCE_Window *window;
83    long                time;
84 };
85
86 struct _Ecore_WinCE_Event_Window_Damage
87 {
88    Ecore_WinCE_Window *window;
89    int                 x;
90    int                 y;
91    int                 width;
92    int                 height;
93    long                time;
94 };
95
96 struct _Ecore_WinCE_Event_Window_Create
97 {
98    Ecore_WinCE_Window *window;
99    long                time;
100 };
101
102 struct _Ecore_WinCE_Event_Window_Destroy
103 {
104    Ecore_WinCE_Window *window;
105    long                time;
106 };
107
108 struct _Ecore_WinCE_Event_Window_Hide
109 {
110    Ecore_WinCE_Window *window;
111    long                time;
112 };
113
114 struct _Ecore_WinCE_Event_Window_Show
115 {
116    Ecore_WinCE_Window *window;
117    long                time;
118 };
119
120 struct _Ecore_WinCE_Event_Window_Delete_Request
121 {
122    Ecore_WinCE_Window *window;
123    long                time;
124 };
125
126
127 EAPI extern int ECORE_WINCE_EVENT_MOUSE_IN;
128 EAPI extern int ECORE_WINCE_EVENT_MOUSE_OUT;
129 EAPI extern int ECORE_WINCE_EVENT_WINDOW_FOCUS_IN;
130 EAPI extern int ECORE_WINCE_EVENT_WINDOW_FOCUS_OUT;
131 EAPI extern int ECORE_WINCE_EVENT_WINDOW_DAMAGE;
132 EAPI extern int ECORE_WINCE_EVENT_WINDOW_CREATE;
133 EAPI extern int ECORE_WINCE_EVENT_WINDOW_DESTROY;
134 EAPI extern int ECORE_WINCE_EVENT_WINDOW_HIDE;
135 EAPI extern int ECORE_WINCE_EVENT_WINDOW_SHOW;
136 EAPI extern int ECORE_WINCE_EVENT_WINDOW_DELETE_REQUEST;
137
138
139 /* Core */
140
141 EAPI int    ecore_wince_init();
142 EAPI int    ecore_wince_shutdown();
143 EAPI long   ecore_wince_current_time_get(void);
144 EAPI void   ecore_wince_message_loop_begin (void);
145
146 /* Window */
147
148 EAPI Ecore_WinCE_Window *ecore_wince_window_new(Ecore_WinCE_Window *parent,
149                                                 int                 x,
150                                                 int                 y,
151                                                 int                 width,
152                                                 int                 height);
153
154 EAPI void ecore_wince_window_free(Ecore_WinCE_Window *window);
155
156 EAPI void *ecore_wince_window_hwnd_get(Ecore_WinCE_Window *window);
157
158 EAPI void ecore_wince_window_move(Ecore_WinCE_Window *window,
159                                   int                 x,
160                                   int                 y);
161
162 EAPI void ecore_wince_window_resize(Ecore_WinCE_Window *window,
163                                     int                 width,
164                                     int                 height);
165
166 EAPI void ecore_wince_window_move_resize(Ecore_WinCE_Window *window,
167                                          int                 x,
168                                          int                 y,
169                                          int                 width,
170                                          int                 height);
171
172 EAPI void ecore_wince_window_show(Ecore_WinCE_Window *window);
173
174 EAPI void ecore_wince_window_hide(Ecore_WinCE_Window *window);
175
176 EAPI void ecore_wince_window_title_set(Ecore_WinCE_Window *window,
177                                        const char         *title);
178
179 EAPI void ecore_wince_window_backend_set(Ecore_WinCE_Window *window, int backend);
180
181 EAPI void ecore_wince_window_suspend_set(Ecore_WinCE_Window *window, int (*suspend)(int));
182
183 EAPI void ecore_wince_window_resume_set(Ecore_WinCE_Window *window, int (*resume)(int));
184
185 EAPI void ecore_wince_window_geometry_get(Ecore_WinCE_Window *window,
186                                           int                *x,
187                                           int                *y,
188                                           int                *width,
189                                           int                *height);
190
191 EAPI void ecore_wince_window_size_get(Ecore_WinCE_Window *window,
192                                       int                *width,
193                                       int                *height);
194
195 EAPI void ecore_wince_window_fullscreen_set(Ecore_WinCE_Window *window,
196                                             int                 on);
197
198
199 #ifdef __cplusplus
200 }
201 #endif
202
203 #endif /* __ECORE_WINCE_H__ */