aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/lib/ecore_x/Ecore_X.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/ecore/src/lib/ecore_x/Ecore_X.h3622
1 files changed, 3622 insertions, 0 deletions
diff --git a/libraries/ecore/src/lib/ecore_x/Ecore_X.h b/libraries/ecore/src/lib/ecore_x/Ecore_X.h
new file mode 100644
index 0000000..6588a75
--- /dev/null
+++ b/libraries/ecore/src/lib/ecore_x/Ecore_X.h
@@ -0,0 +1,3622 @@
1#ifndef _ECORE_X_H
2#define _ECORE_X_H
3
4#include <Eina.h>
5
6#ifdef EAPI
7# undef EAPI
8#endif // ifdef EAPI
9
10#ifdef _MSC_VER
11# ifdef BUILDING_DLL
12# define EAPI __declspec(dllexport)
13# else // ifdef BUILDING_DLL
14# define EAPI __declspec(dllimport)
15# endif // ifdef BUILDING_DLL
16#else // ifdef _MSC_VER
17# ifdef __GNUC__
18# if __GNUC__ >= 4
19# define EAPI __attribute__ ((visibility("default")))
20# else // if __GNUC__ >= 4
21# define EAPI
22# endif // if __GNUC__ >= 4
23# else // ifdef __GNUC__
24# define EAPI
25# endif // ifdef __GNUC__
26#endif // ifdef _MSC_VER
27
28#include <sys/types.h>
29
30/**
31 * @file
32 * @brief Ecore functions for dealing with the X Windows System
33 *
34 * Ecore_X provides a wrapper and convenience functions for using the
35 * X Windows System. Function groups for this part of the library
36 * include the following:
37 * @li @ref Ecore_X_Init_Group
38 * @li @ref Ecore_X_Display_Attr_Group
39 * @li @ref Ecore_X_Flush_Group
40 */
41
42typedef unsigned int Ecore_X_ID;
43#ifndef _ECORE_X_WINDOW_PREDEF
44typedef Ecore_X_ID Ecore_X_Window;
45#endif // ifndef _ECORE_X_WINDOW_PREDEF
46typedef void *Ecore_X_Visual;
47typedef Ecore_X_ID Ecore_X_Pixmap;
48typedef Ecore_X_ID Ecore_X_Drawable;
49#ifdef HAVE_ECORE_X_XCB
50typedef Ecore_X_ID Ecore_X_GC;
51#else // ifdef HAVE_ECORE_X_XCB
52typedef void *Ecore_X_GC;
53#endif /* HAVE_ECORE_X_XCB */
54typedef Ecore_X_ID Ecore_X_Atom;
55typedef Ecore_X_ID Ecore_X_Colormap;
56typedef Ecore_X_ID Ecore_X_Time;
57typedef Ecore_X_ID Ecore_X_Cursor;
58typedef void Ecore_X_Display;
59typedef void Ecore_X_Connection;
60typedef void Ecore_X_Screen;
61typedef Ecore_X_ID Ecore_X_Sync_Counter;
62typedef Ecore_X_ID Ecore_X_Sync_Alarm;
63typedef void Ecore_X_XRegion;
64
65typedef Ecore_X_ID Ecore_X_Randr_Output;
66typedef Ecore_X_ID Ecore_X_Randr_Crtc;
67typedef Ecore_X_ID Ecore_X_Randr_Mode;
68typedef unsigned short Ecore_X_Randr_Size_ID;
69typedef int Ecore_X_Randr_Screen;
70
71typedef Ecore_X_ID Ecore_X_Device;
72
73#ifdef __cplusplus
74extern "C" {
75#endif // ifdef __cplusplus
76
77typedef struct _Ecore_X_Rectangle
78{
79 int x, y;
80 unsigned int width, height;
81} Ecore_X_Rectangle;
82
83typedef struct _Ecore_X_Icon
84{
85 unsigned int width, height;
86 unsigned int *data;
87} Ecore_X_Icon;
88
89typedef enum _Ecore_X_GC_Value_Mask
90{
91 ECORE_X_GC_VALUE_MASK_FUNCTION = (1L << 0),
92 ECORE_X_GC_VALUE_MASK_PLANE_MASK = (1L << 1),
93 ECORE_X_GC_VALUE_MASK_FOREGROUND = (1L << 2),
94 ECORE_X_GC_VALUE_MASK_BACKGROUND = (1L << 3),
95 ECORE_X_GC_VALUE_MASK_LINE_WIDTH = (1L << 4),
96 ECORE_X_GC_VALUE_MASK_LINE_STYLE = (1L << 5),
97 ECORE_X_GC_VALUE_MASK_CAP_STYLE = (1L << 6),
98 ECORE_X_GC_VALUE_MASK_JOIN_STYLE = (1L << 7),
99 ECORE_X_GC_VALUE_MASK_FILL_STYLE = (1L << 8),
100 ECORE_X_GC_VALUE_MASK_FILL_RULE = (1L << 9),
101 ECORE_X_GC_VALUE_MASK_TILE = (1L << 10),
102 ECORE_X_GC_VALUE_MASK_STIPPLE = (1L << 11),
103 ECORE_X_GC_VALUE_MASK_TILE_STIPPLE_ORIGIN_X = (1L << 12),
104 ECORE_X_GC_VALUE_MASK_TILE_STIPPLE_ORIGIN_Y = (1L << 13),
105 ECORE_X_GC_VALUE_MASK_FONT = (1L << 14),
106 ECORE_X_GC_VALUE_MASK_SUBWINDOW_MODE = (1L << 15),
107 ECORE_X_GC_VALUE_MASK_GRAPHICS_EXPOSURES = (1L << 16),
108 ECORE_X_GC_VALUE_MASK_CLIP_ORIGIN_X = (1L << 17),
109 ECORE_X_GC_VALUE_MASK_CLIP_ORIGIN_Y = (1L << 18),
110 ECORE_X_GC_VALUE_MASK_CLIP_MASK = (1L << 19),
111 ECORE_X_GC_VALUE_MASK_DASH_OFFSET = (1L << 20),
112 ECORE_X_GC_VALUE_MASK_DASH_LIST = (1L << 21),
113 ECORE_X_GC_VALUE_MASK_ARC_MODE = (1L << 22)
114} Ecore_X_GC_Value_Mask;
115
116typedef enum _Ecore_X_Composite_Update_Type
117{
118 ECORE_X_COMPOSITE_UPDATE_AUTOMATIC,
119 ECORE_X_COMPOSITE_UPDATE_MANUAL
120} Ecore_X_Composite_Update_Type;
121
122typedef enum _Ecore_X_Window_State
123{
124 /* Unknown state */
125 ECORE_X_WINDOW_STATE_UNKNOWN = 0,
126 /** The window is iconified. */
127 ECORE_X_WINDOW_STATE_ICONIFIED,
128 /** The window is a modal dialog box. */
129 ECORE_X_WINDOW_STATE_MODAL,
130 /** The window manager should keep the window's position fixed
131 * even if the virtual desktop scrolls. */
132 ECORE_X_WINDOW_STATE_STICKY,
133 /** The window has the maximum vertical size. */
134 ECORE_X_WINDOW_STATE_MAXIMIZED_VERT,
135 /** The window has the maximum horizontal size. */
136 ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ,
137 /** The window is shaded. */
138 ECORE_X_WINDOW_STATE_SHADED,
139 /** The window should not be included in the taskbar. */
140 ECORE_X_WINDOW_STATE_SKIP_TASKBAR,
141 /** The window should not be included in the pager. */
142 ECORE_X_WINDOW_STATE_SKIP_PAGER,
143 /** The window is invisible (i.e. minimized/iconified) */
144 ECORE_X_WINDOW_STATE_HIDDEN,
145 /** The window should fill the entire screen and have no
146 * window border/decorations */
147 ECORE_X_WINDOW_STATE_FULLSCREEN,
148 /* The following are not documented because they are not
149 * intended for use in applications. */
150 ECORE_X_WINDOW_STATE_ABOVE,
151 ECORE_X_WINDOW_STATE_BELOW,
152 /* FIXME: Documentation */
153 ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION
154} Ecore_X_Window_State;
155
156typedef enum _Ecore_X_Window_State_Action
157{
158 ECORE_X_WINDOW_STATE_ACTION_REMOVE,
159 ECORE_X_WINDOW_STATE_ACTION_ADD,
160 ECORE_X_WINDOW_STATE_ACTION_TOGGLE
161} Ecore_X_Window_State_Action;
162
163typedef enum _Ecore_X_Window_Stack_Mode
164{
165 ECORE_X_WINDOW_STACK_ABOVE = 0,
166 ECORE_X_WINDOW_STACK_BELOW = 1,
167 ECORE_X_WINDOW_STACK_TOP_IF = 2,
168 ECORE_X_WINDOW_STACK_BOTTOM_IF = 3,
169 ECORE_X_WINDOW_STACK_OPPOSITE = 4
170} Ecore_X_Window_Stack_Mode;
171
172typedef enum _Ecore_X_Randr_Orientation
173{
174 ECORE_X_RANDR_ORIENTATION_ROT_0 = (1 << 0),
175 ECORE_X_RANDR_ORIENTATION_ROT_90 = (1 << 1),
176 ECORE_X_RANDR_ORIENTATION_ROT_180 = (1 << 2),
177 ECORE_X_RANDR_ORIENTATION_ROT_270 = (1 << 3),
178 ECORE_X_RANDR_ORIENTATION_FLIP_X = (1 << 4),
179 ECORE_X_RANDR_ORIENTATION_FLIP_Y = (1 << 5)
180} Ecore_X_Randr_Orientation;
181
182typedef enum _Ecore_X_Randr_Connection_Status
183{
184 ECORE_X_RANDR_CONNECTION_STATUS_CONNECTED = 0,
185 ECORE_X_RANDR_CONNECTION_STATUS_DISCONNECTED = 1,
186 ECORE_X_RANDR_CONNECTION_STATUS_UNKNOWN = 2
187} Ecore_X_Randr_Connection_Status;
188
189typedef enum _Ecore_X_Randr_Output_Policy
190{
191 ECORE_X_RANDR_OUTPUT_POLICY_ABOVE = 1,
192 ECORE_X_RANDR_OUTPUT_POLICY_RIGHT = 2,
193 ECORE_X_RANDR_OUTPUT_POLICY_BELOW = 3,
194 ECORE_X_RANDR_OUTPUT_POLICY_LEFT = 4,
195 ECORE_X_RANDR_OUTPUT_POLICY_CLONE = 5,
196 ECORE_X_RANDR_OUTPUT_POLICY_NONE = 6
197} Ecore_X_Randr_Output_Policy;
198
199typedef enum _Ecore_X_Randr_Relative_Alignment
200{
201 ECORE_X_RANDR_RELATIVE_ALIGNMENT_NONE = 0,
202 ECORE_X_RANDR_RELATIVE_ALIGNMENT_CENTER_REL = 1,
203 ECORE_X_RANDR_RELATIVE_ALIGNMENT_CENTER_SCR = 2
204} Ecore_X_Randr_Relative_Alignment;
205
206typedef enum _Ecore_X_Render_Subpixel_Order
207{
208 ECORE_X_RENDER_SUBPIXEL_ORDER_UNKNOWN = 0,
209 ECORE_X_RENDER_SUBPIXEL_ORDER_HORIZONTAL_RGB = 1,
210 ECORE_X_RENDER_SUBPIXEL_ORDER_HORIZONTAL_BGR = 2,
211 ECORE_X_RENDER_SUBPIXEL_ORDER_VERTICAL_RGB = 3,
212 ECORE_X_RENDER_SUBPIXEL_ORDER_VERTICAL_BGR = 4,
213 ECORE_X_RENDER_SUBPIXEL_ORDER_NONE = 5
214} Ecore_X_Render_Subpixel_Order;
215
216typedef enum _Ecore_X_Randr_Edid_Display_Interface_Type
217{
218 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_UNDEFINED,
219 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_DVI,
220 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_HDMI_A,
221 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_HDMI_B,
222 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_MDDI,
223 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_DISPLAY_PORT
224} Ecore_X_Randr_Edid_Display_Interface_Type;
225
226typedef enum _Ecore_X_Randr_Edid_Display_Colorscheme
227{
228 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_MONOCHROME_GRAYSCALE = 0x00,
229 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_RGB = 0x08,
230 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_NON_RGB = 0x10,
231 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_UNDEFINED = 0x18,
232 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_RGB_4_4_4 = 0x444000,
233 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_RGB_YCRCB_4_4_4 = 0x444,
234 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_RGB_YCRCB_4_2_2 = 0x422
235} Ecore_X_Randr_Edid_Display_Colorscheme;
236
237typedef enum _Ecore_X_Randr_Edid_Aspect_Ratio
238{
239 ECORE_X_RANDR_EDID_ASPECT_RATIO_4_3 = 0x0,
240 ECORE_X_RANDR_EDID_ASPECT_RATIO_16_9 = 0x1,
241 ECORE_X_RANDR_EDID_ASPECT_RATIO_16_10 = 0x2,
242 ECORE_X_RANDR_EDID_ASPECT_RATIO_5_4 = 0x4,
243 ECORE_X_RANDR_EDID_ASPECT_RATIO_15_9 = 0x8
244} Ecore_X_Randr_Edid_Aspect_Ratio;
245
246#define ECORE_X_RANDR_EDID_UNKNOWN_VALUE -1
247
248#define ECORE_X_SELECTION_TARGET_TARGETS "TARGETS"
249#define ECORE_X_SELECTION_TARGET_TEXT "TEXT"
250#define ECORE_X_SELECTION_TARGET_COMPOUND_TEXT "COMPOUND_TEXT"
251#define ECORE_X_SELECTION_TARGET_STRING "STRING"
252#define ECORE_X_SELECTION_TARGET_UTF8_STRING "UTF8_STRING"
253#define ECORE_X_SELECTION_TARGET_FILENAME "FILENAME"
254
255#define ECORE_X_DND_VERSION 5
256
257typedef enum _Ecore_X_Selection
258{
259 ECORE_X_SELECTION_PRIMARY,
260 ECORE_X_SELECTION_SECONDARY,
261 ECORE_X_SELECTION_XDND,
262 ECORE_X_SELECTION_CLIPBOARD,
263 ECORE_X_SELECTION_OTHER
264} Ecore_X_Selection;
265
266typedef enum _Ecore_X_Event_Mode
267{
268 ECORE_X_EVENT_MODE_NORMAL,
269 ECORE_X_EVENT_MODE_WHILE_GRABBED,
270 ECORE_X_EVENT_MODE_GRAB,
271 ECORE_X_EVENT_MODE_UNGRAB
272} Ecore_X_Event_Mode;
273
274typedef enum _Ecore_X_Event_Detail
275{
276 ECORE_X_EVENT_DETAIL_ANCESTOR,
277 ECORE_X_EVENT_DETAIL_VIRTUAL,
278 ECORE_X_EVENT_DETAIL_INFERIOR,
279 ECORE_X_EVENT_DETAIL_NON_LINEAR,
280 ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL,
281 ECORE_X_EVENT_DETAIL_POINTER,
282 ECORE_X_EVENT_DETAIL_POINTER_ROOT,
283 ECORE_X_EVENT_DETAIL_DETAIL_NONE
284} Ecore_X_Event_Detail;
285
286typedef enum _Ecore_X_Event_Mask
287{
288 ECORE_X_EVENT_MASK_NONE = 0L,
289 ECORE_X_EVENT_MASK_KEY_DOWN = (1L << 0),
290 ECORE_X_EVENT_MASK_KEY_UP = (1L << 1),
291 ECORE_X_EVENT_MASK_MOUSE_DOWN = (1L << 2),
292 ECORE_X_EVENT_MASK_MOUSE_UP = (1L << 3),
293 ECORE_X_EVENT_MASK_MOUSE_IN = (1L << 4),
294 ECORE_X_EVENT_MASK_MOUSE_OUT = (1L << 5),
295 ECORE_X_EVENT_MASK_MOUSE_MOVE = (1L << 6),
296 ECORE_X_EVENT_MASK_WINDOW_DAMAGE = (1L << 15),
297 ECORE_X_EVENT_MASK_WINDOW_VISIBILITY = (1L << 16),
298 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE = (1L << 17),
299 ECORE_X_EVENT_MASK_WINDOW_RESIZE_MANAGE = (1L << 18),
300 ECORE_X_EVENT_MASK_WINDOW_MANAGE = (1L << 19),
301 ECORE_X_EVENT_MASK_WINDOW_CHILD_CONFIGURE = (1L << 20),
302 ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE = (1L << 21),
303 ECORE_X_EVENT_MASK_WINDOW_PROPERTY = (1L << 22),
304 ECORE_X_EVENT_MASK_WINDOW_COLORMAP = (1L << 23),
305 ECORE_X_EVENT_MASK_WINDOW_GRAB = (1L << 24),
306 ECORE_X_EVENT_MASK_MOUSE_WHEEL = (1L << 29),
307 ECORE_X_EVENT_MASK_WINDOW_FOCUS_IN = (1L << 30),
308 ECORE_X_EVENT_MASK_WINDOW_FOCUS_OUT = (1L << 31)
309} Ecore_X_Event_Mask;
310
311typedef enum _Ecore_X_Gravity
312{
313 ECORE_X_GRAVITY_FORGET = 0,
314 ECORE_X_GRAVITY_UNMAP = 0,
315 ECORE_X_GRAVITY_NW = 1,
316 ECORE_X_GRAVITY_N = 2,
317 ECORE_X_GRAVITY_NE = 3,
318 ECORE_X_GRAVITY_W = 4,
319 ECORE_X_GRAVITY_CENTER = 5,
320 ECORE_X_GRAVITY_E = 6,
321 ECORE_X_GRAVITY_SW = 7,
322 ECORE_X_GRAVITY_S = 8,
323 ECORE_X_GRAVITY_SE = 9,
324 ECORE_X_GRAVITY_STATIC = 10
325} Ecore_X_Gravity;
326
327/* Needed for ecore_x_region_window_shape_set */
328typedef enum _Ecore_X_Shape_Type
329{
330 ECORE_X_SHAPE_BOUNDING,
331 ECORE_X_SHAPE_CLIP,
332 ECORE_X_SHAPE_INPUT
333} Ecore_X_Shape_Type;
334
335typedef enum _Ecore_X_Mapping_Type
336{
337 ECORE_X_MAPPING_MODIFIER,
338 ECORE_X_MAPPING_KEYBOARD,
339 ECORE_X_MAPPING_MOUSE
340} Ecore_X_Mapping_Type;
341
342typedef enum _Ecore_X_Randr_Property_Change
343{
344 ECORE_X_RANDR_PROPERTY_CHANGE_ADD,
345 ECORE_X_RANDR_PROPERTY_CHANGE_DEL
346} Ecore_X_Randr_Property_Change;
347
348typedef struct _Ecore_X_Event_Mouse_In Ecore_X_Event_Mouse_In;
349typedef struct _Ecore_X_Event_Mouse_Out Ecore_X_Event_Mouse_Out;
350typedef struct _Ecore_X_Event_Window_Focus_In Ecore_X_Event_Window_Focus_In;
351typedef struct _Ecore_X_Event_Window_Focus_Out Ecore_X_Event_Window_Focus_Out;
352typedef struct _Ecore_X_Event_Window_Keymap Ecore_X_Event_Window_Keymap;
353typedef struct _Ecore_X_Event_Window_Damage Ecore_X_Event_Window_Damage;
354typedef struct _Ecore_X_Event_Window_Visibility_Change Ecore_X_Event_Window_Visibility_Change;
355typedef struct _Ecore_X_Event_Window_Create Ecore_X_Event_Window_Create;
356typedef struct _Ecore_X_Event_Window_Destroy Ecore_X_Event_Window_Destroy;
357typedef struct _Ecore_X_Event_Window_Hide Ecore_X_Event_Window_Hide;
358typedef struct _Ecore_X_Event_Window_Show Ecore_X_Event_Window_Show;
359typedef struct _Ecore_X_Event_Window_Show_Request Ecore_X_Event_Window_Show_Request;
360typedef struct _Ecore_X_Event_Window_Reparent Ecore_X_Event_Window_Reparent;
361typedef struct _Ecore_X_Event_Window_Configure Ecore_X_Event_Window_Configure;
362typedef struct _Ecore_X_Event_Window_Configure_Request Ecore_X_Event_Window_Configure_Request;
363typedef struct _Ecore_X_Event_Window_Gravity Ecore_X_Event_Window_Gravity;
364typedef struct _Ecore_X_Event_Window_Resize_Request Ecore_X_Event_Window_Resize_Request;
365typedef struct _Ecore_X_Event_Window_Stack Ecore_X_Event_Window_Stack;
366typedef struct _Ecore_X_Event_Window_Stack_Request Ecore_X_Event_Window_Stack_Request;
367typedef struct _Ecore_X_Event_Window_Property Ecore_X_Event_Window_Property;
368typedef struct _Ecore_X_Event_Window_Colormap Ecore_X_Event_Window_Colormap;
369typedef struct _Ecore_X_Event_Mapping_Change Ecore_X_Event_Mapping_Change;
370typedef struct _Ecore_X_Event_Window_Mapping Ecore_X_Event_Window_Mapping;
371typedef struct _Ecore_X_Event_Selection_Clear Ecore_X_Event_Selection_Clear;
372typedef struct _Ecore_X_Event_Selection_Request Ecore_X_Event_Selection_Request;
373typedef struct _Ecore_X_Event_Selection_Notify Ecore_X_Event_Selection_Notify;
374typedef struct _Ecore_X_Event_Fixes_Selection_Notify Ecore_X_Event_Fixes_Selection_Notify;
375typedef struct _Ecore_X_Selection_Data Ecore_X_Selection_Data;
376typedef struct _Ecore_X_Selection_Data_Files Ecore_X_Selection_Data_Files;
377typedef struct _Ecore_X_Selection_Data_Text Ecore_X_Selection_Data_Text;
378typedef struct _Ecore_X_Selection_Data_Targets Ecore_X_Selection_Data_Targets;
379typedef struct _Ecore_X_Event_Xdnd_Enter Ecore_X_Event_Xdnd_Enter;
380typedef struct _Ecore_X_Event_Xdnd_Position Ecore_X_Event_Xdnd_Position;
381typedef struct _Ecore_X_Event_Xdnd_Status Ecore_X_Event_Xdnd_Status;
382typedef struct _Ecore_X_Event_Xdnd_Leave Ecore_X_Event_Xdnd_Leave;
383typedef struct _Ecore_X_Event_Xdnd_Drop Ecore_X_Event_Xdnd_Drop;
384typedef struct _Ecore_X_Event_Xdnd_Finished Ecore_X_Event_Xdnd_Finished;
385typedef struct _Ecore_X_Event_Client_Message Ecore_X_Event_Client_Message;
386typedef struct _Ecore_X_Event_Window_Shape Ecore_X_Event_Window_Shape;
387typedef struct _Ecore_X_Event_Screensaver_Notify Ecore_X_Event_Screensaver_Notify;
388typedef struct _Ecore_X_Event_Gesture_Notify_Flick Ecore_X_Event_Gesture_Notify_Flick;
389typedef struct _Ecore_X_Event_Gesture_Notify_Pan Ecore_X_Event_Gesture_Notify_Pan;
390typedef struct _Ecore_X_Event_Gesture_Notify_PinchRotation Ecore_X_Event_Gesture_Notify_PinchRotation;
391typedef struct _Ecore_X_Event_Gesture_Notify_Tap Ecore_X_Event_Gesture_Notify_Tap;
392typedef struct _Ecore_X_Event_Gesture_Notify_TapNHold Ecore_X_Event_Gesture_Notify_TapNHold;
393typedef struct _Ecore_X_Event_Gesture_Notify_Hold Ecore_X_Event_Gesture_Notify_Hold;
394typedef struct _Ecore_X_Event_Gesture_Notify_Group Ecore_X_Event_Gesture_Notify_Group;
395typedef struct _Ecore_X_Event_Sync_Counter Ecore_X_Event_Sync_Counter;
396typedef struct _Ecore_X_Event_Sync_Alarm Ecore_X_Event_Sync_Alarm;
397typedef struct _Ecore_X_Event_Screen_Change Ecore_X_Event_Screen_Change;
398typedef struct _Ecore_X_Event_Randr_Crtc_Change Ecore_X_Event_Randr_Crtc_Change;
399typedef struct _Ecore_X_Event_Randr_Output_Change Ecore_X_Event_Randr_Output_Change;
400typedef struct _Ecore_X_Event_Randr_Output_Property_Notify Ecore_X_Event_Randr_Output_Property_Notify;
401
402typedef struct _Ecore_X_Event_Window_Delete_Request Ecore_X_Event_Window_Delete_Request;
403typedef struct _Ecore_X_Event_Window_Move_Resize_Request Ecore_X_Event_Window_Move_Resize_Request;
404typedef struct _Ecore_X_Event_Window_State_Request Ecore_X_Event_Window_State_Request;
405typedef struct _Ecore_X_Event_Frame_Extents_Request Ecore_X_Event_Frame_Extents_Request;
406typedef struct _Ecore_X_Event_Ping Ecore_X_Event_Ping;
407typedef struct _Ecore_X_Event_Desktop_Change Ecore_X_Event_Desktop_Change;
408
409typedef struct _Ecore_X_Event_Startup_Sequence Ecore_X_Event_Startup_Sequence;
410
411typedef struct _Ecore_X_Event_Generic Ecore_X_Event_Generic;
412
413typedef struct _Ecore_X_Randr_Screen_Size Ecore_X_Randr_Screen_Size;
414typedef struct _Ecore_X_Randr_Screen_Size_MM Ecore_X_Randr_Screen_Size_MM;
415
416typedef struct _Ecore_X_Xdnd_Position Ecore_X_Xdnd_Position;
417
418struct _Ecore_X_Event_Mouse_In
419{
420 int modifiers;
421 int x, y;
422 Eina_Bool same_screen : 1;
423 struct
424 {
425 int x, y;
426 } root;
427 Ecore_X_Window win;
428 Ecore_X_Window event_win;
429 Ecore_X_Window root_win;
430 Ecore_X_Event_Mode mode;
431 Ecore_X_Event_Detail detail;
432 Ecore_X_Time time;
433};
434
435struct _Ecore_X_Event_Mouse_Out
436{
437 int modifiers;
438 int x, y;
439 int same_screen;
440 struct
441 {
442 int x, y;
443 } root;
444 Ecore_X_Window win;
445 Ecore_X_Window event_win;
446 Ecore_X_Window root_win;
447 Ecore_X_Event_Mode mode;
448 Ecore_X_Event_Detail detail;
449 Ecore_X_Time time;
450};
451
452struct _Ecore_X_Event_Window_Focus_In
453{
454 Ecore_X_Window win;
455 Ecore_X_Event_Mode mode;
456 Ecore_X_Event_Detail detail;
457 Ecore_X_Time time;
458};
459
460struct _Ecore_X_Event_Window_Focus_Out
461{
462 Ecore_X_Window win;
463 Ecore_X_Event_Mode mode;
464 Ecore_X_Event_Detail detail;
465 Ecore_X_Time time;
466};
467
468struct _Ecore_X_Event_Window_Keymap
469{
470 Ecore_X_Window win;
471};
472
473struct _Ecore_X_Event_Window_Damage
474{
475 Ecore_X_Window win;
476 int x, y, w, h;
477 int count;
478 Ecore_X_Time time;
479};
480
481struct _Ecore_X_Event_Window_Visibility_Change
482{
483 Ecore_X_Window win;
484 int fully_obscured;
485 Ecore_X_Time time;
486};
487
488struct _Ecore_X_Event_Window_Create
489{
490 Ecore_X_Window win;
491 Ecore_X_Window parent;
492 int override;
493 int x, y, w, h;
494 int border;
495 Ecore_X_Time time;
496};
497
498struct _Ecore_X_Event_Window_Destroy
499{
500 Ecore_X_Window win;
501 Ecore_X_Window event_win;
502 Ecore_X_Time time;
503};
504
505struct _Ecore_X_Event_Window_Hide
506{
507 Ecore_X_Window win;
508 Ecore_X_Window event_win;
509 Ecore_X_Time time;
510};
511
512struct _Ecore_X_Event_Window_Show
513{
514 Ecore_X_Window win;
515 Ecore_X_Window event_win;
516 Ecore_X_Time time;
517};
518
519struct _Ecore_X_Event_Window_Show_Request
520{
521 Ecore_X_Window win;
522 Ecore_X_Window parent;
523 Ecore_X_Time time;
524};
525
526struct _Ecore_X_Event_Window_Reparent
527{
528 Ecore_X_Window win;
529 Ecore_X_Window event_win;
530 Ecore_X_Window parent;
531 Ecore_X_Time time;
532};
533
534struct _Ecore_X_Event_Window_Configure
535{
536 Ecore_X_Window win;
537 Ecore_X_Window event_win;
538 Ecore_X_Window abovewin;
539 int x, y, w, h;
540 int border;
541 Eina_Bool override : 1;
542 Eina_Bool from_wm : 1;
543 Ecore_X_Time time;
544};
545
546struct _Ecore_X_Event_Window_Configure_Request
547{
548 Ecore_X_Window win;
549 Ecore_X_Window parent_win;
550 Ecore_X_Window abovewin;
551 int x, y, w, h;
552 int border;
553 Ecore_X_Window_Stack_Mode detail;
554 unsigned long value_mask;
555 Ecore_X_Time time;
556};
557
558struct _Ecore_X_Event_Window_Gravity
559{
560 Ecore_X_Window win;
561 Ecore_X_Window event_win;
562 Ecore_X_Time time;
563};
564
565struct _Ecore_X_Event_Window_Resize_Request
566{
567 Ecore_X_Window win;
568 int w, h;
569 Ecore_X_Time time;
570};
571
572struct _Ecore_X_Event_Window_Stack
573{
574 Ecore_X_Window win;
575 Ecore_X_Window event_win;
576 Ecore_X_Window_Stack_Mode detail;
577 Ecore_X_Time time;
578};
579
580struct _Ecore_X_Event_Window_Stack_Request
581{
582 Ecore_X_Window win;
583 Ecore_X_Window parent;
584 Ecore_X_Window_Stack_Mode detail;
585 Ecore_X_Time time;
586};
587
588struct _Ecore_X_Event_Window_Property
589{
590 Ecore_X_Window win;
591 Ecore_X_Atom atom;
592 Ecore_X_Time time;
593};
594
595struct _Ecore_X_Event_Window_Colormap
596{
597 Ecore_X_Window win;
598 Ecore_X_Colormap cmap;
599 Eina_Bool installed : 1;
600 Ecore_X_Time time;
601};
602
603struct _Ecore_X_Event_Mapping_Change
604{
605 Ecore_X_Mapping_Type type;
606 int keycode;
607 int num;
608};
609
610struct _Ecore_X_Event_Selection_Clear
611{
612 Ecore_X_Window win;
613 Ecore_X_Selection selection;
614 Ecore_X_Atom atom;
615 Ecore_X_Time time;
616};
617
618struct _Ecore_X_Event_Selection_Request
619{
620 Ecore_X_Window owner;
621 Ecore_X_Window requestor;
622 Ecore_X_Time time;
623 Ecore_X_Atom selection;
624 Ecore_X_Atom target;
625 Ecore_X_Atom property;
626};
627
628typedef enum
629{
630 ECORE_X_OWNER_CHANGE_REASON_NEW_OWNER,
631 ECORE_X_OWNER_CHANGE_REASON_DESTROY,
632 ECORE_X_OWNER_CHANGE_REASON_CLOSE
633} Ecore_X_Owner_Change_Reason;
634
635struct _Ecore_X_Event_Fixes_Selection_Notify
636{
637 Ecore_X_Window win;
638 Ecore_X_Window owner;
639 Ecore_X_Time time;
640 Ecore_X_Time selection_time;
641 Ecore_X_Selection selection;
642 Ecore_X_Atom atom;
643 Ecore_X_Owner_Change_Reason reason;
644};
645
646struct _Ecore_X_Event_Selection_Notify
647{
648 Ecore_X_Window win;
649 Ecore_X_Time time;
650 Ecore_X_Selection selection;
651 Ecore_X_Atom atom;
652 char *target;
653 void *data;
654};
655
656struct _Ecore_X_Selection_Data
657{
658 enum
659 {
660 ECORE_X_SELECTION_CONTENT_NONE,
661 ECORE_X_SELECTION_CONTENT_TEXT,
662 ECORE_X_SELECTION_CONTENT_FILES,
663 ECORE_X_SELECTION_CONTENT_TARGETS,
664 ECORE_X_SELECTION_CONTENT_CUSTOM
665 } content;
666 unsigned char *data;
667 int length;
668 int format;
669 int (*free)(void *data);
670};
671
672struct _Ecore_X_Selection_Data_Files
673{
674 Ecore_X_Selection_Data data;
675 char **files;
676 int num_files;
677};
678
679struct _Ecore_X_Selection_Data_Text
680{
681 Ecore_X_Selection_Data data;
682 char *text;
683};
684
685struct _Ecore_X_Selection_Data_Targets
686{
687 Ecore_X_Selection_Data data;
688 char **targets;
689 int num_targets;
690};
691
692struct _Ecore_X_Event_Xdnd_Enter
693{
694 Ecore_X_Window win, source;
695
696 char **types;
697 int num_types;
698};
699
700struct _Ecore_X_Event_Xdnd_Position
701{
702 Ecore_X_Window win, source;
703 struct
704 {
705 int x, y;
706 } position;
707 Ecore_X_Atom action;
708};
709
710struct _Ecore_X_Xdnd_Position
711{
712 Ecore_X_Window win, prev;
713 struct
714 {
715 int x, y;
716 } position;
717};
718
719struct _Ecore_X_Event_Xdnd_Status
720{
721 Ecore_X_Window win, target;
722 Eina_Bool will_accept : 1;
723 Ecore_X_Rectangle rectangle;
724 Ecore_X_Atom action;
725};
726
727struct _Ecore_X_Event_Xdnd_Leave
728{
729 Ecore_X_Window win, source;
730};
731
732struct _Ecore_X_Event_Xdnd_Drop
733{
734 Ecore_X_Window win, source;
735 Ecore_X_Atom action;
736 struct
737 {
738 int x, y;
739 } position;
740};
741
742struct _Ecore_X_Event_Xdnd_Finished
743{
744 Ecore_X_Window win, target;
745 Eina_Bool completed : 1;
746 Ecore_X_Atom action;
747};
748
749struct _Ecore_X_Event_Client_Message
750{
751 Ecore_X_Window win;
752 Ecore_X_Atom message_type;
753 int format;
754 union
755 {
756 char b[20];
757 short s[10];
758 long l[5];
759 } data;
760 Ecore_X_Time time;
761};
762
763struct _Ecore_X_Event_Window_Shape
764{
765 Ecore_X_Window win;
766 Ecore_X_Time time;
767 Ecore_X_Shape_Type type;
768 int x, y, w, h;
769 Eina_Bool shaped : 1;
770};
771
772struct _Ecore_X_Event_Screensaver_Notify
773{
774 Ecore_X_Window win;
775 Eina_Bool on : 1;
776 Ecore_X_Time time;
777};
778
779struct _Ecore_X_Event_Sync_Counter
780{
781 Ecore_X_Time time;
782};
783
784struct _Ecore_X_Event_Sync_Alarm
785{
786 Ecore_X_Time time;
787 Ecore_X_Sync_Alarm alarm;
788};
789
790struct _Ecore_X_Randr_Screen_Size
791{
792 int width, height;
793};
794
795struct _Ecore_X_Randr_Screen_Size_MM
796{
797 int width, height, width_mm, height_mm;
798};
799
800struct _Ecore_X_Event_Screen_Change
801{
802 Ecore_X_Window win;
803 Ecore_X_Window root;
804 Ecore_X_Randr_Screen_Size_MM size; /* in pixel and millimeters */
805 Ecore_X_Time time;
806 Ecore_X_Time config_time;
807 Ecore_X_Randr_Orientation orientation;
808 Ecore_X_Render_Subpixel_Order subpixel_order;
809 Ecore_X_Randr_Size_ID size_id;
810};
811
812struct _Ecore_X_Event_Randr_Crtc_Change
813{
814 Ecore_X_Window win;
815 Ecore_X_Randr_Crtc crtc;
816 Ecore_X_Randr_Mode mode;
817 Ecore_X_Randr_Orientation orientation;
818 Eina_Rectangle geo;
819};
820
821struct _Ecore_X_Event_Randr_Output_Change
822{
823 Ecore_X_Window win;
824 Ecore_X_Randr_Output output;
825 Ecore_X_Randr_Crtc crtc;
826 Ecore_X_Randr_Mode mode;
827 Ecore_X_Randr_Orientation orientation;
828 Ecore_X_Randr_Connection_Status connection;
829 Ecore_X_Render_Subpixel_Order subpixel_order;
830};
831
832struct _Ecore_X_Event_Randr_Output_Property_Notify
833{
834 Ecore_X_Window win;
835 Ecore_X_Randr_Output output;
836 Ecore_X_Atom property;
837 Ecore_X_Time time;
838 Ecore_X_Randr_Property_Change state;
839};
840
841struct _Ecore_X_Event_Window_Delete_Request
842{
843 Ecore_X_Window win;
844 Ecore_X_Time time;
845};
846
847struct _Ecore_X_Event_Startup_Sequence
848{
849 Ecore_X_Window win;
850};
851
852struct _Ecore_X_Event_Window_Move_Resize_Request
853{
854 Ecore_X_Window win;
855 int x, y;
856 int direction;
857 int button;
858 int source;
859};
860
861struct _Ecore_X_Event_Window_State_Request
862{
863 Ecore_X_Window win;
864 Ecore_X_Window_State_Action action;
865 Ecore_X_Window_State state[2];
866 int source;
867};
868
869struct _Ecore_X_Event_Frame_Extents_Request
870{
871 Ecore_X_Window win;
872};
873
874struct _Ecore_X_Event_Ping
875{
876 Ecore_X_Window win;
877 Ecore_X_Window event_win;
878 Ecore_X_Time time;
879};
880
881struct _Ecore_X_Event_Desktop_Change
882{
883 Ecore_X_Window win;
884 unsigned int desk;
885 int source;
886};
887
888struct _Ecore_X_Event_Generic
889{
890 int extension;
891 int evtype;
892 unsigned int cookie;
893 void *data;
894};
895
896EAPI extern int ECORE_X_EVENT_ANY; /**< low level event dependent on
897 backend in use, if Xlib will be XEvent,
898 if XCB will be xcb_generic_event_t.
899 @warning avoid using it.
900 */
901EAPI extern int ECORE_X_EVENT_MOUSE_IN;
902EAPI extern int ECORE_X_EVENT_MOUSE_OUT;
903EAPI extern int ECORE_X_EVENT_WINDOW_FOCUS_IN;
904EAPI extern int ECORE_X_EVENT_WINDOW_FOCUS_OUT;
905EAPI extern int ECORE_X_EVENT_WINDOW_KEYMAP;
906EAPI extern int ECORE_X_EVENT_WINDOW_DAMAGE;
907EAPI extern int ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE;
908EAPI extern int ECORE_X_EVENT_WINDOW_CREATE;
909EAPI extern int ECORE_X_EVENT_WINDOW_DESTROY;
910EAPI extern int ECORE_X_EVENT_WINDOW_HIDE;
911EAPI extern int ECORE_X_EVENT_WINDOW_SHOW;
912EAPI extern int ECORE_X_EVENT_WINDOW_SHOW_REQUEST;
913EAPI extern int ECORE_X_EVENT_WINDOW_REPARENT;
914EAPI extern int ECORE_X_EVENT_WINDOW_CONFIGURE;
915EAPI extern int ECORE_X_EVENT_WINDOW_CONFIGURE_REQUEST;
916EAPI extern int ECORE_X_EVENT_WINDOW_GRAVITY;
917EAPI extern int ECORE_X_EVENT_WINDOW_RESIZE_REQUEST;
918EAPI extern int ECORE_X_EVENT_WINDOW_STACK;
919EAPI extern int ECORE_X_EVENT_WINDOW_STACK_REQUEST;
920EAPI extern int ECORE_X_EVENT_WINDOW_PROPERTY;
921EAPI extern int ECORE_X_EVENT_WINDOW_COLORMAP;
922EAPI extern int ECORE_X_EVENT_WINDOW_MAPPING;
923EAPI extern int ECORE_X_EVENT_MAPPING_CHANGE;
924EAPI extern int ECORE_X_EVENT_SELECTION_CLEAR;
925EAPI extern int ECORE_X_EVENT_SELECTION_REQUEST;
926EAPI extern int ECORE_X_EVENT_SELECTION_NOTIFY;
927EAPI extern int ECORE_X_EVENT_FIXES_SELECTION_NOTIFY;
928EAPI extern int ECORE_X_EVENT_CLIENT_MESSAGE;
929EAPI extern int ECORE_X_EVENT_WINDOW_SHAPE;
930EAPI extern int ECORE_X_EVENT_SCREENSAVER_NOTIFY;
931EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_FLICK;
932EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_PAN;
933EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_PINCHROTATION;
934EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_TAP;
935EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_TAPNHOLD;
936EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_HOLD;
937EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_GROUP;
938EAPI extern int ECORE_X_EVENT_SYNC_COUNTER;
939EAPI extern int ECORE_X_EVENT_SYNC_ALARM;
940EAPI extern int ECORE_X_EVENT_SCREEN_CHANGE;
941EAPI extern int ECORE_X_EVENT_RANDR_CRTC_CHANGE;
942EAPI extern int ECORE_X_EVENT_RANDR_OUTPUT_CHANGE;
943EAPI extern int ECORE_X_EVENT_RANDR_OUTPUT_PROPERTY_NOTIFY;
944EAPI extern int ECORE_X_EVENT_DAMAGE_NOTIFY;
945
946EAPI extern int ECORE_X_EVENT_WINDOW_DELETE_REQUEST;
947
948EAPI extern int ECORE_X_EVENT_WINDOW_MOVE_RESIZE_REQUEST;
949EAPI extern int ECORE_X_EVENT_WINDOW_STATE_REQUEST;
950EAPI extern int ECORE_X_EVENT_FRAME_EXTENTS_REQUEST;
951EAPI extern int ECORE_X_EVENT_PING;
952EAPI extern int ECORE_X_EVENT_DESKTOP_CHANGE;
953
954EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_NEW;
955EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_CHANGE;
956EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_REMOVE;
957
958EAPI extern int ECORE_X_EVENT_GENERIC;
959
960EAPI extern int ECORE_X_EVENT_XDND_ENTER;
961EAPI extern int ECORE_X_EVENT_XDND_POSITION;
962EAPI extern int ECORE_X_EVENT_XDND_STATUS;
963EAPI extern int ECORE_X_EVENT_XDND_LEAVE;
964EAPI extern int ECORE_X_EVENT_XDND_DROP;
965EAPI extern int ECORE_X_EVENT_XDND_FINISHED;
966
967EAPI extern int ECORE_X_LOCK_SCROLL;
968EAPI extern int ECORE_X_LOCK_NUM;
969EAPI extern int ECORE_X_LOCK_CAPS;
970EAPI extern int ECORE_X_LOCK_SHIFT;
971
972typedef enum _Ecore_X_WM_Protocol
973{
974 /* If enabled the window manager will be asked to send a
975 * delete message instead of just closing (destroying) the window. */
976 ECORE_X_WM_PROTOCOL_DELETE_REQUEST,
977
978 /* If enabled the window manager will be told that the window
979 * explicitly sets input focus. */
980 ECORE_X_WM_PROTOCOL_TAKE_FOCUS,
981
982 /* If enabled the window manager can ping the window to check
983 * if it is alive. */
984 ECORE_X_NET_WM_PROTOCOL_PING,
985
986 /* If enabled the window manager can sync updating with the
987 * window (?) */
988 ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST,
989
990 /* Number of defined items */
991 ECORE_X_WM_PROTOCOL_NUM
992} Ecore_X_WM_Protocol;
993
994typedef enum _Ecore_X_Window_Input_Mode
995{
996 /* The window can never be focused */
997 ECORE_X_WINDOW_INPUT_MODE_NONE,
998
999 /* The window can be focused by the WM but doesn't focus itself */
1000 ECORE_X_WINDOW_INPUT_MODE_PASSIVE,
1001
1002 /* The window sets the focus itself if one of its sub-windows
1003 * already is focused */
1004 ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL,
1005
1006 /* The window sets the focus itself even if another window
1007 * is currently focused */
1008 ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL
1009} Ecore_X_Window_Input_Mode;
1010
1011typedef enum _Ecore_X_Window_State_Hint
1012{
1013 /** Do not provide any state hint to the window manager */
1014 ECORE_X_WINDOW_STATE_HINT_NONE = -1,
1015
1016 /** The window wants to remain hidden and NOT iconified */
1017 ECORE_X_WINDOW_STATE_HINT_WITHDRAWN,
1018
1019 /** The window wants to be mapped normally */
1020 ECORE_X_WINDOW_STATE_HINT_NORMAL,
1021
1022 /** The window wants to start in an iconified state */
1023 ECORE_X_WINDOW_STATE_HINT_ICONIC
1024} Ecore_X_Window_State_Hint;
1025
1026typedef enum _Ecore_X_Window_Type
1027{
1028 ECORE_X_WINDOW_TYPE_UNKNOWN = 0,
1029 ECORE_X_WINDOW_TYPE_DESKTOP,
1030 ECORE_X_WINDOW_TYPE_DOCK,
1031 ECORE_X_WINDOW_TYPE_TOOLBAR,
1032 ECORE_X_WINDOW_TYPE_MENU,
1033 ECORE_X_WINDOW_TYPE_UTILITY,
1034 ECORE_X_WINDOW_TYPE_SPLASH,
1035 ECORE_X_WINDOW_TYPE_DIALOG,
1036 ECORE_X_WINDOW_TYPE_NORMAL,
1037 ECORE_X_WINDOW_TYPE_DROPDOWN_MENU,
1038 ECORE_X_WINDOW_TYPE_POPUP_MENU,
1039 ECORE_X_WINDOW_TYPE_TOOLTIP,
1040 ECORE_X_WINDOW_TYPE_NOTIFICATION,
1041 ECORE_X_WINDOW_TYPE_COMBO,
1042 ECORE_X_WINDOW_TYPE_DND
1043} Ecore_X_Window_Type;
1044
1045typedef enum _Ecore_X_Action
1046{
1047 ECORE_X_ACTION_MOVE,
1048 ECORE_X_ACTION_RESIZE,
1049 ECORE_X_ACTION_MINIMIZE,
1050 ECORE_X_ACTION_SHADE,
1051 ECORE_X_ACTION_STICK,
1052 ECORE_X_ACTION_MAXIMIZE_HORZ,
1053 ECORE_X_ACTION_MAXIMIZE_VERT,
1054 ECORE_X_ACTION_FULLSCREEN,
1055 ECORE_X_ACTION_CHANGE_DESKTOP,
1056 ECORE_X_ACTION_CLOSE,
1057 ECORE_X_ACTION_ABOVE,
1058 ECORE_X_ACTION_BELOW
1059} Ecore_X_Action;
1060
1061typedef enum _Ecore_X_Window_Configure_Mask
1062{
1063 ECORE_X_WINDOW_CONFIGURE_MASK_X = (1 << 0),
1064 ECORE_X_WINDOW_CONFIGURE_MASK_Y = (1 << 1),
1065 ECORE_X_WINDOW_CONFIGURE_MASK_W = (1 << 2),
1066 ECORE_X_WINDOW_CONFIGURE_MASK_H = (1 << 3),
1067 ECORE_X_WINDOW_CONFIGURE_MASK_BORDER_WIDTH = (1 << 4),
1068 ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING = (1 << 5),
1069 ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE = (1 << 6)
1070} Ecore_X_Window_Configure_Mask;
1071
1072typedef enum _Ecore_X_Virtual_Keyboard_State
1073{
1074 ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN = 0,
1075 ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF,
1076 ECORE_X_VIRTUAL_KEYBOARD_STATE_ON,
1077 ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA,
1078 ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC,
1079 ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN,
1080 ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER,
1081 ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX,
1082 ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL,
1083 ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD,
1084 ECORE_X_VIRTUAL_KEYBOARD_STATE_IP,
1085 ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST,
1086 ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE,
1087 ECORE_X_VIRTUAL_KEYBOARD_STATE_URL,
1088 ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD,
1089 ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME
1090} Ecore_X_Virtual_Keyboard_State;
1091
1092typedef enum _Ecore_X_Illume_Mode
1093{
1094 ECORE_X_ILLUME_MODE_UNKNOWN = 0,
1095 ECORE_X_ILLUME_MODE_SINGLE,
1096 ECORE_X_ILLUME_MODE_DUAL_TOP,
1097 ECORE_X_ILLUME_MODE_DUAL_LEFT
1098} Ecore_X_Illume_Mode;
1099
1100typedef enum _Ecore_X_Illume_Quickpanel_State
1101{
1102 ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN = 0,
1103 ECORE_X_ILLUME_QUICKPANEL_STATE_OFF,
1104 ECORE_X_ILLUME_QUICKPANEL_STATE_ON
1105} Ecore_X_Illume_Quickpanel_State;
1106
1107/* Window layer constants */
1108#define ECORE_X_WINDOW_LAYER_BELOW 2
1109#define ECORE_X_WINDOW_LAYER_NORMAL 4
1110#define ECORE_X_WINDOW_LAYER_ABOVE 6
1111
1112/* Property list operations */
1113#define ECORE_X_PROP_LIST_REMOVE 0
1114#define ECORE_X_PROP_LIST_ADD 1
1115#define ECORE_X_PROP_LIST_TOGGLE 2
1116
1117EAPI int
1118 ecore_x_init(const char *name);
1119EAPI int
1120 ecore_x_shutdown(void);
1121EAPI int
1122 ecore_x_disconnect(void);
1123EAPI Ecore_X_Display *
1124 ecore_x_display_get(void);
1125EAPI Ecore_X_Connection *
1126 ecore_x_connection_get(void);
1127EAPI int
1128 ecore_x_fd_get(void);
1129EAPI Ecore_X_Screen *
1130 ecore_x_default_screen_get(void);
1131EAPI void
1132 ecore_x_screen_size_get(const Ecore_X_Screen *screen,
1133 int *w,
1134 int *h);
1135EAPI int
1136 ecore_x_screen_count_get(void);
1137EAPI int
1138 ecore_x_screen_index_get(const Ecore_X_Screen *screen);
1139EAPI Ecore_X_Screen *
1140 ecore_x_screen_get(int index);
1141
1142EAPI void
1143 ecore_x_double_click_time_set(double t);
1144EAPI double
1145 ecore_x_double_click_time_get(void);
1146EAPI void
1147 ecore_x_flush(void);
1148EAPI void
1149 ecore_x_sync(void);
1150EAPI void
1151 ecore_x_killall(Ecore_X_Window root);
1152EAPI void
1153 ecore_x_kill(Ecore_X_Window win);
1154EAPI int
1155 ecore_x_dpi_get(void);
1156EAPI Eina_Bool
1157 ecore_x_bell(int percent);
1158EAPI unsigned int
1159 ecore_x_visual_id_get(Ecore_X_Visual visual);
1160
1161EAPI Ecore_X_Visual
1162ecore_x_default_visual_get(Ecore_X_Display *disp,
1163 Ecore_X_Screen *screen);
1164EAPI Ecore_X_Colormap
1165ecore_x_default_colormap_get(Ecore_X_Display *disp,
1166 Ecore_X_Screen *screen);
1167EAPI int
1168ecore_x_default_depth_get(Ecore_X_Display *disp,
1169 Ecore_X_Screen *screen);
1170
1171EAPI Ecore_X_Time
1172ecore_x_current_time_get(void);
1173
1174EAPI void
1175ecore_x_error_handler_set(void (*func)(void *data),
1176 const void *data);
1177EAPI void
1178ecore_x_io_error_handler_set(void (*func)(void *data),
1179 const void *data);
1180EAPI int
1181 ecore_x_error_request_get(void);
1182EAPI int
1183 ecore_x_error_code_get(void);
1184
1185EAPI void
1186ecore_x_event_mask_set(Ecore_X_Window w,
1187 Ecore_X_Event_Mask mask);
1188EAPI void
1189ecore_x_event_mask_unset(Ecore_X_Window w,
1190 Ecore_X_Event_Mask mask);
1191
1192EAPI Eina_Bool
1193ecore_x_selection_notify_send(Ecore_X_Window requestor,
1194 Ecore_X_Atom selection,
1195 Ecore_X_Atom target,
1196 Ecore_X_Atom property,
1197 Ecore_X_Time time);
1198EAPI Eina_Bool
1199ecore_x_selection_primary_set(Ecore_X_Window w,
1200 const void *data,
1201 int size);
1202EAPI Eina_Bool
1203 ecore_x_selection_primary_clear(void);
1204EAPI Eina_Bool
1205 ecore_x_selection_secondary_set(Ecore_X_Window w,
1206 const void *data,
1207 int size);
1208EAPI Eina_Bool
1209 ecore_x_selection_secondary_clear(void);
1210EAPI Eina_Bool
1211 ecore_x_selection_xdnd_set(Ecore_X_Window w,
1212 const void *data,
1213 int size);
1214EAPI Eina_Bool
1215 ecore_x_selection_xdnd_clear(void);
1216EAPI Eina_Bool
1217 ecore_x_selection_clipboard_set(Ecore_X_Window w,
1218 const void *data,
1219 int size);
1220EAPI Eina_Bool
1221 ecore_x_selection_clipboard_clear(void);
1222EAPI void
1223 ecore_x_selection_primary_request(Ecore_X_Window w,
1224 const char *target);
1225EAPI void
1226ecore_x_selection_secondary_request(Ecore_X_Window w,
1227 const char *target);
1228EAPI void
1229ecore_x_selection_xdnd_request(Ecore_X_Window w,
1230 const char *target);
1231EAPI void
1232ecore_x_selection_clipboard_request(Ecore_X_Window w,
1233 const char *target);
1234EAPI Eina_Bool
1235ecore_x_selection_convert(Ecore_X_Atom selection,
1236 Ecore_X_Atom target,
1237 void **data_ret,
1238 int *len,
1239 Ecore_X_Atom *targprop,
1240 int *targsize);
1241EAPI void
1242ecore_x_selection_converter_add(char *target,
1243 Eina_Bool (*func)(char *target,
1244 void *data,
1245 int size,
1246 void **data_ret,
1247 int *size_ret,
1248 Ecore_X_Atom *,
1249 int *));
1250EAPI void
1251ecore_x_selection_converter_atom_add(Ecore_X_Atom target,
1252 Eina_Bool (*func)(char *target,
1253 void *data,
1254 int size,
1255 void **data_ret,
1256 int *size_ret,
1257 Ecore_X_Atom *tprop,
1258 int *tsize));
1259EAPI void
1260 ecore_x_selection_converter_del(char *target);
1261EAPI void
1262 ecore_x_selection_converter_atom_del(Ecore_X_Atom target);
1263EAPI void
1264 ecore_x_selection_parser_add(const char *target,
1265 void *(*func)(const char *target, void *data, int size, int format));
1266EAPI void
1267 ecore_x_selection_parser_del(const char *target);
1268EAPI void
1269 ecore_x_selection_owner_set(Ecore_X_Window win,
1270 Ecore_X_Atom atom,
1271 Ecore_X_Time tm);
1272EAPI Ecore_X_Window
1273ecore_x_selection_owner_get(Ecore_X_Atom atom);
1274
1275EAPI void
1276ecore_x_dnd_aware_set(Ecore_X_Window win,
1277 Eina_Bool on);
1278EAPI int
1279 ecore_x_dnd_version_get(Ecore_X_Window win);
1280EAPI Eina_Bool
1281 ecore_x_dnd_type_isset(Ecore_X_Window win,
1282 const char *type);
1283EAPI void
1284ecore_x_dnd_type_set(Ecore_X_Window win,
1285 const char *type,
1286 Eina_Bool on);
1287EAPI void
1288ecore_x_dnd_types_set(Ecore_X_Window win,
1289 const char **types,
1290 unsigned int num_types);
1291EAPI void
1292ecore_x_dnd_actions_set(Ecore_X_Window win,
1293 Ecore_X_Atom *actions,
1294 unsigned int num_actions);
1295EAPI Eina_Bool
1296ecore_x_dnd_begin(Ecore_X_Window source,
1297 unsigned char *data,
1298 int size);
1299EAPI Eina_Bool
1300 ecore_x_dnd_drop(void);
1301EAPI void
1302 ecore_x_dnd_send_status(Eina_Bool will_accept,
1303 Eina_Bool suppress,
1304 Ecore_X_Rectangle rectangle,
1305 Ecore_X_Atom action);
1306EAPI void
1307 ecore_x_dnd_send_finished(void);
1308EAPI void
1309 ecore_x_dnd_source_action_set(Ecore_X_Atom action);
1310EAPI Ecore_X_Atom
1311 ecore_x_dnd_source_action_get(void);
1312EAPI void
1313 ecore_x_dnd_callback_pos_update_set(void (*cb)(void *,
1314 Ecore_X_Xdnd_Position *data),
1315 const void *data);
1316
1317EAPI Ecore_X_Window
1318ecore_x_window_new(Ecore_X_Window parent,
1319 int x,
1320 int y,
1321 int w,
1322 int h);
1323EAPI Ecore_X_Window
1324ecore_x_window_override_new(Ecore_X_Window parent,
1325 int x,
1326 int y,
1327 int w,
1328 int h);
1329EAPI int
1330 ecore_x_window_argb_get(Ecore_X_Window win);
1331EAPI Ecore_X_Window
1332 ecore_x_window_manager_argb_new(Ecore_X_Window parent,
1333 int x,
1334 int y,
1335 int w,
1336 int h);
1337EAPI Ecore_X_Window
1338ecore_x_window_argb_new(Ecore_X_Window parent,
1339 int x,
1340 int y,
1341 int w,
1342 int h);
1343EAPI Ecore_X_Window
1344ecore_x_window_override_argb_new(Ecore_X_Window parent,
1345 int x,
1346 int y,
1347 int w,
1348 int h);
1349EAPI Ecore_X_Window
1350ecore_x_window_input_new(Ecore_X_Window parent,
1351 int x,
1352 int y,
1353 int w,
1354 int h);
1355EAPI void
1356ecore_x_window_configure(Ecore_X_Window win,
1357 Ecore_X_Window_Configure_Mask mask,
1358 int x,
1359 int y,
1360 int w,
1361 int h,
1362 int border_width,
1363 Ecore_X_Window sibling,
1364 int stack_mode);
1365EAPI void
1366ecore_x_window_cursor_set(Ecore_X_Window win,
1367 Ecore_X_Cursor c);
1368EAPI void
1369 ecore_x_window_free(Ecore_X_Window win);
1370EAPI void
1371 ecore_x_window_ignore_set(Ecore_X_Window win,
1372 int ignore);
1373EAPI Ecore_X_Window *
1374ecore_x_window_ignore_list(int *num);
1375
1376EAPI void
1377 ecore_x_window_delete_request_send(Ecore_X_Window win);
1378EAPI void
1379 ecore_x_window_show(Ecore_X_Window win);
1380EAPI void
1381 ecore_x_window_hide(Ecore_X_Window win);
1382EAPI void
1383 ecore_x_window_move(Ecore_X_Window win,
1384 int x,
1385 int y);
1386EAPI void
1387ecore_x_window_resize(Ecore_X_Window win,
1388 int w,
1389 int h);
1390EAPI void
1391ecore_x_window_move_resize(Ecore_X_Window win,
1392 int x,
1393 int y,
1394 int w,
1395 int h);
1396EAPI void
1397 ecore_x_window_focus(Ecore_X_Window win);
1398EAPI void
1399 ecore_x_window_focus_at_time(Ecore_X_Window win,
1400 Ecore_X_Time t);
1401EAPI Ecore_X_Window
1402 ecore_x_window_focus_get(void);
1403EAPI void
1404 ecore_x_window_raise(Ecore_X_Window win);
1405EAPI void
1406 ecore_x_window_lower(Ecore_X_Window win);
1407EAPI void
1408 ecore_x_window_reparent(Ecore_X_Window win,
1409 Ecore_X_Window new_parent,
1410 int x,
1411 int y);
1412EAPI void
1413ecore_x_window_size_get(Ecore_X_Window win,
1414 int *w,
1415 int *h);
1416EAPI void
1417ecore_x_window_geometry_get(Ecore_X_Window win,
1418 int *x,
1419 int *y,
1420 int *w,
1421 int *h);
1422EAPI int
1423 ecore_x_window_border_width_get(Ecore_X_Window win);
1424EAPI void
1425 ecore_x_window_border_width_set(Ecore_X_Window win,
1426 int width);
1427EAPI int
1428 ecore_x_window_depth_get(Ecore_X_Window win);
1429EAPI void
1430 ecore_x_window_cursor_show(Ecore_X_Window win,
1431 Eina_Bool show);
1432EAPI void
1433 ecore_x_window_defaults_set(Ecore_X_Window win);
1434EAPI int
1435 ecore_x_window_visible_get(Ecore_X_Window win);
1436EAPI Ecore_X_Window
1437 ecore_x_window_shadow_tree_at_xy_with_skip_get(Ecore_X_Window base,
1438 int x,
1439 int y,
1440 Ecore_X_Window *skip,
1441 int skip_num);
1442EAPI Ecore_X_Window
1443ecore_x_window_shadow_parent_get(Ecore_X_Window root,
1444 Ecore_X_Window win);
1445EAPI void
1446 ecore_x_window_shadow_tree_flush(void);
1447EAPI Ecore_X_Window
1448 ecore_x_window_root_get(Ecore_X_Window win);
1449EAPI Ecore_X_Window
1450 ecore_x_window_at_xy_get(int x,
1451 int y);
1452EAPI Ecore_X_Window
1453ecore_x_window_at_xy_with_skip_get(int x,
1454 int y,
1455 Ecore_X_Window *skip,
1456 int skip_num);
1457EAPI Ecore_X_Window
1458ecore_x_window_at_xy_begin_get(Ecore_X_Window begin,
1459 int x,
1460 int y);
1461EAPI Ecore_X_Window
1462ecore_x_window_parent_get(Ecore_X_Window win);
1463
1464EAPI void
1465ecore_x_window_background_color_set(Ecore_X_Window win,
1466 unsigned short r,
1467 unsigned short g,
1468 unsigned short b);
1469EAPI void
1470ecore_x_window_gravity_set(Ecore_X_Window win,
1471 Ecore_X_Gravity grav);
1472EAPI void
1473ecore_x_window_pixel_gravity_set(Ecore_X_Window win,
1474 Ecore_X_Gravity grav);
1475EAPI void
1476ecore_x_window_pixmap_set(Ecore_X_Window win,
1477 Ecore_X_Pixmap pmap);
1478EAPI void
1479ecore_x_window_area_clear(Ecore_X_Window win,
1480 int x,
1481 int y,
1482 int w,
1483 int h);
1484EAPI void
1485ecore_x_window_area_expose(Ecore_X_Window win,
1486 int x,
1487 int y,
1488 int w,
1489 int h);
1490EAPI void
1491ecore_x_window_override_set(Ecore_X_Window win,
1492 Eina_Bool override);
1493
1494EAPI void
1495ecore_x_window_prop_card32_set(Ecore_X_Window win,
1496 Ecore_X_Atom atom,
1497 unsigned int *val,
1498 unsigned int num);
1499EAPI int
1500ecore_x_window_prop_card32_get(Ecore_X_Window win,
1501 Ecore_X_Atom atom,
1502 unsigned int *val,
1503 unsigned int len);
1504EAPI int
1505ecore_x_window_prop_card32_list_get(Ecore_X_Window win,
1506 Ecore_X_Atom atom,
1507 unsigned int **plst);
1508
1509EAPI void
1510ecore_x_window_prop_xid_set(Ecore_X_Window win,
1511 Ecore_X_Atom atom,
1512 Ecore_X_Atom type,
1513 Ecore_X_ID *lst,
1514 unsigned int num);
1515EAPI int
1516ecore_x_window_prop_xid_get(Ecore_X_Window win,
1517 Ecore_X_Atom atom,
1518 Ecore_X_Atom type,
1519 Ecore_X_ID *lst,
1520 unsigned int len);
1521EAPI int
1522ecore_x_window_prop_xid_list_get(Ecore_X_Window win,
1523 Ecore_X_Atom atom,
1524 Ecore_X_Atom type,
1525 Ecore_X_ID **plst);
1526EAPI void
1527ecore_x_window_prop_xid_list_change(Ecore_X_Window win,
1528 Ecore_X_Atom atom,
1529 Ecore_X_Atom type,
1530 Ecore_X_ID item,
1531 int op);
1532EAPI void
1533ecore_x_window_prop_atom_set(Ecore_X_Window win,
1534 Ecore_X_Atom atom,
1535 Ecore_X_Atom *val,
1536 unsigned int num);
1537EAPI int
1538ecore_x_window_prop_atom_get(Ecore_X_Window win,
1539 Ecore_X_Atom atom,
1540 Ecore_X_Atom *val,
1541 unsigned int len);
1542EAPI int
1543ecore_x_window_prop_atom_list_get(Ecore_X_Window win,
1544 Ecore_X_Atom atom,
1545 Ecore_X_Atom **plst);
1546EAPI void
1547ecore_x_window_prop_atom_list_change(Ecore_X_Window win,
1548 Ecore_X_Atom atom,
1549 Ecore_X_Atom item,
1550 int op);
1551EAPI void
1552ecore_x_window_prop_window_set(Ecore_X_Window win,
1553 Ecore_X_Atom atom,
1554 Ecore_X_Window *val,
1555 unsigned int num);
1556EAPI int
1557ecore_x_window_prop_window_get(Ecore_X_Window win,
1558 Ecore_X_Atom atom,
1559 Ecore_X_Window *val,
1560 unsigned int len);
1561EAPI int
1562ecore_x_window_prop_window_list_get(Ecore_X_Window win,
1563 Ecore_X_Atom atom,
1564 Ecore_X_Window **plst);
1565
1566EAPI Ecore_X_Atom
1567 ecore_x_window_prop_any_type(void);
1568EAPI void
1569 ecore_x_window_prop_property_set(Ecore_X_Window win,
1570 Ecore_X_Atom type,
1571 Ecore_X_Atom format,
1572 int size,
1573 void *data,
1574 int number);
1575EAPI int
1576ecore_x_window_prop_property_get(Ecore_X_Window win,
1577 Ecore_X_Atom property,
1578 Ecore_X_Atom type,
1579 int size,
1580 unsigned char **data,
1581 int *num);
1582EAPI void
1583ecore_x_window_prop_property_del(Ecore_X_Window win,
1584 Ecore_X_Atom property);
1585EAPI Ecore_X_Atom *
1586ecore_x_window_prop_list(Ecore_X_Window win,
1587 int *num_ret);
1588EAPI void
1589ecore_x_window_prop_string_set(Ecore_X_Window win,
1590 Ecore_X_Atom type,
1591 const char *str);
1592EAPI char *
1593ecore_x_window_prop_string_get(Ecore_X_Window win,
1594 Ecore_X_Atom type);
1595EAPI Eina_Bool
1596ecore_x_window_prop_protocol_isset(Ecore_X_Window win,
1597 Ecore_X_WM_Protocol protocol);
1598EAPI Ecore_X_WM_Protocol *
1599ecore_x_window_prop_protocol_list_get(Ecore_X_Window win,
1600 int *num_ret);
1601
1602EAPI void
1603ecore_x_window_shape_mask_set(Ecore_X_Window win,
1604 Ecore_X_Pixmap mask);
1605EAPI void
1606ecore_x_window_shape_window_set(Ecore_X_Window win,
1607 Ecore_X_Window shape_win);
1608EAPI void
1609ecore_x_window_shape_window_set_xy(Ecore_X_Window win,
1610 Ecore_X_Window shape_win,
1611 int x,
1612 int y);
1613EAPI void
1614ecore_x_window_shape_rectangle_set(Ecore_X_Window win,
1615 int x,
1616 int y,
1617 int w,
1618 int h);
1619EAPI void
1620ecore_x_window_shape_rectangles_set(Ecore_X_Window win,
1621 Ecore_X_Rectangle *rects,
1622 int num);
1623EAPI void
1624ecore_x_window_shape_input_rectangle_set(Ecore_X_Window win,
1625 int x,
1626 int y,
1627 int w,
1628 int h);
1629EAPI void
1630ecore_x_window_shape_input_rectangles_set(Ecore_X_Window win,
1631 Ecore_X_Rectangle *rects,
1632 int num);
1633EAPI void
1634ecore_x_window_shape_input_rectangle_add(Ecore_X_Window win,
1635 int x,
1636 int y,
1637 int w,
1638 int h);
1639EAPI void
1640ecore_x_window_shape_rectangle_subtract(Ecore_X_Window win,
1641 int x,
1642 int y,
1643 int w,
1644 int h);
1645EAPI void
1646ecore_x_window_shape_input_rectangle_subtract(Ecore_X_Window win,
1647 int x,
1648 int y,
1649 int w,
1650 int h);
1651EAPI void
1652ecore_x_window_shape_input_window_set_xy(Ecore_X_Window win,
1653 Ecore_X_Window shape_win,
1654 int x,
1655 int y);
1656EAPI void
1657ecore_x_window_shape_input_window_set(Ecore_X_Window win,
1658 Ecore_X_Window shape_win);
1659EAPI void
1660ecore_x_window_shape_window_add(Ecore_X_Window win,
1661 Ecore_X_Window shape_win);
1662EAPI void
1663ecore_x_window_shape_window_add_xy(Ecore_X_Window win,
1664 Ecore_X_Window shape_win,
1665 int x,
1666 int y);
1667EAPI void
1668ecore_x_window_shape_input_window_add_xy(Ecore_X_Window win,
1669 Ecore_X_Window shape_win,
1670 int x,
1671 int y);
1672EAPI void
1673ecore_x_window_shape_rectangle_add(Ecore_X_Window win,
1674 int x,
1675 int y,
1676 int w,
1677 int h);
1678EAPI void
1679ecore_x_window_shape_rectangle_clip(Ecore_X_Window win,
1680 int x,
1681 int y,
1682 int w,
1683 int h);
1684EAPI void
1685ecore_x_window_shape_input_rectangle_clip(Ecore_X_Window win,
1686 int x,
1687 int y,
1688 int w,
1689 int h);
1690EAPI void
1691ecore_x_window_shape_rectangles_add(Ecore_X_Window win,
1692 Ecore_X_Rectangle *rects,
1693 int num);
1694EAPI void
1695ecore_x_window_shape_input_rectangles_add(Ecore_X_Window win,
1696 Ecore_X_Rectangle *rects,
1697 int num);
1698EAPI Ecore_X_Rectangle *
1699ecore_x_window_shape_rectangles_get(Ecore_X_Window win,
1700 int *num_ret);
1701EAPI Ecore_X_Rectangle *
1702ecore_x_window_shape_input_rectangles_get(Ecore_X_Window win,
1703 int *num_ret);
1704EAPI void
1705ecore_x_window_shape_events_select(Ecore_X_Window win,
1706 Eina_Bool on);
1707EAPI void
1708ecore_x_window_shape_input_mask_set(Ecore_X_Window win,
1709 Ecore_X_Pixmap mask);
1710
1711EAPI Ecore_X_Pixmap
1712ecore_x_pixmap_new(Ecore_X_Window win,
1713 int w,
1714 int h,
1715 int dep);
1716EAPI void
1717 ecore_x_pixmap_free(Ecore_X_Pixmap pmap);
1718EAPI void
1719 ecore_x_pixmap_paste(Ecore_X_Pixmap pmap,
1720 Ecore_X_Drawable dest,
1721 Ecore_X_GC gc,
1722 int sx,
1723 int sy,
1724 int w,
1725 int h,
1726 int dx,
1727 int dy);
1728EAPI void
1729ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap,
1730 int *x,
1731 int *y,
1732 int *w,
1733 int *h);
1734EAPI int
1735ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap);
1736
1737EAPI Ecore_X_GC
1738ecore_x_gc_new(Ecore_X_Drawable draw,
1739 Ecore_X_GC_Value_Mask value_mask,
1740 const unsigned int *value_list);
1741EAPI void
1742 ecore_x_gc_free(Ecore_X_GC gc);
1743EAPI void
1744 ecore_x_gc_foreground_set(Ecore_X_GC gc,
1745 unsigned long foreground);
1746EAPI void
1747ecore_x_gc_background_set(Ecore_X_GC gc,
1748 unsigned long background);
1749
1750EAPI Eina_Bool
1751ecore_x_client_message32_send(Ecore_X_Window win,
1752 Ecore_X_Atom type,
1753 Ecore_X_Event_Mask mask,
1754 long d0,
1755 long d1,
1756 long d2,
1757 long d3,
1758 long d4);
1759EAPI Eina_Bool
1760ecore_x_client_message8_send(Ecore_X_Window win,
1761 Ecore_X_Atom type,
1762 const void *data,
1763 int len);
1764EAPI Eina_Bool
1765ecore_x_mouse_move_send(Ecore_X_Window win,
1766 int x,
1767 int y);
1768EAPI Eina_Bool
1769ecore_x_mouse_down_send(Ecore_X_Window win,
1770 int x,
1771 int y,
1772 int b);
1773EAPI Eina_Bool
1774ecore_x_mouse_up_send(Ecore_X_Window win,
1775 int x,
1776 int y,
1777 int b);
1778
1779EAPI void
1780ecore_x_drawable_geometry_get(Ecore_X_Drawable d,
1781 int *x,
1782 int *y,
1783 int *w,
1784 int *h);
1785EAPI int
1786 ecore_x_drawable_border_width_get(Ecore_X_Drawable d);
1787EAPI int
1788 ecore_x_drawable_depth_get(Ecore_X_Drawable d);
1789EAPI void
1790 ecore_x_drawable_rectangle_fill(Ecore_X_Drawable d,
1791 Ecore_X_GC gc,
1792 int x,
1793 int y,
1794 int width,
1795 int height);
1796
1797EAPI Eina_Bool
1798 ecore_x_cursor_color_supported_get(void);
1799EAPI Ecore_X_Cursor
1800 ecore_x_cursor_new(Ecore_X_Window win,
1801 int *pixels,
1802 int w,
1803 int h,
1804 int hot_x,
1805 int hot_y);
1806EAPI void
1807 ecore_x_cursor_free(Ecore_X_Cursor c);
1808EAPI Ecore_X_Cursor
1809 ecore_x_cursor_shape_get(int shape);
1810EAPI void
1811 ecore_x_cursor_size_set(int size);
1812EAPI int
1813 ecore_x_cursor_size_get(void);
1814
1815/* FIXME: these funcs need categorising */
1816EAPI Ecore_X_Window *
1817 ecore_x_window_root_list(int *num_ret);
1818EAPI Ecore_X_Window
1819 ecore_x_window_root_first_get(void);
1820EAPI Eina_Bool
1821 ecore_x_window_manage(Ecore_X_Window win);
1822EAPI void
1823 ecore_x_window_container_manage(Ecore_X_Window win);
1824EAPI void
1825 ecore_x_window_client_manage(Ecore_X_Window win);
1826EAPI void
1827 ecore_x_window_sniff(Ecore_X_Window win);
1828EAPI void
1829 ecore_x_window_client_sniff(Ecore_X_Window win);
1830
1831EAPI Ecore_X_Atom
1832 ecore_x_atom_get(const char *name);
1833EAPI void
1834 ecore_x_atoms_get(const char **names,
1835 int num,
1836 Ecore_X_Atom *atoms);
1837EAPI char *
1838ecore_x_atom_name_get(Ecore_X_Atom atom);
1839
1840EAPI void
1841 ecore_x_icccm_init(void);
1842EAPI void
1843 ecore_x_icccm_state_set(Ecore_X_Window win,
1844 Ecore_X_Window_State_Hint state);
1845EAPI Ecore_X_Window_State_Hint
1846 ecore_x_icccm_state_get(Ecore_X_Window win);
1847EAPI void
1848 ecore_x_icccm_delete_window_send(Ecore_X_Window win,
1849 Ecore_X_Time t);
1850EAPI void
1851ecore_x_icccm_take_focus_send(Ecore_X_Window win,
1852 Ecore_X_Time t);
1853EAPI void
1854ecore_x_icccm_save_yourself_send(Ecore_X_Window win,
1855 Ecore_X_Time t);
1856EAPI void
1857ecore_x_icccm_move_resize_send(Ecore_X_Window win,
1858 int x,
1859 int y,
1860 int w,
1861 int h);
1862EAPI void
1863ecore_x_icccm_hints_set(Ecore_X_Window win,
1864 Eina_Bool accepts_focus,
1865 Ecore_X_Window_State_Hint initial_state,
1866 Ecore_X_Pixmap icon_pixmap,
1867 Ecore_X_Pixmap icon_mask,
1868 Ecore_X_Window icon_window,
1869 Ecore_X_Window window_group,
1870 Eina_Bool is_urgent);
1871EAPI Eina_Bool
1872ecore_x_icccm_hints_get(Ecore_X_Window win,
1873 Eina_Bool *accepts_focus,
1874 Ecore_X_Window_State_Hint *initial_state,
1875 Ecore_X_Pixmap *icon_pixmap,
1876 Ecore_X_Pixmap *icon_mask,
1877 Ecore_X_Window *icon_window,
1878 Ecore_X_Window *window_group,
1879 Eina_Bool *is_urgent);
1880EAPI void
1881ecore_x_icccm_size_pos_hints_set(Ecore_X_Window win,
1882 Eina_Bool request_pos,
1883 Ecore_X_Gravity gravity,
1884 int min_w,
1885 int min_h,
1886 int max_w,
1887 int max_h,
1888 int base_w,
1889 int base_h,
1890 int step_x,
1891 int step_y,
1892 double min_aspect,
1893 double max_aspect);
1894EAPI Eina_Bool
1895ecore_x_icccm_size_pos_hints_get(Ecore_X_Window win,
1896 Eina_Bool *request_pos,
1897 Ecore_X_Gravity *gravity,
1898 int *min_w,
1899 int *min_h,
1900 int *max_w,
1901 int *max_h,
1902 int *base_w,
1903 int *base_h,
1904 int *step_x,
1905 int *step_y,
1906 double *min_aspect,
1907 double *max_aspect);
1908EAPI void
1909ecore_x_icccm_title_set(Ecore_X_Window win,
1910 const char *t);
1911EAPI char *
1912 ecore_x_icccm_title_get(Ecore_X_Window win);
1913EAPI void
1914 ecore_x_icccm_protocol_atoms_set(Ecore_X_Window win,
1915 Ecore_X_Atom *protos,
1916 int num);
1917EAPI void
1918ecore_x_icccm_protocol_set(Ecore_X_Window win,
1919 Ecore_X_WM_Protocol protocol,
1920 Eina_Bool on);
1921EAPI Eina_Bool
1922ecore_x_icccm_protocol_isset(Ecore_X_Window win,
1923 Ecore_X_WM_Protocol protocol);
1924EAPI void
1925ecore_x_icccm_name_class_set(Ecore_X_Window win,
1926 const char *n,
1927 const char *c);
1928EAPI void
1929ecore_x_icccm_name_class_get(Ecore_X_Window win,
1930 char **n,
1931 char **c);
1932EAPI char *
1933 ecore_x_icccm_client_machine_get(Ecore_X_Window win);
1934EAPI void
1935 ecore_x_icccm_command_set(Ecore_X_Window win,
1936 int argc,
1937 char **argv);
1938EAPI void
1939ecore_x_icccm_command_get(Ecore_X_Window win,
1940 int *argc,
1941 char ***argv);
1942EAPI char *
1943 ecore_x_icccm_icon_name_get(Ecore_X_Window win);
1944EAPI void
1945 ecore_x_icccm_icon_name_set(Ecore_X_Window win,
1946 const char *t);
1947EAPI void
1948ecore_x_icccm_colormap_window_set(Ecore_X_Window win,
1949 Ecore_X_Window subwin);
1950EAPI void
1951ecore_x_icccm_colormap_window_unset(Ecore_X_Window win,
1952 Ecore_X_Window subwin);
1953EAPI void
1954ecore_x_icccm_transient_for_set(Ecore_X_Window win,
1955 Ecore_X_Window forwin);
1956EAPI void
1957 ecore_x_icccm_transient_for_unset(Ecore_X_Window win);
1958EAPI Ecore_X_Window
1959 ecore_x_icccm_transient_for_get(Ecore_X_Window win);
1960EAPI void
1961 ecore_x_icccm_window_role_set(Ecore_X_Window win,
1962 const char *role);
1963EAPI char *
1964 ecore_x_icccm_window_role_get(Ecore_X_Window win);
1965EAPI void
1966 ecore_x_icccm_client_leader_set(Ecore_X_Window win,
1967 Ecore_X_Window l);
1968EAPI Ecore_X_Window
1969 ecore_x_icccm_client_leader_get(Ecore_X_Window win);
1970EAPI void
1971 ecore_x_icccm_iconic_request_send(Ecore_X_Window win,
1972 Ecore_X_Window root);
1973
1974typedef enum _Ecore_X_MWM_Hint_Func
1975{
1976 ECORE_X_MWM_HINT_FUNC_ALL = (1 << 0),
1977 ECORE_X_MWM_HINT_FUNC_RESIZE = (1 << 1),
1978 ECORE_X_MWM_HINT_FUNC_MOVE = (1 << 2),
1979 ECORE_X_MWM_HINT_FUNC_MINIMIZE = (1 << 3),
1980 ECORE_X_MWM_HINT_FUNC_MAXIMIZE = (1 << 4),
1981 ECORE_X_MWM_HINT_FUNC_CLOSE = (1 << 5)
1982} Ecore_X_MWM_Hint_Func;
1983
1984typedef enum _Ecore_X_MWM_Hint_Decor
1985{
1986 ECORE_X_MWM_HINT_DECOR_ALL = (1 << 0),
1987 ECORE_X_MWM_HINT_DECOR_BORDER = (1 << 1),
1988 ECORE_X_MWM_HINT_DECOR_RESIZEH = (1 << 2),
1989 ECORE_X_MWM_HINT_DECOR_TITLE = (1 << 3),
1990 ECORE_X_MWM_HINT_DECOR_MENU = (1 << 4),
1991 ECORE_X_MWM_HINT_DECOR_MINIMIZE = (1 << 5),
1992 ECORE_X_MWM_HINT_DECOR_MAXIMIZE = (1 << 6)
1993} Ecore_X_MWM_Hint_Decor;
1994
1995typedef enum _Ecore_X_MWM_Hint_Input
1996{
1997 ECORE_X_MWM_HINT_INPUT_MODELESS = 0,
1998 ECORE_X_MWM_HINT_INPUT_PRIMARY_APPLICATION_MODAL = 1,
1999 ECORE_X_MWM_HINT_INPUT_SYSTEM_MODAL = 2,
2000 ECORE_X_MWM_HINT_INPUT_FULL_APPLICATION_MODAL = 3
2001} Ecore_X_MWM_Hint_Input;
2002
2003EAPI Eina_Bool
2004ecore_x_mwm_hints_get(Ecore_X_Window win,
2005 Ecore_X_MWM_Hint_Func *fhint,
2006 Ecore_X_MWM_Hint_Decor *dhint,
2007 Ecore_X_MWM_Hint_Input *ihint);
2008EAPI void
2009ecore_x_mwm_borderless_set(Ecore_X_Window win,
2010 Eina_Bool borderless);
2011
2012/* netwm */
2013EAPI void
2014 ecore_x_netwm_init(void);
2015EAPI void
2016 ecore_x_netwm_shutdown(void);
2017EAPI void
2018 ecore_x_netwm_wm_identify(Ecore_X_Window root,
2019 Ecore_X_Window check,
2020 const char *wm_name);
2021EAPI void
2022ecore_x_netwm_supported_set(Ecore_X_Window root,
2023 Ecore_X_Atom *supported,
2024 int num);
2025EAPI Eina_Bool
2026ecore_x_netwm_supported_get(Ecore_X_Window root,
2027 Ecore_X_Atom **supported,
2028 int *num);
2029EAPI void
2030ecore_x_netwm_desk_count_set(Ecore_X_Window root,
2031 unsigned int n_desks);
2032EAPI void
2033ecore_x_netwm_desk_roots_set(Ecore_X_Window root,
2034 Ecore_X_Window *vroots,
2035 unsigned int n_desks);
2036EAPI void
2037ecore_x_netwm_desk_names_set(Ecore_X_Window root,
2038 const char **names,
2039 unsigned int n_desks);
2040EAPI void
2041ecore_x_netwm_desk_size_set(Ecore_X_Window root,
2042 unsigned int width,
2043 unsigned int height);
2044EAPI void
2045ecore_x_netwm_desk_workareas_set(Ecore_X_Window root,
2046 unsigned int *areas,
2047 unsigned int n_desks);
2048EAPI unsigned int *
2049ecore_x_netwm_desk_workareas_get(Ecore_X_Window root,
2050 unsigned int *n_desks);
2051EAPI void
2052ecore_x_netwm_desk_current_set(Ecore_X_Window root,
2053 unsigned int desk);
2054EAPI void
2055ecore_x_netwm_desk_viewports_set(Ecore_X_Window root,
2056 unsigned int *origins,
2057 unsigned int n_desks);
2058EAPI void
2059ecore_x_netwm_desk_layout_set(Ecore_X_Window root,
2060 int orientation,
2061 int columns,
2062 int rows,
2063 int starting_corner);
2064EAPI void
2065ecore_x_netwm_showing_desktop_set(Ecore_X_Window root,
2066 Eina_Bool on);
2067EAPI void
2068ecore_x_netwm_client_list_set(Ecore_X_Window root,
2069 Ecore_X_Window *p_clients,
2070 unsigned int n_clients);
2071EAPI void
2072ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root,
2073 Ecore_X_Window *p_clients,
2074 unsigned int n_clients);
2075EAPI void
2076ecore_x_netwm_client_active_set(Ecore_X_Window root,
2077 Ecore_X_Window win);
2078EAPI void
2079ecore_x_netwm_client_active_request(Ecore_X_Window root,
2080 Ecore_X_Window win,
2081 int type,
2082 Ecore_X_Window current_win);
2083EAPI void
2084ecore_x_netwm_name_set(Ecore_X_Window win,
2085 const char *name);
2086EAPI int
2087ecore_x_netwm_name_get(Ecore_X_Window win,
2088 char **name);
2089EAPI void
2090ecore_x_netwm_startup_id_set(Ecore_X_Window win,
2091 const char *id);
2092EAPI int
2093ecore_x_netwm_startup_id_get(Ecore_X_Window win,
2094 char **id);
2095EAPI void
2096ecore_x_netwm_visible_name_set(Ecore_X_Window win,
2097 const char *name);
2098EAPI int
2099ecore_x_netwm_visible_name_get(Ecore_X_Window win,
2100 char **name);
2101EAPI void
2102ecore_x_netwm_icon_name_set(Ecore_X_Window win,
2103 const char *name);
2104EAPI int
2105ecore_x_netwm_icon_name_get(Ecore_X_Window win,
2106 char **name);
2107EAPI void
2108ecore_x_netwm_visible_icon_name_set(Ecore_X_Window win,
2109 const char *name);
2110EAPI int
2111ecore_x_netwm_visible_icon_name_get(Ecore_X_Window win,
2112 char **name);
2113EAPI void
2114ecore_x_netwm_desktop_set(Ecore_X_Window win,
2115 unsigned int desk);
2116EAPI Eina_Bool
2117ecore_x_netwm_desktop_get(Ecore_X_Window win,
2118 unsigned int *desk);
2119EAPI void
2120ecore_x_netwm_strut_set(Ecore_X_Window win,
2121 int left,
2122 int right,
2123 int top,
2124 int bottom);
2125EAPI Eina_Bool
2126ecore_x_netwm_strut_get(Ecore_X_Window win,
2127 int *left,
2128 int *right,
2129 int *top,
2130 int *bottom);
2131EAPI void
2132ecore_x_netwm_strut_partial_set(Ecore_X_Window win,
2133 int left,
2134 int right,
2135 int top,
2136 int bottom,
2137 int left_start_y,
2138 int left_end_y,
2139 int right_start_y,
2140 int right_end_y,
2141 int top_start_x,
2142 int top_end_x,
2143 int bottom_start_x,
2144 int bottom_end_x);
2145EAPI Eina_Bool
2146ecore_x_netwm_strut_partial_get(Ecore_X_Window win,
2147 int *left,
2148 int *right,
2149 int *top,
2150 int *bottom,
2151 int *left_start_y,
2152 int *left_end_y,
2153 int *right_start_y,
2154 int *right_end_y,
2155 int *top_start_x,
2156 int *top_end_x,
2157 int *bottom_start_x,
2158 int *bottom_end_x);
2159
2160EAPI Eina_Bool
2161ecore_x_netwm_icons_get(Ecore_X_Window win,
2162 Ecore_X_Icon **icon,
2163 int *num);
2164EAPI void
2165ecore_x_netwm_icon_geometry_set(Ecore_X_Window win,
2166 int x,
2167 int y,
2168 int width,
2169 int height);
2170EAPI Eina_Bool
2171ecore_x_netwm_icon_geometry_get(Ecore_X_Window win,
2172 int *x,
2173 int *y,
2174 int *width,
2175 int *height);
2176EAPI void
2177ecore_x_netwm_pid_set(Ecore_X_Window win,
2178 int pid);
2179EAPI Eina_Bool
2180ecore_x_netwm_pid_get(Ecore_X_Window win,
2181 int *pid);
2182EAPI void
2183 ecore_x_netwm_handled_icons_set(Ecore_X_Window win);
2184EAPI Eina_Bool
2185 ecore_x_netwm_handled_icons_get(Ecore_X_Window win);
2186EAPI void
2187 ecore_x_netwm_user_time_set(Ecore_X_Window win,
2188 unsigned int time);
2189EAPI Eina_Bool
2190ecore_x_netwm_user_time_get(Ecore_X_Window win,
2191 unsigned int *time);
2192EAPI void
2193ecore_x_netwm_window_state_set(Ecore_X_Window win,
2194 Ecore_X_Window_State *state,
2195 unsigned int num);
2196EAPI Eina_Bool
2197ecore_x_netwm_window_state_get(Ecore_X_Window win,
2198 Ecore_X_Window_State **state,
2199 unsigned int *num);
2200EAPI void
2201ecore_x_netwm_window_type_set(Ecore_X_Window win,
2202 Ecore_X_Window_Type type);
2203EAPI Eina_Bool
2204ecore_x_netwm_window_type_get(Ecore_X_Window win,
2205 Ecore_X_Window_Type *type);
2206EAPI int
2207ecore_x_netwm_window_types_get(Ecore_X_Window win,
2208 Ecore_X_Window_Type **types);
2209EAPI Eina_Bool
2210ecore_x_netwm_allowed_action_isset(Ecore_X_Window win,
2211 Ecore_X_Action action);
2212EAPI void
2213ecore_x_netwm_allowed_action_set(Ecore_X_Window win,
2214 Ecore_X_Action *action,
2215 unsigned int num);
2216EAPI Eina_Bool
2217ecore_x_netwm_allowed_action_get(Ecore_X_Window win,
2218 Ecore_X_Action **action,
2219 unsigned int *num);
2220EAPI void
2221ecore_x_netwm_opacity_set(Ecore_X_Window win,
2222 unsigned int opacity);
2223EAPI Eina_Bool
2224ecore_x_netwm_opacity_get(Ecore_X_Window win,
2225 unsigned int *opacity);
2226EAPI void
2227ecore_x_netwm_frame_size_set(Ecore_X_Window win,
2228 int fl,
2229 int fr,
2230 int ft,
2231 int fb);
2232EAPI Eina_Bool
2233ecore_x_netwm_frame_size_get(Ecore_X_Window win,
2234 int *fl,
2235 int *fr,
2236 int *ft,
2237 int *fb);
2238EAPI Eina_Bool
2239ecore_x_netwm_sync_counter_get(Ecore_X_Window win,
2240 Ecore_X_Sync_Counter *counter);
2241EAPI void
2242 ecore_x_netwm_ping_send(Ecore_X_Window win);
2243EAPI void
2244 ecore_x_netwm_sync_request_send(Ecore_X_Window win,
2245 unsigned int serial);
2246EAPI void
2247ecore_x_netwm_state_request_send(Ecore_X_Window win,
2248 Ecore_X_Window root,
2249 Ecore_X_Window_State s1,
2250 Ecore_X_Window_State s2,
2251 Eina_Bool set);
2252EAPI void
2253ecore_x_netwm_desktop_request_send(Ecore_X_Window win,
2254 Ecore_X_Window root,
2255 unsigned int desktop);
2256
2257EAPI void
2258 ecore_x_e_init(void);
2259EAPI void
2260 ecore_x_e_frame_size_set(Ecore_X_Window win,
2261 int fl,
2262 int fr,
2263 int ft,
2264 int fb);
2265EAPI void
2266ecore_x_e_virtual_keyboard_set(Ecore_X_Window win,
2267 unsigned int is_keyboard);
2268EAPI Eina_Bool
2269 ecore_x_e_virtual_keyboard_get(Ecore_X_Window win);
2270EAPI void
2271 ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win,
2272 Ecore_X_Virtual_Keyboard_State state);
2273EAPI Ecore_X_Virtual_Keyboard_State
2274 ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win);
2275EAPI void
2276 ecore_x_e_virtual_keyboard_state_send(Ecore_X_Window win,
2277 Ecore_X_Virtual_Keyboard_State state);
2278
2279/* Illume functions */
2280EAPI void
2281ecore_x_e_illume_zone_set(Ecore_X_Window win,
2282 Ecore_X_Window zone);
2283EAPI Ecore_X_Window
2284 ecore_x_e_illume_zone_get(Ecore_X_Window win);
2285EAPI void
2286 ecore_x_e_illume_zone_list_set(Ecore_X_Window win,
2287 Ecore_X_Window *zones,
2288 unsigned int n_zones);
2289EAPI void
2290ecore_x_e_illume_conformant_set(Ecore_X_Window win,
2291 unsigned int is_conformant);
2292EAPI Eina_Bool
2293 ecore_x_e_illume_conformant_get(Ecore_X_Window win);
2294EAPI void
2295 ecore_x_e_illume_mode_set(Ecore_X_Window win,
2296 Ecore_X_Illume_Mode mode);
2297EAPI Ecore_X_Illume_Mode
2298 ecore_x_e_illume_mode_get(Ecore_X_Window win);
2299EAPI void
2300 ecore_x_e_illume_mode_send(Ecore_X_Window win,
2301 Ecore_X_Illume_Mode mode);
2302EAPI void
2303 ecore_x_e_illume_focus_back_send(Ecore_X_Window win);
2304EAPI void
2305 ecore_x_e_illume_focus_forward_send(Ecore_X_Window win);
2306EAPI void
2307 ecore_x_e_illume_focus_home_send(Ecore_X_Window win);
2308EAPI void
2309 ecore_x_e_illume_close_send(Ecore_X_Window win);
2310EAPI void
2311 ecore_x_e_illume_home_new_send(Ecore_X_Window win);
2312EAPI void
2313 ecore_x_e_illume_home_del_send(Ecore_X_Window win);
2314EAPI void
2315 ecore_x_e_illume_drag_set(Ecore_X_Window win,
2316 unsigned int drag);
2317EAPI Eina_Bool
2318 ecore_x_e_illume_drag_get(Ecore_X_Window win);
2319EAPI void
2320 ecore_x_e_illume_drag_locked_set(Ecore_X_Window win,
2321 unsigned int is_locked);
2322EAPI Eina_Bool
2323 ecore_x_e_illume_drag_locked_get(Ecore_X_Window win);
2324EAPI void
2325 ecore_x_e_illume_drag_start_send(Ecore_X_Window win);
2326EAPI void
2327 ecore_x_e_illume_drag_end_send(Ecore_X_Window win);
2328EAPI void
2329 ecore_x_e_illume_indicator_geometry_set(Ecore_X_Window win,
2330 int x,
2331 int y,
2332 int w,
2333 int h);
2334EAPI Eina_Bool
2335ecore_x_e_illume_indicator_geometry_get(Ecore_X_Window win,
2336 int *x,
2337 int *y,
2338 int *w,
2339 int *h);
2340EAPI void
2341ecore_x_e_illume_softkey_geometry_set(Ecore_X_Window win,
2342 int x,
2343 int y,
2344 int w,
2345 int h);
2346EAPI Eina_Bool
2347ecore_x_e_illume_softkey_geometry_get(Ecore_X_Window win,
2348 int *x,
2349 int *y,
2350 int *w,
2351 int *h);
2352EAPI void
2353ecore_x_e_illume_keyboard_geometry_set(Ecore_X_Window win,
2354 int x,
2355 int y,
2356 int w,
2357 int h);
2358EAPI Eina_Bool
2359ecore_x_e_illume_keyboard_geometry_get(Ecore_X_Window win,
2360 int *x,
2361 int *y,
2362 int *w,
2363 int *h);
2364EAPI void
2365ecore_x_e_illume_quickpanel_set(Ecore_X_Window win,
2366 unsigned int is_quickpanel);
2367EAPI Eina_Bool
2368 ecore_x_e_illume_quickpanel_get(Ecore_X_Window win);
2369EAPI void
2370 ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win,
2371 Ecore_X_Illume_Quickpanel_State state);
2372EAPI Ecore_X_Illume_Quickpanel_State
2373 ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win);
2374EAPI void
2375 ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win,
2376 Ecore_X_Illume_Quickpanel_State state);
2377EAPI void
2378 ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win);
2379EAPI void
2380 ecore_x_e_illume_quickpanel_priority_major_set(Ecore_X_Window win,
2381 unsigned int priority);
2382EAPI int
2383 ecore_x_e_illume_quickpanel_priority_major_get(Ecore_X_Window win);
2384EAPI void
2385 ecore_x_e_illume_quickpanel_priority_minor_set(Ecore_X_Window win,
2386 unsigned int priority);
2387EAPI int
2388 ecore_x_e_illume_quickpanel_priority_minor_get(Ecore_X_Window win);
2389EAPI void
2390 ecore_x_e_illume_quickpanel_zone_set(Ecore_X_Window win,
2391 unsigned int zone);
2392EAPI int
2393 ecore_x_e_illume_quickpanel_zone_get(Ecore_X_Window win);
2394EAPI void
2395 ecore_x_e_illume_quickpanel_zone_request_send(Ecore_X_Window win);
2396EAPI void
2397 ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win);
2398
2399EAPI void
2400ecore_x_e_comp_sync_counter_set(Ecore_X_Window win,
2401 Ecore_X_Sync_Counter counter);
2402EAPI Ecore_X_Sync_Counter
2403 ecore_x_e_comp_sync_counter_get(Ecore_X_Window win);
2404EAPI void
2405 ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root,
2406 Ecore_X_Window win);
2407EAPI void
2408ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root,
2409 Ecore_X_Window win,
2410 int w,
2411 int h);
2412EAPI void
2413ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
2414 Eina_Bool enabled);
2415EAPI Eina_Bool
2416 ecore_x_e_comp_sync_supported_get(Ecore_X_Window root);
2417EAPI void
2418 ecore_x_e_comp_sync_begin_send(Ecore_X_Window win);
2419EAPI void
2420 ecore_x_e_comp_sync_end_send(Ecore_X_Window win);
2421EAPI void
2422 ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win);
2423
2424EAPI void
2425 ecore_x_e_comp_flush_send(Ecore_X_Window win);
2426EAPI void
2427 ecore_x_e_comp_dump_send(Ecore_X_Window win);
2428EAPI void
2429 ecore_x_e_comp_pixmap_set(Ecore_X_Window win,
2430 Ecore_X_Pixmap pixmap);
2431EAPI Ecore_X_Pixmap
2432ecore_x_e_comp_pixmap_get(Ecore_X_Window win);
2433
2434EAPI Ecore_X_Sync_Alarm
2435 ecore_x_sync_alarm_new(Ecore_X_Sync_Counter counter);
2436EAPI Eina_Bool
2437 ecore_x_sync_alarm_free(Ecore_X_Sync_Alarm alarm);
2438EAPI Eina_Bool
2439 ecore_x_sync_counter_query(Ecore_X_Sync_Counter counter,
2440 unsigned int *val);
2441EAPI Ecore_X_Sync_Counter
2442 ecore_x_sync_counter_new(int val);
2443EAPI void
2444 ecore_x_sync_counter_free(Ecore_X_Sync_Counter counter);
2445EAPI void
2446 ecore_x_sync_counter_inc(Ecore_X_Sync_Counter counter,
2447 int by);
2448EAPI void
2449ecore_x_sync_counter_val_wait(Ecore_X_Sync_Counter counter,
2450 int val);
2451
2452EAPI void
2453ecore_x_sync_counter_set(Ecore_X_Sync_Counter counter,
2454 int val);
2455EAPI void
2456ecore_x_sync_counter_2_set(Ecore_X_Sync_Counter counter,
2457 int val_hi,
2458 unsigned int val_lo);
2459EAPI Eina_Bool
2460ecore_x_sync_counter_2_query(Ecore_X_Sync_Counter counter,
2461 int *val_hi,
2462 unsigned int *val_lo);
2463
2464EAPI int
2465 ecore_x_xinerama_screen_count_get(void);
2466EAPI Eina_Bool
2467 ecore_x_xinerama_screen_geometry_get(int screen,
2468 int *x,
2469 int *y,
2470 int *w,
2471 int *h);
2472
2473EAPI Eina_Bool
2474 ecore_x_screensaver_event_available_get(void);
2475EAPI int
2476 ecore_x_screensaver_idle_time_get(void);
2477EAPI void
2478 ecore_x_screensaver_set(int timeout,
2479 int interval,
2480 int prefer_blanking,
2481 int allow_exposures);
2482EAPI void
2483 ecore_x_screensaver_timeout_set(int timeout);
2484EAPI int
2485 ecore_x_screensaver_timeout_get(void);
2486EAPI void
2487 ecore_x_screensaver_blank_set(int timeout);
2488EAPI int
2489 ecore_x_screensaver_blank_get(void);
2490EAPI void
2491 ecore_x_screensaver_expose_set(int timeout);
2492EAPI int
2493 ecore_x_screensaver_expose_get(void);
2494EAPI void
2495 ecore_x_screensaver_interval_set(int timeout);
2496EAPI int
2497 ecore_x_screensaver_interval_get(void);
2498EAPI void
2499 ecore_x_screensaver_event_listen_set(Eina_Bool on);
2500
2501/* FIXME: these funcs need categorising */
2502
2503typedef struct _Ecore_X_Window_Attributes
2504{
2505 Ecore_X_Window root;
2506 int x, y, w, h;
2507 int border;
2508 int depth;
2509 Eina_Bool visible : 1;
2510 Eina_Bool viewable : 1;
2511 Eina_Bool override : 1;
2512 Eina_Bool input_only : 1;
2513 Eina_Bool save_under : 1;
2514 struct
2515 {
2516 Ecore_X_Event_Mask mine;
2517 Ecore_X_Event_Mask all;
2518 Ecore_X_Event_Mask no_propagate;
2519 } event_mask;
2520 Ecore_X_Gravity window_gravity;
2521 Ecore_X_Gravity pixel_gravity;
2522 Ecore_X_Colormap colormap;
2523 Ecore_X_Visual visual;
2524 /* FIXME: missing
2525 * int map_installed;
2526 * Screen *screen;
2527 */
2528} Ecore_X_Window_Attributes;
2529
2530EAPI Eina_Bool
2531ecore_x_window_attributes_get(Ecore_X_Window win,
2532 Ecore_X_Window_Attributes *att_ret);
2533EAPI void
2534 ecore_x_window_save_set_add(Ecore_X_Window win);
2535EAPI void
2536 ecore_x_window_save_set_del(Ecore_X_Window win);
2537EAPI Ecore_X_Window *
2538 ecore_x_window_children_get(Ecore_X_Window win,
2539 int *num);
2540
2541EAPI Eina_Bool
2542ecore_x_pointer_control_set(int accel_num,
2543 int accel_denom,
2544 int threshold);
2545EAPI Eina_Bool
2546ecore_x_pointer_control_get(int *accel_num,
2547 int *accel_denom,
2548 int *threshold);
2549EAPI Eina_Bool
2550ecore_x_pointer_mapping_set(unsigned char *map,
2551 int nmap);
2552EAPI Eina_Bool
2553ecore_x_pointer_mapping_get(unsigned char *map,
2554 int nmap);
2555EAPI Eina_Bool
2556 ecore_x_pointer_grab(Ecore_X_Window win);
2557EAPI Eina_Bool
2558 ecore_x_pointer_confine_grab(Ecore_X_Window win);
2559EAPI void
2560 ecore_x_pointer_ungrab(void);
2561EAPI Eina_Bool
2562 ecore_x_pointer_warp(Ecore_X_Window win,
2563 int x,
2564 int y);
2565EAPI Eina_Bool
2566 ecore_x_keyboard_grab(Ecore_X_Window win);
2567EAPI void
2568 ecore_x_keyboard_ungrab(void);
2569EAPI void
2570 ecore_x_grab(void);
2571EAPI void
2572 ecore_x_ungrab(void);
2573EAPI void
2574 ecore_x_passive_grab_replay_func_set(Eina_Bool (*func)(void *data,
2575 int event_type,
2576 void *event),
2577 void *data);
2578EAPI void
2579ecore_x_window_button_grab(Ecore_X_Window win,
2580 int button,
2581 Ecore_X_Event_Mask event_mask,
2582 int mod,
2583 int any_mod);
2584EAPI void
2585ecore_x_window_button_ungrab(Ecore_X_Window win,
2586 int button,
2587 int mod,
2588 int any_mod);
2589EAPI void
2590ecore_x_window_key_grab(Ecore_X_Window win,
2591 const char *key,
2592 int mod,
2593 int any_mod);
2594EAPI void
2595ecore_x_window_key_ungrab(Ecore_X_Window win,
2596 const char *key,
2597 int mod,
2598 int any_mod);
2599
2600EAPI void
2601 ecore_x_focus_reset(void);
2602EAPI void
2603 ecore_x_events_allow_all(void);
2604EAPI void
2605 ecore_x_pointer_last_xy_get(int *x,
2606 int *y);
2607EAPI void
2608ecore_x_pointer_xy_get(Ecore_X_Window win,
2609 int *x,
2610 int *y);
2611
2612/* ecore_x_region.c */
2613EAPI Ecore_X_XRegion *
2614 ecore_x_xregion_new(void);
2615EAPI void
2616 ecore_x_xregion_free(Ecore_X_XRegion *region);
2617EAPI Eina_Bool
2618 ecore_x_xregion_set(Ecore_X_XRegion *region,
2619 Ecore_X_GC gc);
2620EAPI void
2621ecore_x_xregion_translate(Ecore_X_XRegion *region,
2622 int x,
2623 int y);
2624EAPI Eina_Bool
2625ecore_x_xregion_intersect(Ecore_X_XRegion *dst,
2626 Ecore_X_XRegion *r1,
2627 Ecore_X_XRegion *r2);
2628EAPI Eina_Bool
2629ecore_x_xregion_union(Ecore_X_XRegion *dst,
2630 Ecore_X_XRegion *r1,
2631 Ecore_X_XRegion *r2);
2632EAPI Eina_Bool
2633ecore_x_xregion_union_rect(Ecore_X_XRegion *dst,
2634 Ecore_X_XRegion *src,
2635 Ecore_X_Rectangle *rect);
2636EAPI Eina_Bool
2637ecore_x_xregion_subtract(Ecore_X_XRegion *dst,
2638 Ecore_X_XRegion *r1,
2639 Ecore_X_XRegion *r2);
2640EAPI Eina_Bool
2641 ecore_x_xregion_is_empty(Ecore_X_XRegion *region);
2642EAPI Eina_Bool
2643 ecore_x_xregion_is_equal(Ecore_X_XRegion *r1,
2644 Ecore_X_XRegion *r2);
2645EAPI Eina_Bool
2646ecore_x_xregion_point_contain(Ecore_X_XRegion *region,
2647 int x,
2648 int y);
2649EAPI Eina_Bool
2650ecore_x_xregion_rect_contain(Ecore_X_XRegion *region,
2651 Ecore_X_Rectangle *rect);
2652
2653/* ecore_x_randr.c */
2654
2655/* The usage of 'Ecore_X_Randr_None' or 'Ecore_X_Randr_Unset'
2656 * depends on the context. In most cases 'Ecore_X_Randr_Unset'
2657 * can be used, but in some cases -1 is a special value to
2658 * functions, thus 'Ecore_X_Randr_None' (=0) musst be used.
2659 */
2660
2661typedef short Ecore_X_Randr_Refresh_Rate;
2662typedef int Ecore_X_Randr_Crtc_Gamma;
2663typedef int Ecore_X_Randr_Signal_Format;
2664typedef int Ecore_X_Randr_Signal_Property;
2665typedef int Ecore_X_Randr_Connector_Type;
2666
2667typedef struct _Ecore_X_Randr_Mode_Info
2668{
2669 Ecore_X_ID xid;
2670 unsigned int width;
2671 unsigned int height;
2672 unsigned long dotClock;
2673 unsigned int hSyncStart;
2674 unsigned int hSyncEnd;
2675 unsigned int hTotal;
2676 unsigned int hSkew;
2677 unsigned int vSyncStart;
2678 unsigned int vSyncEnd;
2679 unsigned int vTotal;
2680 char *name;
2681 unsigned int nameLength;
2682 unsigned long modeFlags;
2683} Ecore_X_Randr_Mode_Info;
2684
2685EAPI int
2686 ecore_x_randr_version_get(void);
2687EAPI Eina_Bool
2688 ecore_x_randr_query(void);
2689
2690/* ecore_x_randr_11.c */
2691EAPI Ecore_X_Randr_Orientation
2692 ecore_x_randr_screen_primary_output_orientations_get(Ecore_X_Window root);
2693EAPI Ecore_X_Randr_Orientation
2694 ecore_x_randr_screen_primary_output_orientation_get(Ecore_X_Window root);
2695EAPI Eina_Bool
2696 ecore_x_randr_screen_primary_output_orientation_set(Ecore_X_Window root,
2697 Ecore_X_Randr_Orientation orientation);
2698EAPI Ecore_X_Randr_Screen_Size_MM *
2699ecore_x_randr_screen_primary_output_sizes_get(Ecore_X_Window root,
2700 int *num);
2701EAPI void
2702ecore_x_randr_screen_primary_output_current_size_get(Ecore_X_Window root,
2703 int *w,
2704 int *h,
2705 int *w_mm,
2706 int *h_mm,
2707 int *size_index);
2708EAPI Eina_Bool
2709ecore_x_randr_screen_primary_output_size_set(Ecore_X_Window root,
2710 int size_index);
2711EAPI Ecore_X_Randr_Refresh_Rate
2712 ecore_x_randr_screen_primary_output_current_refresh_rate_get(Ecore_X_Window root);
2713EAPI Ecore_X_Randr_Refresh_Rate *
2714 ecore_x_randr_screen_primary_output_refresh_rates_get(Ecore_X_Window root,
2715 int size_index,
2716 int *num);
2717EAPI Eina_Bool
2718ecore_x_randr_screen_primary_output_refresh_rate_set(Ecore_X_Window root,
2719 int size_index,
2720 Ecore_X_Randr_Refresh_Rate rate);
2721
2722/* ecore_x_randr_12.c */
2723EAPI void
2724ecore_x_randr_events_select(Ecore_X_Window win,
2725 Eina_Bool on);
2726
2727EAPI void
2728ecore_x_randr_screen_current_size_get(Ecore_X_Window root,
2729 int *w,
2730 int *h,
2731 int *w_mm,
2732 int *h_mm);
2733EAPI void
2734ecore_x_randr_screen_size_range_get(Ecore_X_Window root,
2735 int *wmin,
2736 int *hmin,
2737 int *wmax,
2738 int *hmax);
2739EAPI void
2740 ecore_x_randr_screen_reset(Ecore_X_Window root);
2741EAPI Eina_Bool
2742 ecore_x_randr_screen_current_size_set(Ecore_X_Window root,
2743 int w,
2744 int h,
2745 int w_mm,
2746 int h_mm);
2747EAPI Ecore_X_Randr_Mode_Info **
2748ecore_x_randr_modes_info_get(Ecore_X_Window root,
2749 int *num);
2750EAPI Ecore_X_Randr_Mode_Info *
2751ecore_x_randr_mode_info_get(Ecore_X_Window root,
2752 Ecore_X_Randr_Mode mode);
2753EAPI void
2754 ecore_x_randr_mode_info_free(Ecore_X_Randr_Mode_Info *mode_info);
2755EAPI Ecore_X_Randr_Crtc *
2756 ecore_x_randr_crtcs_get(Ecore_X_Window root,
2757 int *num);
2758EAPI Ecore_X_Randr_Output *ecore_x_randr_outputs_get(Ecore_X_Window root,
2759 int *num);
2760EAPI Ecore_X_Randr_Output *
2761ecore_x_randr_window_outputs_get(Ecore_X_Window window,
2762 int *num);
2763EINA_DEPRECATED EAPI Ecore_X_Randr_Output *
2764ecore_x_randr_current_output_get(Ecore_X_Window window,
2765 int *num);
2766EAPI Ecore_X_Randr_Crtc *
2767ecore_x_randr_current_crtc_get(Ecore_X_Window window,
2768 int *num);
2769EAPI Ecore_X_Randr_Output *
2770ecore_x_randr_crtc_outputs_get(Ecore_X_Window root,
2771 Ecore_X_Randr_Crtc crtc,
2772 int *num);
2773EAPI Ecore_X_Randr_Output *
2774ecore_x_randr_crtc_possible_outputs_get(Ecore_X_Window root,
2775 Ecore_X_Randr_Crtc crtc,
2776 int *num);
2777EAPI void
2778ecore_x_randr_crtc_geometry_get(Ecore_X_Window root,
2779 Ecore_X_Randr_Crtc crtc,
2780 int *x,
2781 int *y,
2782 int *w,
2783 int *h);
2784EAPI void
2785ecore_x_randr_crtc_pos_get(Ecore_X_Window root,
2786 Ecore_X_Randr_Crtc crtc,
2787 int *x,
2788 int *y);
2789EAPI Eina_Bool
2790ecore_x_randr_crtc_pos_set(Ecore_X_Window root,
2791 Ecore_X_Randr_Crtc crtc,
2792 int x,
2793 int y);
2794EAPI Ecore_X_Randr_Mode
2795ecore_x_randr_crtc_mode_get(Ecore_X_Window root,
2796 Ecore_X_Randr_Crtc crtc);
2797EAPI Eina_Bool
2798ecore_x_randr_crtc_mode_set(Ecore_X_Window root,
2799 Ecore_X_Randr_Crtc crtc,
2800 Ecore_X_Randr_Output *outputs,
2801 int noutputs,
2802 Ecore_X_Randr_Mode mode);
2803EAPI void
2804ecore_x_randr_crtc_size_get(Ecore_X_Window root,
2805 Ecore_X_Randr_Crtc crtc,
2806 int *w,
2807 int *h);
2808EAPI Ecore_X_Randr_Refresh_Rate
2809ecore_x_randr_crtc_refresh_rate_get(Ecore_X_Window root,
2810 Ecore_X_Randr_Crtc crtc,
2811 Ecore_X_Randr_Mode mode);
2812EAPI Ecore_X_Randr_Orientation
2813ecore_x_randr_crtc_orientations_get(Ecore_X_Window root,
2814 Ecore_X_Randr_Crtc crtc);
2815EAPI Ecore_X_Randr_Orientation
2816ecore_x_randr_crtc_orientation_get(Ecore_X_Window root,
2817 Ecore_X_Randr_Crtc crtc);
2818EAPI Eina_Bool
2819ecore_x_randr_crtc_orientation_set(Ecore_X_Window root,
2820 Ecore_X_Randr_Crtc crtc,
2821 const Ecore_X_Randr_Orientation orientation);
2822EAPI Eina_Bool
2823ecore_x_randr_crtc_clone_set(Ecore_X_Window root,
2824 Ecore_X_Randr_Crtc original,
2825 Ecore_X_Randr_Crtc clone);
2826EAPI Eina_Bool
2827ecore_x_randr_crtc_settings_set(Ecore_X_Window root,
2828 Ecore_X_Randr_Crtc crtc,
2829 Ecore_X_Randr_Output *outputs,
2830 int noutputs,
2831 int x,
2832 int y,
2833 Ecore_X_Randr_Mode mode,
2834 Ecore_X_Randr_Orientation orientation);
2835EAPI Eina_Bool
2836ecore_x_randr_crtc_pos_relative_set(Ecore_X_Window root,
2837 Ecore_X_Randr_Crtc crtc_r1,
2838 Ecore_X_Randr_Crtc crtc_r2,
2839 Ecore_X_Randr_Output_Policy policy,
2840 Ecore_X_Randr_Relative_Alignment alignment);
2841EAPI Ecore_X_Randr_Mode *
2842ecore_x_randr_output_modes_get(Ecore_X_Window root,
2843 Ecore_X_Randr_Output output,
2844 int *num,
2845 int *npreferred);
2846EAPI Ecore_X_Randr_Output *ecore_x_randr_output_clones_get(Ecore_X_Window root,
2847 Ecore_X_Randr_Output output,
2848 int *num);
2849EAPI Ecore_X_Randr_Crtc *ecore_x_randr_output_possible_crtcs_get(Ecore_X_Window root,
2850 Ecore_X_Randr_Output output,
2851 int *num);
2852EAPI Ecore_X_Randr_Crtc
2853ecore_x_randr_output_crtc_get(Ecore_X_Window root,
2854 Ecore_X_Randr_Output output);
2855EAPI char *
2856ecore_x_randr_output_name_get(Ecore_X_Window root,
2857 Ecore_X_Randr_Output output,
2858 int *len);
2859EAPI int
2860 ecore_x_randr_crtc_gamma_ramp_size_get(Ecore_X_Randr_Crtc crtc);
2861EAPI Ecore_X_Randr_Crtc_Gamma **
2862 ecore_x_randr_crtc_gamma_ramps_get(Ecore_X_Randr_Crtc crtc);
2863EAPI Eina_Bool
2864 ecore_x_randr_crtc_gamma_ramps_set(Ecore_X_Randr_Crtc crtc,
2865 const Ecore_X_Randr_Crtc_Gamma *red,
2866 const Ecore_X_Randr_Crtc_Gamma *green,
2867 const Ecore_X_Randr_Crtc_Gamma *blue);
2868EAPI Eina_Bool
2869ecore_x_randr_move_all_crtcs_but(Ecore_X_Window root,
2870 const Ecore_X_Randr_Crtc *not_moved,
2871 int nnot_moved,
2872 int dx,
2873 int dy);
2874EAPI Eina_Bool
2875ecore_x_randr_move_crtcs(Ecore_X_Window root,
2876 const Ecore_X_Randr_Crtc *crtcs,
2877 int ncrtc,
2878 int dx,
2879 int dy);
2880EAPI void
2881ecore_x_randr_mode_size_get(Ecore_X_Window root,
2882 Ecore_X_Randr_Mode mode,
2883 int *w,
2884 int *h);
2885EAPI Ecore_X_Randr_Connection_Status
2886ecore_x_randr_output_connection_status_get(Ecore_X_Window root,
2887 Ecore_X_Randr_Output output);
2888EAPI void
2889ecore_x_randr_output_size_mm_get(Ecore_X_Window root,
2890 Ecore_X_Randr_Output output,
2891 int *w,
2892 int *h);
2893EAPI Eina_Bool
2894ecore_x_randr_output_crtc_set(Ecore_X_Window root,
2895 Ecore_X_Randr_Output output,
2896 const Ecore_X_Randr_Crtc crtc);
2897
2898/* ecore_x_randr_12_edid.c */
2899
2900/*
2901 * @brief Validates the header from raw EDID data.
2902 *
2903 * @param edid the edid structure
2904 * @param edid_length length of the edid structure
2905 * @return EINA_TRUE, if the header is valid. Else EINA_FALSE.
2906 */
2907EAPI Eina_Bool
2908ecore_x_randr_edid_has_valid_header(unsigned char *edid,
2909 unsigned long edid_length);
2910
2911/*
2912 * @brief Checks whether a display's EDID has a valid checksum.
2913 *
2914 * @param edid the edid structure
2915 * @param edid_length length of the edid structure
2916 * @return EINA_TRUE, if the checksum is valid. Else EINA_FALSE.
2917 */
2918EAPI Eina_Bool
2919ecore_x_randr_edid_info_has_valid_checksum(unsigned char *edid,
2920 unsigned long edid_length);
2921
2922/*
2923 * @brief Get the encoded version from raw EDID data.
2924 *
2925 * The return value has the minor version in the lowest 8 bits, and the major
2926 * version in all the rest of the bits. i.e.
2927 *
2928 * minor = (version & 0x000000ff);
2929 * major = (version & 0xffffff00) >> 8;
2930 *
2931 * @param edid the edid structure
2932 * @param edid_length length of the edid structure
2933 * @return The encoded major and minor version encasuplated an int.
2934 */
2935EAPI int
2936ecore_x_randr_edid_version_get(unsigned char *edid,
2937 unsigned long edid_length);
2938
2939/*
2940 * @brief Get the encoded manufacturer from raw EDID data.
2941 *
2942 * @param edid the edid structure
2943 * @param edid_length length of the edid structure
2944 * @return The encoded manufacturer identifier.
2945 */
2946EAPI char *
2947ecore_x_randr_edid_manufacturer_name_get(unsigned char *edid,
2948 unsigned long edid_length);
2949
2950/*
2951 * @brief Get the encoded name from raw EDID data.
2952 *
2953 * @param edid the edid structure
2954 * @param edid_length length of the edid structure
2955 * @return The encoded manufacturer identifier.
2956 */
2957EAPI char *
2958ecore_x_randr_edid_display_name_get(unsigned char *edid,
2959 unsigned long edid_length);
2960
2961/*
2962 * @brief Get the encoded ASCII from raw EDID data.
2963 *
2964 * @param edid the edid structure
2965 * @param edid_length length of the edid structure
2966 * @return The encoded ASCII display identifier.
2967 */
2968EAPI char *
2969ecore_x_randr_edid_display_ascii_get(unsigned char *edid,
2970 unsigned long edid_length);
2971
2972/*
2973 * @brief Get the encoded serial identifier from raw EDID data.
2974 *
2975 * @param edid the edid structure
2976 * @param edid_length length of the edid structure
2977 * @return The encoded serial identifier.
2978 */
2979EAPI char *
2980ecore_x_randr_edid_display_serial_get(unsigned char *edid,
2981 unsigned long edid_length);
2982
2983/*
2984 * @brief Get the encoded model number from raw EDID data.
2985 *
2986 * The manufacturer ID table is necessary for a useful description.
2987 *
2988 * @param edid the edid structure
2989 * @param edid_length length of the edid structure
2990 * @return The encoded model number.
2991 */
2992EAPI int
2993ecore_x_randr_edid_model_get(unsigned char *edid,
2994 unsigned long edid_length);
2995
2996/*
2997 * @brief Get the manufacturer serial number from raw EDID data.
2998 *
2999 * @param edid the edid structure
3000 * @param edid_length length of the edid structure
3001 * @return The encoded serial manufacturer serial number.
3002 */
3003EAPI int
3004ecore_x_randr_edid_manufacturer_serial_number_get(unsigned char *edid,
3005 unsigned long edid_length);
3006
3007/*
3008 * @brief Get the manufacturer model number from raw EDID data.
3009 *
3010 * @param edid the edid structure
3011 * @param edid_length length of the edid structure
3012 * @return The manufacturer's model number.
3013 */
3014EAPI int
3015ecore_x_randr_edid_manufacturer_model_get(unsigned char *edid,
3016 unsigned long edid_length);
3017
3018/*
3019 * @brief Looks up the DPMS support from raw EDID data.
3020 *
3021 * @param edid the edid structure
3022 * @param edid_length length of the edid structure
3023 * @return EINA_TRUE, if DPMS is supported in some way. Else EINA_FALSE.
3024 */
3025EAPI Eina_Bool
3026ecore_x_randr_edid_dpms_available_get(unsigned char *edid,
3027 unsigned long edid_length);
3028
3029/*
3030 * @brief Looks up the DPMS Standby support from raw EDID data.
3031 *
3032 * @param edid the edid structure
3033 * @param edid_length length of the edid structure
3034 * @return EINA_TRUE, if DPMS Standby is supported. Else EINA_FALSE.
3035 */
3036EAPI Eina_Bool
3037ecore_x_randr_edid_dpms_standby_available_get(unsigned char *edid,
3038 unsigned long edid_length);
3039
3040/*
3041 * @brief Looks up the DPMS Suspend support from raw EDID data.
3042 *
3043 * @param edid the edid structure
3044 * @param edid_length length of the edid structure
3045 * @return EINA_TRUE, if DPMS Suspend is supported. Else EINA_FALSE.
3046 */
3047EAPI Eina_Bool
3048ecore_x_randr_edid_dpms_suspend_available_get(unsigned char *edid,
3049 unsigned long edid_length);
3050
3051/*
3052 * @brief Looks up the DPMS Off support from raw EDID data.
3053 *
3054 * @param edid the edid structure
3055 * @param edid_length length of the edid structure
3056 * @return EINA_TRUE, if DPMS Off is supported. Else EINA_FALSE.
3057 */
3058EAPI Eina_Bool
3059ecore_x_randr_edid_dpms_off_available_get(unsigned char *edid,
3060 unsigned long edid_length);
3061
3062/*
3063 * @brief Get the preferred aspect ratio from raw EDID data.
3064 *
3065 * @param edid the edid structure
3066 * @param edid_length length of the edid structure
3067 * @return The preferred aspect ratio.
3068 */
3069EAPI Ecore_X_Randr_Edid_Aspect_Ratio
3070ecore_x_randr_edid_display_aspect_ratio_preferred_get(unsigned char *edid,
3071 unsigned long edid_length);
3072
3073/*
3074 * @brief Get the supported aspect ratios from raw EDID data.
3075 *
3076 * @param edid the edid structure
3077 * @param edid_length length of the edid structure
3078 * @return The supported aspect ratios.
3079 */
3080EAPI Ecore_X_Randr_Edid_Aspect_Ratio
3081ecore_x_randr_edid_display_aspect_ratios_get(unsigned char *edid,
3082 unsigned long edid_length);
3083
3084/*
3085 * @brief Get the supported colorschemes from raw EDID data.
3086 *
3087 * @param edid the edid structure
3088 * @param edid_length length of the edid structure
3089 * @return The supported colorschemes.
3090 */
3091EAPI Ecore_X_Randr_Edid_Display_Colorscheme
3092ecore_x_randr_edid_display_colorscheme_get(unsigned char *edid,
3093 unsigned long edid_length);
3094
3095/*
3096 * @brief Get the display type from raw EDID data.
3097 *
3098 * @param edid the edid structure
3099 * @param edid_length length of the edid structure
3100 * @return EINA_TRUE, if the display is a digital one. Else EINA_FALSE.
3101 */
3102EAPI Eina_Bool
3103ecore_x_randr_edid_display_type_digital_get(unsigned char *edid,
3104 unsigned long edid_length);
3105
3106/*
3107 * @brief Get the display interface type from raw EDID data.
3108 *
3109 * @param edid the edid structure
3110 * @param edid_length length of the edid structure
3111 * @return The interface type.
3112 */
3113EAPI Ecore_X_Randr_Edid_Display_Interface_Type
3114ecore_x_randr_edid_display_interface_type_get(unsigned char *edid,
3115 unsigned long edid_length);
3116
3117/* ecore_x_randr_13.c */
3118EAPI void
3119ecore_x_randr_screen_backlight_level_set(Ecore_X_Window root,
3120 double level);
3121EAPI double
3122ecore_x_randr_output_backlight_level_get(Ecore_X_Window root,
3123 Ecore_X_Randr_Output output);
3124EAPI Eina_Bool
3125ecore_x_randr_output_backlight_level_set(Ecore_X_Window root,
3126 Ecore_X_Randr_Output output,
3127 double level);
3128EAPI Ecore_X_Randr_Output
3129 ecore_x_randr_primary_output_get(Ecore_X_Window root);
3130EAPI void
3131 ecore_x_randr_primary_output_set(Ecore_X_Window root,
3132 Ecore_X_Randr_Output output);
3133EAPI Ecore_X_Render_Subpixel_Order
3134ecore_x_randr_output_subpixel_order_get(Ecore_X_Window root,
3135 Ecore_X_Randr_Output output);
3136EAPI unsigned char *
3137ecore_x_randr_output_edid_get(Ecore_X_Window root,
3138 Ecore_X_Randr_Output output,
3139 unsigned long *length);
3140EAPI Ecore_X_Randr_Output *
3141ecore_x_randr_output_wired_clones_get(Ecore_X_Window root,
3142 Ecore_X_Randr_Output output,
3143 int *num);
3144EAPI Ecore_X_Randr_Output **
3145ecore_x_randr_output_compatibility_list_get(Ecore_X_Window root,
3146 Ecore_X_Randr_Output output,
3147 int *num);
3148EAPI Ecore_X_Randr_Signal_Format *
3149ecore_x_randr_output_signal_formats_get(Ecore_X_Window root,
3150 Ecore_X_Randr_Output output,
3151 int *num);
3152EAPI Eina_Bool
3153ecore_x_randr_output_signal_format_set(Ecore_X_Window root,
3154 Ecore_X_Randr_Output output,
3155 Ecore_X_Randr_Signal_Format *signal);
3156EAPI Ecore_X_Randr_Signal_Property *
3157ecore_x_randr_output_signal_properties_get(Ecore_X_Window root,
3158 Ecore_X_Randr_Output output,
3159 int *num);
3160EAPI int
3161ecore_x_randr_output_connector_number_get(Ecore_X_Window root,
3162 Ecore_X_Randr_Output output);
3163EAPI Ecore_X_Randr_Connector_Type
3164ecore_x_randr_output_connector_type_get(Ecore_X_Window root,
3165 Ecore_X_Randr_Output output);
3166EAPI Eina_Rectangle *
3167ecore_x_randr_crtc_panning_area_get(Ecore_X_Window root,
3168 Ecore_X_Randr_Crtc crtc,
3169 int *x,
3170 int *y,
3171 int *w,
3172 int *h);
3173EAPI Eina_Bool
3174ecore_x_randr_crtc_panning_area_set(Ecore_X_Window root,
3175 Ecore_X_Randr_Crtc crtc,
3176 int x,
3177 const int y,
3178 const int w,
3179 const int h);
3180EAPI Eina_Rectangle *
3181ecore_x_randr_crtc_tracking_area_get(Ecore_X_Window root,
3182 Ecore_X_Randr_Crtc crtc,
3183 int *x,
3184 int *y,
3185 int *w,
3186 int *h);
3187EAPI Eina_Bool
3188ecore_x_randr_crtc_tracking_area_set(Ecore_X_Window root,
3189 Ecore_X_Randr_Crtc crtc,
3190 int x,
3191 const int y,
3192 const int w,
3193 const int h);
3194EAPI Eina_Rectangle *
3195ecore_x_randr_crtc_border_area_get(Ecore_X_Window root,
3196 Ecore_X_Randr_Crtc crtc);
3197EAPI Eina_Bool
3198ecore_x_randr_crtc_border_area_set(Ecore_X_Window root,
3199 Ecore_X_Randr_Crtc crtc,
3200 int left,
3201 const int top,
3202 const int right,
3203 const int bottom);
3204
3205/* XRender Support (horrendously incomplete) */
3206typedef Ecore_X_ID Ecore_X_Picture;
3207
3208/* XFixes Extension Support */
3209typedef Ecore_X_ID Ecore_X_Region;
3210
3211typedef enum _Ecore_X_Region_Type
3212{
3213 ECORE_X_REGION_BOUNDING,
3214 ECORE_X_REGION_CLIP
3215} Ecore_X_Region_Type;
3216
3217EAPI Ecore_X_Region
3218ecore_x_region_new(Ecore_X_Rectangle *rects,
3219 int num);
3220EAPI Ecore_X_Region
3221 ecore_x_region_new_from_bitmap(Ecore_X_Pixmap bitmap);
3222EAPI Ecore_X_Region
3223 ecore_x_region_new_from_window(Ecore_X_Window win,
3224 Ecore_X_Region_Type type);
3225EAPI Ecore_X_Region
3226 ecore_x_region_new_from_gc(Ecore_X_GC gc);
3227EAPI Ecore_X_Region
3228 ecore_x_region_new_from_picture(Ecore_X_Picture picture);
3229EAPI void
3230 ecore_x_region_free(Ecore_X_Region region);
3231EAPI void
3232 ecore_x_region_set(Ecore_X_Region region,
3233 Ecore_X_Rectangle *rects,
3234 int num);
3235EAPI void
3236ecore_x_region_copy(Ecore_X_Region dest,
3237 Ecore_X_Region source);
3238EAPI void
3239ecore_x_region_combine(Ecore_X_Region dest,
3240 Ecore_X_Region source1,
3241 Ecore_X_Region source2);
3242EAPI void
3243ecore_x_region_intersect(Ecore_X_Region dest,
3244 Ecore_X_Region source1,
3245 Ecore_X_Region source2);
3246EAPI void
3247ecore_x_region_subtract(Ecore_X_Region dest,
3248 Ecore_X_Region source1,
3249 Ecore_X_Region source2);
3250EAPI void
3251ecore_x_region_invert(Ecore_X_Region dest,
3252 Ecore_X_Rectangle *bounds,
3253 Ecore_X_Region source);
3254EAPI void
3255ecore_x_region_translate(Ecore_X_Region region,
3256 int dx,
3257 int dy);
3258EAPI void
3259ecore_x_region_extents(Ecore_X_Region dest,
3260 Ecore_X_Region source);
3261EAPI Ecore_X_Rectangle *
3262ecore_x_region_fetch(Ecore_X_Region region,
3263 int *num,
3264 Ecore_X_Rectangle *bounds);
3265EAPI void
3266ecore_x_region_expand(Ecore_X_Region dest,
3267 Ecore_X_Region source,
3268 unsigned int left,
3269 unsigned int right,
3270 unsigned int top,
3271 unsigned int bottom);
3272EAPI void
3273ecore_x_region_gc_clip_set(Ecore_X_Region region,
3274 Ecore_X_GC gc,
3275 int x_origin,
3276 int y_origin);
3277EAPI void
3278ecore_x_region_window_shape_set(Ecore_X_Region region,
3279 Ecore_X_Window win,
3280 Ecore_X_Shape_Type type,
3281 int x_offset,
3282 int y_offset);
3283EAPI void
3284ecore_x_region_picture_clip_set(Ecore_X_Region region,
3285 Ecore_X_Picture picture,
3286 int x_origin,
3287 int y_origin);
3288
3289/**
3290 * xfixes selection notification request.
3291 *
3292 * This lets you choose which selections you want to get notifications for.
3293 * @param selection the selection atom.
3294 * @return EINA_TRUE on success, EINA_FALSE otherwise.
3295 * @since 1.1.0
3296 */
3297EAPI Eina_Bool
3298ecore_x_fixes_selection_notification_request(Ecore_X_Atom selection);
3299
3300/* XComposite Extension Support */
3301EAPI Eina_Bool
3302 ecore_x_composite_query(void);
3303EAPI void
3304 ecore_x_composite_redirect_window(Ecore_X_Window win,
3305 Ecore_X_Composite_Update_Type type);
3306EAPI void
3307ecore_x_composite_redirect_subwindows(Ecore_X_Window win,
3308 Ecore_X_Composite_Update_Type type);
3309EAPI void
3310ecore_x_composite_unredirect_window(Ecore_X_Window win,
3311 Ecore_X_Composite_Update_Type type);
3312EAPI void
3313ecore_x_composite_unredirect_subwindows(Ecore_X_Window win,
3314 Ecore_X_Composite_Update_Type type);
3315EAPI Ecore_X_Pixmap
3316 ecore_x_composite_name_window_pixmap_get(Ecore_X_Window win);
3317EAPI void
3318 ecore_x_composite_window_events_disable(Ecore_X_Window win);
3319EAPI void
3320 ecore_x_composite_window_events_enable(Ecore_X_Window win);
3321EAPI Ecore_X_Window
3322 ecore_x_composite_render_window_enable(Ecore_X_Window root);
3323EAPI void
3324 ecore_x_composite_render_window_disable(Ecore_X_Window root);
3325
3326/* XDamage Extension Support */
3327typedef Ecore_X_ID Ecore_X_Damage;
3328
3329typedef enum _Ecore_X_Damage_Report_Level
3330{
3331 ECORE_X_DAMAGE_REPORT_RAW_RECTANGLES,
3332 ECORE_X_DAMAGE_REPORT_DELTA_RECTANGLES,
3333 ECORE_X_DAMAGE_REPORT_BOUNDING_BOX,
3334 ECORE_X_DAMAGE_REPORT_NON_EMPTY
3335} Ecore_X_Damage_Report_Level;
3336
3337struct _Ecore_X_Event_Damage
3338{
3339 Ecore_X_Damage_Report_Level level;
3340 Ecore_X_Drawable drawable;
3341 Ecore_X_Damage damage;
3342 int more;
3343 Ecore_X_Time time;
3344 Ecore_X_Rectangle area;
3345 Ecore_X_Rectangle geometry;
3346};
3347
3348typedef struct _Ecore_X_Event_Damage Ecore_X_Event_Damage;
3349
3350EAPI Eina_Bool
3351 ecore_x_damage_query(void);
3352EAPI Ecore_X_Damage
3353 ecore_x_damage_new(Ecore_X_Drawable d,
3354 Ecore_X_Damage_Report_Level level);
3355EAPI void
3356 ecore_x_damage_free(Ecore_X_Damage damage);
3357EAPI void
3358 ecore_x_damage_subtract(Ecore_X_Damage damage,
3359 Ecore_X_Region repair,
3360 Ecore_X_Region parts);
3361
3362EAPI Eina_Bool
3363 ecore_x_screen_is_composited(int screen);
3364EAPI void
3365 ecore_x_screen_is_composited_set(int screen,
3366 Ecore_X_Window win);
3367
3368EAPI Eina_Bool
3369 ecore_x_dpms_query(void);
3370EAPI Eina_Bool
3371 ecore_x_dpms_capable_get(void);
3372EAPI Eina_Bool
3373 ecore_x_dpms_enabled_get(void);
3374EAPI void
3375 ecore_x_dpms_enabled_set(int enabled);
3376EAPI void
3377 ecore_x_dpms_timeouts_get(unsigned int *standby,
3378 unsigned int *suspend,
3379 unsigned int *off);
3380EAPI Eina_Bool
3381ecore_x_dpms_timeouts_set(unsigned int standby,
3382 unsigned int suspend,
3383 unsigned int off);
3384EAPI unsigned int
3385 ecore_x_dpms_timeout_standby_get(void);
3386EAPI unsigned int
3387 ecore_x_dpms_timeout_suspend_get(void);
3388EAPI unsigned int
3389 ecore_x_dpms_timeout_off_get(void);
3390EAPI void
3391 ecore_x_dpms_timeout_standby_set(unsigned int new_timeout);
3392EAPI void
3393 ecore_x_dpms_timeout_suspend_set(unsigned int new_timeout);
3394EAPI void
3395 ecore_x_dpms_timeout_off_set(unsigned int new_timeout);
3396
3397EAPI Eina_Bool
3398 ecore_x_test_fake_key_down(const char *key);
3399EAPI Eina_Bool
3400 ecore_x_test_fake_key_up(const char *key);
3401EAPI Eina_Bool
3402 ecore_x_test_fake_key_press(const char *key);
3403EAPI const char *
3404 ecore_x_keysym_string_get(int keysym);
3405
3406typedef struct _Ecore_X_Image Ecore_X_Image;
3407
3408EAPI Ecore_X_Image *
3409ecore_x_image_new(int w,
3410 int h,
3411 Ecore_X_Visual vis,
3412 int depth);
3413EAPI void
3414 ecore_x_image_free(Ecore_X_Image *im);
3415EAPI Eina_Bool
3416 ecore_x_image_get(Ecore_X_Image *im,
3417 Ecore_X_Drawable draw,
3418 int x,
3419 int y,
3420 int sx,
3421 int sy,
3422 int w,
3423 int h);
3424EAPI void
3425ecore_x_image_put(Ecore_X_Image *im,
3426 Ecore_X_Drawable draw,
3427 Ecore_X_GC gc,
3428 int x,
3429 int y,
3430 int sx,
3431 int sy,
3432 int w,
3433 int h);
3434EAPI void *
3435ecore_x_image_data_get(Ecore_X_Image *im,
3436 int *bpl,
3437 int *rows,
3438 int *bpp);
3439EAPI Eina_Bool
3440ecore_x_image_is_argb32_get(Ecore_X_Image *im);
3441
3442EAPI Eina_Bool
3443ecore_x_image_to_argb_convert(void *src,
3444 int sbpp,
3445 int sbpl,
3446 Ecore_X_Colormap c,
3447 Ecore_X_Visual v,
3448 int x,
3449 int y,
3450 int w,
3451 int h,
3452 unsigned int *dst,
3453 int dbpl,
3454 int dx,
3455 int dy);
3456
3457EAPI Eina_Bool
3458ecore_x_input_multi_select(Ecore_X_Window win);
3459
3460EAPI Eina_Bool
3461ecore_x_vsync_animator_tick_source_set(Ecore_X_Window win);
3462
3463typedef enum _Ecore_X_Gesture_Event_Mask
3464{
3465 ECORE_X_GESTURE_EVENT_MASK_NONE = 0L,
3466 ECORE_X_GESTURE_EVENT_MASK_FLICK = (1L << 0),
3467 ECORE_X_GESTURE_EVENT_MASK_PAN = (1L << 1),
3468 ECORE_X_GESTURE_EVENT_MASK_PINCHROTATION = (1L << 2),
3469 ECORE_X_GESTURE_EVENT_MASK_TAP = (1L << 3),
3470 ECORE_X_GESTURE_EVENT_MASK_TAPNHOLD = (1L << 4),
3471 ECORE_X_GESTURE_EVENT_MASK_HOLD = (1L << 5),
3472 ECORE_X_GESTURE_EVENT_MASK_GROUP = (1L << 6)
3473} Ecore_X_Gesture_Event_Mask;
3474
3475typedef enum _Ecore_X_Gesture_Event_Type
3476{
3477 ECORE_X_GESTURE_EVENT_FLICK,
3478 ECORE_X_GESTURE_EVENT_PAN,
3479 ECORE_X_GESTURE_EVENT_PINCHROTATION,
3480 ECORE_X_GESTURE_EVENT_TAP,
3481 ECORE_X_GESTURE_EVENT_TAPNHOLD,
3482 ECORE_X_GESTURE_EVENT_HOLD,
3483 ECORE_X_GESTURE_EVENT_GROUP
3484} Ecore_X_Gesture_Event_Type;
3485
3486typedef enum _Ecore_X_Gesture_Event_Subtype
3487{
3488 ECORE_X_GESTURE_END,
3489 ECORE_X_GESTURE_BEGIN,
3490 ECORE_X_GESTURE_UPDATE,
3491 ECORE_X_GESTURE_DONE
3492} Ecore_X_Gesture_Event_Subtype;
3493
3494typedef enum _Ecore_X_Gesture_Group_Subtype
3495{
3496 ECORE_X_GESTURE_GROUP_REMOVED,
3497 ECORE_X_GESTURE_GROUP_ADDED,
3498 ECORE_X_GESTURE_GROUP_CURRENT
3499} Ecore_X_Gesture_Group_Subtype;
3500
3501typedef enum _Ecore_X_Gesture_Direction
3502{
3503 ECORE_X_GESTURE_NORTHWARD,
3504 ECORE_X_GESTURE_NORTHEASTWARD,
3505 ECORE_X_GESTURE_EASTWARD,
3506 ECORE_X_GESTURE_SOUTHEASTWARD,
3507 ECORE_X_GESTURE_SOUTHWARD,
3508 ECORE_X_GESTURE_SOUTHWESTWARD,
3509 ECORE_X_GESTURE_WESTWARD,
3510 ECORE_X_GESTURE_NORTHWESTWARD
3511} Ecore_X_Gesture_Direction;
3512
3513struct _Ecore_X_Event_Gesture_Notify_Flick
3514{
3515 Ecore_X_Window win;
3516 Ecore_X_Time time;
3517 Ecore_X_Gesture_Event_Subtype subtype;
3518 int num_fingers;
3519 int distance;
3520 Ecore_X_Time duration;
3521 Ecore_X_Gesture_Direction direction;
3522 double angle;
3523};
3524
3525struct _Ecore_X_Event_Gesture_Notify_Pan
3526{
3527 Ecore_X_Window win;
3528 Ecore_X_Time time;
3529 Ecore_X_Gesture_Event_Subtype subtype;
3530 int num_fingers;
3531 int dx;
3532 int dy;
3533 int distance;
3534 Ecore_X_Time duration;
3535 Ecore_X_Gesture_Direction direction;
3536};
3537
3538struct _Ecore_X_Event_Gesture_Notify_PinchRotation
3539{
3540 Ecore_X_Window win;
3541 Ecore_X_Time time;
3542 Ecore_X_Gesture_Event_Subtype subtype;
3543 int num_fingers;
3544 int distance;
3545 int cx;
3546 int cy;
3547 double zoom;
3548 double angle;
3549};
3550
3551struct _Ecore_X_Event_Gesture_Notify_Tap
3552{
3553 Ecore_X_Window win;
3554 Ecore_X_Time time;
3555 Ecore_X_Gesture_Event_Subtype subtype;
3556 int num_fingers;
3557 int cx;
3558 int cy;
3559 int tap_repeat;
3560 Ecore_X_Time interval;
3561};
3562
3563struct _Ecore_X_Event_Gesture_Notify_TapNHold
3564{
3565 Ecore_X_Window win;
3566 Ecore_X_Time time;
3567 Ecore_X_Gesture_Event_Subtype subtype;
3568 int num_fingers;
3569 int cx;
3570 int cy;
3571 Ecore_X_Time interval;
3572 Ecore_X_Time hold_time;
3573};
3574
3575struct _Ecore_X_Event_Gesture_Notify_Hold
3576{
3577 Ecore_X_Window win;
3578 Ecore_X_Time time;
3579 Ecore_X_Gesture_Event_Subtype subtype;
3580 int num_fingers;
3581 int cx;
3582 int cy;
3583 Ecore_X_Time hold_time;
3584};
3585
3586struct _Ecore_X_Event_Gesture_Notify_Group
3587{
3588 Ecore_X_Window win;
3589 Ecore_X_Time time;
3590 Ecore_X_Gesture_Group_Subtype subtype;
3591 int num_groups;
3592 int group_id;
3593};
3594
3595EAPI Eina_Bool
3596ecore_x_gesture_supported(void);
3597
3598EAPI Eina_Bool
3599ecore_x_gesture_events_select(Ecore_X_Window win,
3600 Ecore_X_Gesture_Event_Mask mask);
3601
3602EAPI Ecore_X_Gesture_Event_Mask
3603ecore_x_gesture_events_selected_get(Ecore_X_Window win);
3604
3605EAPI Eina_Bool
3606ecore_x_gesture_event_grab(Ecore_X_Window win,
3607 Ecore_X_Gesture_Event_Type type,
3608 int num_fingers);
3609
3610EAPI Eina_Bool
3611ecore_x_gesture_event_ungrab(Ecore_X_Window win,
3612 Ecore_X_Gesture_Event_Type type,
3613 int num_fingers);
3614
3615#ifdef __cplusplus
3616}
3617#endif // ifdef __cplusplus
3618
3619#include <Ecore_X_Atoms.h>
3620#include <Ecore_X_Cursor.h>
3621
3622#endif // ifndef _ECORE_X_H