0063480008daed16b320f80d701a08230a692f84
[profile/ivi/ecore.git] / src / lib / ecore_evas / Ecore_Evas.h
1 #ifndef _ECORE_EVAS_H
2 #define _ECORE_EVAS_H
3
4 #include <Evas.h>
5 #include <Ecore_Getopt.h>
6 #include <Ecore_Input.h>
7
8 #ifdef EAPI
9 # undef EAPI
10 #endif
11
12 #ifdef _WIN32
13 # ifdef EFL_ECORE_EVAS_BUILD
14 #  ifdef DLL_EXPORT
15 #   define EAPI __declspec(dllexport)
16 #  else
17 #   define EAPI
18 #  endif /* ! DLL_EXPORT */
19 # else
20 #  define EAPI __declspec(dllimport)
21 # endif /* ! EFL_ECORE_EVAS_BUILD */
22 #else
23 # ifdef __GNUC__
24 #  if __GNUC__ >= 4
25 #   define EAPI __attribute__ ((visibility("default")))
26 #  else
27 #   define EAPI
28 #  endif
29 # else
30 #  define EAPI
31 # endif
32 #endif /* ! _WIN32 */
33
34 /**
35  * @file Ecore_Evas.h
36  * @brief Evas wrapper functions
37  */
38
39 /* FIXME:
40  * to do soon:
41  * - iconfication api needs to work
42  * - maximization api needs to work
43  * - document all calls
44  *
45  * later:
46  * - buffer back-end that renders to an evas_image_object ???
47  * - qt back-end ???
48  * - dfb back-end ??? (dfb's threads make this REALLY HARD)
49  */
50
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54
55 /* these are dummy and just tell u what API levels ecore_evas supports - not if
56  * the actual support is compiled in. you need to query for that separately.
57  */
58 #define HAVE_ECORE_EVAS_X 1
59 #define HAVE_ECORE_EVAS_FB 1
60 #define HAVE_ECORE_EVAS_X11_GL 1
61 #define HAVE_ECORE_EVAS_X11_16 1
62 #define HAVE_ECORE_EVAS_DIRECTFB 1
63 #define HAVE_ECORE_EVAS_WIN32 1
64 #define HAVE_ECORE_EVAS_COCOA 1
65 #define HAVE_ECORE_EVAS_SDL 1
66 #define HAVE_ECORE_EVAS_WINCE 1
67
68 typedef enum _Ecore_Evas_Engine_Type
69 {
70    ECORE_EVAS_ENGINE_SOFTWARE_BUFFER,
71    ECORE_EVAS_ENGINE_SOFTWARE_XLIB,
72    ECORE_EVAS_ENGINE_XRENDER_X11,
73    ECORE_EVAS_ENGINE_OPENGL_X11,
74    ECORE_EVAS_ENGINE_SOFTWARE_XCB,
75    ECORE_EVAS_ENGINE_XRENDER_XCB,
76    ECORE_EVAS_ENGINE_SOFTWARE_GDI,
77    ECORE_EVAS_ENGINE_SOFTWARE_DDRAW,
78    ECORE_EVAS_ENGINE_DIRECT3D,
79    ECORE_EVAS_ENGINE_OPENGL_GLEW,
80    ECORE_EVAS_ENGINE_COCOA,
81    ECORE_EVAS_ENGINE_SOFTWARE_SDL,
82    ECORE_EVAS_ENGINE_DIRECTFB,
83    ECORE_EVAS_ENGINE_SOFTWARE_FB,
84    ECORE_EVAS_ENGINE_SOFTWARE_8_X11,
85    ECORE_EVAS_ENGINE_SOFTWARE_16_X11,
86    ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW,
87    ECORE_EVAS_ENGINE_SOFTWARE_16_WINCE,
88    ECORE_EVAS_ENGINE_OPENGL_SDL
89 } Ecore_Evas_Engine_Type;
90
91 typedef enum _Ecore_Evas_Avoid_Damage_Type
92 {
93    ECORE_EVAS_AVOID_DAMAGE_NONE = 0,
94    ECORE_EVAS_AVOID_DAMAGE_EXPOSE = 1,
95    ECORE_EVAS_AVOID_DAMAGE_BUILT_IN = 2
96 } Ecore_Evas_Avoid_Damage_Type;
97
98 typedef enum _Ecore_Evas_Object_Associate_Flags
99 {
100   ECORE_EVAS_OBJECT_ASSOCIATE_BASE  = 0,
101   ECORE_EVAS_OBJECT_ASSOCIATE_STACK = 1 << 0,
102   ECORE_EVAS_OBJECT_ASSOCIATE_LAYER = 1 << 1,
103   ECORE_EVAS_OBJECT_ASSOCIATE_DEL = 1 << 2
104 } Ecore_Evas_Object_Associate_Flags;
105
106 #ifndef _ECORE_X_H
107 #define _ECORE_X_WINDOW_PREDEF
108 typedef unsigned int Ecore_X_Window;
109 #endif
110
111 #ifndef _ECORE_DIRECTFB_H
112 #define _ECORE_DIRECTFB_WINDOW_PREDEF
113 typedef struct _Ecore_DirectFB_Window Ecore_DirectFB_Window;
114 #endif
115
116 #ifndef __ECORE_WIN32_H__
117 typedef struct _Ecore_Win32_Window Ecore_Win32_Window;
118 #endif
119
120 #ifndef __ECORE_WINCE_H__
121 typedef struct _Ecore_WinCE_Window Ecore_WinCE_Window;
122 #endif
123
124 #ifndef _ECORE_EVAS_PRIVATE_H
125 /* basic data types */
126 typedef struct _Ecore_Evas Ecore_Evas;
127 #endif
128
129 /* module setup/shutdown calls */
130
131 EAPI int         ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine);
132
133 EAPI int         ecore_evas_init(void);
134 EAPI int         ecore_evas_shutdown(void);
135
136 EAPI void        ecore_evas_app_comp_sync_set(Eina_Bool do_sync);
137 EAPI Eina_Bool   ecore_evas_app_comp_sync_get(void);
138
139 EAPI Eina_List  *ecore_evas_engines_get(void);
140 EAPI void        ecore_evas_engines_free(Eina_List *engines);
141 EAPI Ecore_Evas *ecore_evas_new(const char *engine_name, int x, int y, int w, int h, const char *extra_options);
142
143
144 /* engine/target specific init calls */
145 EAPI Ecore_Evas     *ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
146 EAPI Ecore_X_Window  ecore_evas_software_x11_window_get(const Ecore_Evas *ee);
147 EAPI void            ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, Eina_Bool on);
148 EAPI Eina_Bool       ecore_evas_software_x11_direct_resize_get(const Ecore_Evas *ee);
149 EAPI void            ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
150
151 #define ECORE_EVAS_GL_X11_OPT_NONE     0
152 #define ECORE_EVAS_GL_X11_OPT_INDIRECT 1
153 #define ECORE_EVAS_GL_X11_OPT_VSYNC    2
154 #define ECORE_EVAS_GL_X11_OPT_LAST     3
155
156 EAPI Ecore_Evas     *ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
157 EAPI Ecore_Evas     *ecore_evas_gl_x11_options_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h, const int *opt);
158 EAPI Ecore_X_Window  ecore_evas_gl_x11_window_get(const Ecore_Evas *ee);
159 EAPI void            ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, Eina_Bool on);
160 EAPI Eina_Bool       ecore_evas_gl_x11_direct_resize_get(const Ecore_Evas *ee);
161 EAPI void            ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
162 EAPI void            ecore_evas_gl_x11_pre_post_swap_callback_set(const Ecore_Evas *ee, void *data, void (*pre_cb) (void *data, Evas *e), void (*post_cb) (void *data, Evas *e));
163
164 EAPI Ecore_Evas     *ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
165 EAPI Ecore_X_Window  ecore_evas_xrender_x11_window_get(const Ecore_Evas *ee);
166 EAPI void            ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee, Eina_Bool on);
167 EAPI Eina_Bool       ecore_evas_xrender_x11_direct_resize_get(const Ecore_Evas *ee);
168 EAPI void            ecore_evas_xrender_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
169
170 EAPI Ecore_Evas     *ecore_evas_software_x11_8_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
171 EAPI Ecore_X_Window  ecore_evas_software_x11_8_window_get(const Ecore_Evas *ee);
172 EAPI Ecore_X_Window  ecore_evas_software_x11_8_subwindow_get(const Ecore_Evas *ee);
173 EAPI void            ecore_evas_software_x11_8_direct_resize_set(Ecore_Evas *ee, Eina_Bool on);
174 EAPI Eina_Bool       ecore_evas_software_x11_8_direct_resize_get(const Ecore_Evas *ee);
175 EAPI void            ecore_evas_software_x11_8_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
176
177 EAPI Ecore_Evas     *ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
178 EAPI Ecore_X_Window  ecore_evas_software_x11_16_window_get(const Ecore_Evas *ee);
179 EAPI void            ecore_evas_software_x11_16_direct_resize_set(Ecore_Evas *ee, Eina_Bool on);
180 EAPI Eina_Bool       ecore_evas_software_x11_16_direct_resize_get(const Ecore_Evas *ee);
181 EAPI void            ecore_evas_software_x11_16_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
182
183 EAPI Ecore_Evas     *ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h);
184
185 EAPI Ecore_Evas     *ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w, int h);
186 EAPI Ecore_DirectFB_Window *ecore_evas_directfb_window_get(const Ecore_Evas *ee);
187
188 EAPI Ecore_Evas     *ecore_evas_buffer_new(int w, int h);
189 EAPI Ecore_Evas     *ecore_evas_buffer_allocfunc_new(int w, int h, void *(*alloc_func) (void *data, int size), void (*free_func) (void *data, void *pix), const void *data);
190 EAPI const void     *ecore_evas_buffer_pixels_get(Ecore_Evas *ee);
191
192 EAPI Evas_Object    *ecore_evas_object_image_new(Ecore_Evas *ee_target);
193 EAPI Ecore_Evas     *ecore_evas_object_ecore_evas_get(Evas_Object *obj);
194 EAPI Evas           *ecore_evas_object_evas_get(Evas_Object *obj);
195
196 EAPI Ecore_Evas     *ecore_evas_software_gdi_new(Ecore_Win32_Window *parent,
197                                                  int                 x,
198                                                  int                 y,
199                                                  int                 width,
200                                                  int                 height);
201
202 EAPI Ecore_Evas     *ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent,
203                                                    int                 x,
204                                                    int                 y,
205                                                    int                 width,
206                                                    int                 height);
207
208 EAPI Ecore_Evas     *ecore_evas_software_16_ddraw_new(Ecore_Win32_Window *parent,
209                                                       int                 x,
210                                                       int                 y,
211                                                       int                 width,
212                                                       int                 height);
213
214 EAPI Ecore_Evas     *ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
215                                              int                 x,
216                                              int                 y,
217                                              int                 width,
218                                              int                 height);
219
220 EAPI Ecore_Evas *ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
221                                         int                 x,
222                                         int                 y,
223                                         int                 width,
224                                         int                 height);
225
226 EAPI Ecore_Win32_Window *ecore_evas_win32_window_get(const Ecore_Evas *ee);
227
228 EAPI Ecore_Evas     *ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha);
229 EAPI Ecore_Evas     *ecore_evas_sdl16_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha);
230 EAPI Ecore_Evas     *ecore_evas_gl_sdl_new(const char* name, int w, int h, int fullscreen, int noframe);
231
232 EAPI Ecore_Evas     *ecore_evas_software_wince_new(Ecore_WinCE_Window *parent,
233                                                    int                 x,
234                                                    int                 y,
235                                                    int                 width,
236                                                    int                 height);
237
238 EAPI Ecore_Evas     *ecore_evas_software_wince_fb_new(Ecore_WinCE_Window *parent,
239                                                       int                 x,
240                                                       int                 y,
241                                                       int                 width,
242                                                       int                 height);
243
244 EAPI Ecore_Evas     *ecore_evas_software_wince_gapi_new(Ecore_WinCE_Window *parent,
245                                                         int                 x,
246                                                         int                 y,
247                                                         int                 width,
248                                                         int                 height);
249
250 EAPI Ecore_Evas     *ecore_evas_software_wince_ddraw_new(Ecore_WinCE_Window *parent,
251                                                          int                 x,
252                                                          int                 y,
253                                                          int                 width,
254                                                          int                 height);
255
256 EAPI Ecore_Evas     *ecore_evas_software_wince_gdi_new(Ecore_WinCE_Window *parent,
257                                                        int                 x,
258                                                        int                 y,
259                                                        int                 width,
260                                                        int                 height);
261
262 EAPI Ecore_WinCE_Window *ecore_evas_software_wince_window_get(const Ecore_Evas *ee);
263
264 EAPI Ecore_Evas *ecore_evas_cocoa_new(const char* name, int w, int h);
265
266 /* generic manipulation calls */
267 EAPI const char *ecore_evas_engine_name_get(const Ecore_Evas *ee);
268 EAPI Ecore_Evas *ecore_evas_ecore_evas_get(const Evas *e);
269 EAPI void        ecore_evas_free(Ecore_Evas *ee);
270 EAPI void       *ecore_evas_data_get(const Ecore_Evas *ee, const char *key);
271 EAPI void        ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data);
272 EAPI void        ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
273 EAPI void        ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
274 EAPI void        ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
275 EAPI void        ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
276 EAPI void        ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
277 EAPI void        ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
278 EAPI void        ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
279 EAPI void        ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
280 EAPI void        ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
281 EAPI void        ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
282 EAPI void        ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
283 EAPI void        ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
284 EAPI void        ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
285 EAPI void        ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
286 EAPI void        ecore_evas_callback_pre_free_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
287 EAPI Evas       *ecore_evas_get(const Ecore_Evas *ee);
288 EAPI void        ecore_evas_move(Ecore_Evas *ee, int x, int y);
289 EAPI void        ecore_evas_managed_move(Ecore_Evas *ee, int x, int y);
290 EAPI void        ecore_evas_resize(Ecore_Evas *ee, int w, int h);
291 EAPI void        ecore_evas_move_resize(Ecore_Evas *ee, int x, int y, int w, int h);
292 EAPI void        ecore_evas_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h);
293 EAPI void        ecore_evas_rotation_set(Ecore_Evas *ee, int rot);
294 EAPI void        ecore_evas_rotation_with_resize_set(Ecore_Evas *ee, int rot);
295 EAPI int         ecore_evas_rotation_get(const Ecore_Evas *ee);
296 EAPI void        ecore_evas_shaped_set(Ecore_Evas *ee, Eina_Bool shaped);
297 EAPI Eina_Bool   ecore_evas_shaped_get(const Ecore_Evas *ee);
298 EAPI void        ecore_evas_alpha_set(Ecore_Evas *ee, Eina_Bool alpha);
299 EAPI Eina_Bool   ecore_evas_alpha_get(const Ecore_Evas *ee);
300 EAPI void        ecore_evas_transparent_set(Ecore_Evas *ee, Eina_Bool transparent);
301 EAPI Eina_Bool   ecore_evas_transparent_get(const Ecore_Evas *ee);
302 EAPI void        ecore_evas_show(Ecore_Evas *ee);
303 EAPI void        ecore_evas_hide(Ecore_Evas *ee);
304 EAPI int         ecore_evas_visibility_get(const Ecore_Evas *ee);
305 EAPI void        ecore_evas_raise(Ecore_Evas *ee);
306 EAPI void        ecore_evas_lower(Ecore_Evas *ee);
307 EAPI void        ecore_evas_activate(Ecore_Evas *ee);
308 EAPI void        ecore_evas_title_set(Ecore_Evas *ee, const char *t);
309 EAPI const char *ecore_evas_title_get(const Ecore_Evas *ee);
310 EAPI void        ecore_evas_name_class_set(Ecore_Evas *ee, const char *n, const char *c);
311 EAPI void        ecore_evas_name_class_get(const Ecore_Evas *ee, const char **n, const char **c);
312 EAPI void        ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h);
313 EAPI void        ecore_evas_size_min_get(const Ecore_Evas *ee, int *w, int *h);
314 EAPI void        ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h);
315 EAPI void        ecore_evas_size_max_get(const Ecore_Evas *ee, int *w, int *h);
316 EAPI void        ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h);
317 EAPI void        ecore_evas_size_base_get(const Ecore_Evas *ee, int *w, int *h);
318 EAPI void        ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h);
319 EAPI void        ecore_evas_size_step_get(const Ecore_Evas *ee, int *w, int *h);
320 EAPI void        ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y);
321 EAPI void        ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y);
322 EAPI void        ecore_evas_cursor_get(const Ecore_Evas *ee, Evas_Object **obj, int *layer, int *hot_x, int *hot_y);
323 EAPI void        ecore_evas_layer_set(Ecore_Evas *ee, int layer);
324 EAPI int         ecore_evas_layer_get(const Ecore_Evas *ee);
325 EAPI void        ecore_evas_focus_set(Ecore_Evas *ee, Eina_Bool on);
326 EAPI Eina_Bool   ecore_evas_focus_get(const Ecore_Evas *ee);
327 EAPI void        ecore_evas_iconified_set(Ecore_Evas *ee, Eina_Bool on);
328 EAPI Eina_Bool   ecore_evas_iconified_get(const Ecore_Evas *ee);
329 EAPI void        ecore_evas_borderless_set(Ecore_Evas *ee, Eina_Bool on);
330 EAPI Eina_Bool   ecore_evas_borderless_get(const Ecore_Evas *ee);
331 EAPI void        ecore_evas_override_set(Ecore_Evas *ee, Eina_Bool on);
332 EAPI Eina_Bool   ecore_evas_override_get(const Ecore_Evas *ee);
333 EAPI void        ecore_evas_maximized_set(Ecore_Evas *ee, Eina_Bool on);
334 EAPI Eina_Bool   ecore_evas_maximized_get(const Ecore_Evas *ee);
335 EAPI void        ecore_evas_fullscreen_set(Ecore_Evas *ee, Eina_Bool on);
336 EAPI Eina_Bool   ecore_evas_fullscreen_get(const Ecore_Evas *ee);
337 EAPI void        ecore_evas_avoid_damage_set(Ecore_Evas *ee, Ecore_Evas_Avoid_Damage_Type on);
338 EAPI Ecore_Evas_Avoid_Damage_Type ecore_evas_avoid_damage_get(const Ecore_Evas *ee);
339 EAPI void        ecore_evas_withdrawn_set(Ecore_Evas *ee, Eina_Bool withdrawn);
340 EAPI Eina_Bool   ecore_evas_withdrawn_get(const Ecore_Evas *ee);
341 EAPI void        ecore_evas_sticky_set(Ecore_Evas *ee, Eina_Bool sticky);
342 EAPI Eina_Bool   ecore_evas_sticky_get(const Ecore_Evas *ee);
343 EAPI void        ecore_evas_ignore_events_set(Ecore_Evas *ee, Eina_Bool ignore);
344 EAPI Eina_Bool   ecore_evas_ignore_events_get(const Ecore_Evas *ee);
345 EAPI void        ecore_evas_manual_render_set(Ecore_Evas *ee, Eina_Bool manual_render);
346 EAPI Eina_Bool   ecore_evas_manual_render_get(const Ecore_Evas *ee);
347 EAPI void        ecore_evas_manual_render(Ecore_Evas *ee);
348 EAPI void        ecore_evas_comp_sync_set(Ecore_Evas *ee, Eina_Bool do_sync);
349 EAPI Eina_Bool   ecore_evas_comp_sync_get(const Ecore_Evas *ee);
350        
351 EAPI Ecore_Window ecore_evas_window_get(const Ecore_Evas *ee);
352
353 EAPI Eina_Bool    ecore_evas_object_associate(Ecore_Evas *ee, Evas_Object *obj, Ecore_Evas_Object_Associate_Flags flags);
354 EAPI Eina_Bool    ecore_evas_object_dissociate(Ecore_Evas *ee, Evas_Object *obj);
355 EAPI Evas_Object *ecore_evas_object_associate_get(const Ecore_Evas *ee);
356
357 /* helper function to be used with ECORE_GETOPT_CALLBACK_*() */
358 EAPI unsigned char ecore_getopt_callback_ecore_evas_list_engines(const Ecore_Getopt *parser, const Ecore_Getopt_Desc *desc, const char *str, void *data, Ecore_Getopt_Value *storage);
359
360 EAPI Eina_List   *ecore_evas_ecore_evas_list_get(void);
361
362 /* specific calls to an x11 environment ecore_evas */
363 EAPI void           ecore_evas_x11_leader_set(Ecore_Evas *ee, Ecore_X_Window win);
364 EAPI Ecore_X_Window ecore_evas_x11_leader_get(Ecore_Evas *ee);
365 EAPI void           ecore_evas_x11_leader_default_set(Ecore_Evas *ee);
366 EAPI void           ecore_evas_x11_shape_input_rectangle_set(Ecore_Evas *ee, int x, int y, int w, int h);
367 EAPI void           ecore_evas_x11_shape_input_rectangle_add(Ecore_Evas *ee, int x, int y, int w, int h);
368 EAPI void           ecore_evas_x11_shape_input_rectangle_subtract(Ecore_Evas *ee, int x, int y, int w, int h);
369 EAPI void           ecore_evas_x11_shape_input_empty(Ecore_Evas *ee);
370 EAPI void           ecore_evas_x11_shape_input_reset(Ecore_Evas *ee);
371 EAPI void           ecore_evas_x11_shape_input_apply(Ecore_Evas *ee);
372
373 #ifdef __cplusplus
374 }
375 #endif
376
377 #endif