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
19 # define EAPI __attribute__ ((visibility("default")))
20 # else // if __GNUC__ >= 4
22 # endif // if __GNUC__ >= 4
23 # else // ifdef __GNUC__
25 # endif // ifdef __GNUC__
26 #endif // ifdef _MSC_VER
28 #include <sys/types.h>
32 * @brief Ecore functions for dealing with the X Windows System
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
42 typedef unsigned int Ecore_X_ID;
43 #ifndef _ECORE_X_WINDOW_PREDEF
44 typedef Ecore_X_ID Ecore_X_Window;
45 #endif // ifndef _ECORE_X_WINDOW_PREDEF
46 typedef void *Ecore_X_Visual;
47 typedef Ecore_X_ID Ecore_X_Pixmap;
48 typedef Ecore_X_ID Ecore_X_Drawable;
49 #ifdef HAVE_ECORE_X_XCB
50 typedef Ecore_X_ID Ecore_X_GC;
51 #else // ifdef HAVE_ECORE_X_XCB
52 typedef void *Ecore_X_GC;
53 #endif /* HAVE_ECORE_X_XCB */
54 typedef Ecore_X_ID Ecore_X_Atom;
55 typedef Ecore_X_ID Ecore_X_Colormap;
56 typedef Ecore_X_ID Ecore_X_Time;
57 typedef Ecore_X_ID Ecore_X_Cursor;
58 typedef void Ecore_X_Display;
59 typedef void Ecore_X_Connection;
60 typedef void Ecore_X_Screen;
61 typedef Ecore_X_ID Ecore_X_Sync_Counter;
62 typedef Ecore_X_ID Ecore_X_Sync_Alarm;
63 typedef void Ecore_X_XRegion;
65 typedef Ecore_X_ID Ecore_X_Randr_Output;
66 typedef Ecore_X_ID Ecore_X_Randr_Crtc;
67 typedef Ecore_X_ID Ecore_X_Randr_Mode;
68 typedef unsigned short Ecore_X_Randr_Size_ID;
69 typedef int Ecore_X_Randr_Screen;
71 typedef Ecore_X_ID Ecore_X_Device;
75 #endif // ifdef __cplusplus
77 typedef struct _Ecore_X_Rectangle
80 unsigned int width, height;
83 typedef struct _Ecore_X_Icon
85 unsigned int width, height;
89 typedef enum _Ecore_X_GC_Value_Mask
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;
116 typedef enum _Ecore_X_Composite_Update_Type
118 ECORE_X_COMPOSITE_UPDATE_AUTOMATIC,
119 ECORE_X_COMPOSITE_UPDATE_MANUAL
120 } Ecore_X_Composite_Update_Type;
123 * @typedef _Ecore_X_Window_State
124 * Defines the different states of the window of Ecore_X.
126 typedef enum _Ecore_X_Window_State
129 ECORE_X_WINDOW_STATE_UNKNOWN = 0,
130 /** The window is iconified. */
131 ECORE_X_WINDOW_STATE_ICONIFIED,
132 /** The window is a modal dialog box. */
133 ECORE_X_WINDOW_STATE_MODAL,
134 /** The window manager should keep the window's position fixed
135 * even if the virtual desktop scrolls. */
136 ECORE_X_WINDOW_STATE_STICKY,
137 /** The window has the maximum vertical size. */
138 ECORE_X_WINDOW_STATE_MAXIMIZED_VERT,
139 /** The window has the maximum horizontal size. */
140 ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ,
141 /** The window is shaded. */
142 ECORE_X_WINDOW_STATE_SHADED,
143 /** The window should not be included in the taskbar. */
144 ECORE_X_WINDOW_STATE_SKIP_TASKBAR,
145 /** The window should not be included in the pager. */
146 ECORE_X_WINDOW_STATE_SKIP_PAGER,
147 /** The window is invisible (i.e. minimized/iconified) */
148 ECORE_X_WINDOW_STATE_HIDDEN,
149 /** The window should fill the entire screen and have no
150 * window border/decorations */
151 ECORE_X_WINDOW_STATE_FULLSCREEN,
152 /* The following are not documented because they are not
153 * intended for use in applications. */
154 ECORE_X_WINDOW_STATE_ABOVE,
155 ECORE_X_WINDOW_STATE_BELOW,
156 /* FIXME: Documentation */
157 ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION
158 } Ecore_X_Window_State;
160 typedef enum _Ecore_X_Window_State_Action
162 ECORE_X_WINDOW_STATE_ACTION_REMOVE,
163 ECORE_X_WINDOW_STATE_ACTION_ADD,
164 ECORE_X_WINDOW_STATE_ACTION_TOGGLE
165 } Ecore_X_Window_State_Action;
167 typedef enum _Ecore_X_Window_Stack_Mode
169 ECORE_X_WINDOW_STACK_ABOVE = 0,
170 ECORE_X_WINDOW_STACK_BELOW = 1,
171 ECORE_X_WINDOW_STACK_TOP_IF = 2,
172 ECORE_X_WINDOW_STACK_BOTTOM_IF = 3,
173 ECORE_X_WINDOW_STACK_OPPOSITE = 4
174 } Ecore_X_Window_Stack_Mode;
176 typedef enum _Ecore_X_Randr_Orientation
178 ECORE_X_RANDR_ORIENTATION_ROT_0 = (1 << 0),
179 ECORE_X_RANDR_ORIENTATION_ROT_90 = (1 << 1),
180 ECORE_X_RANDR_ORIENTATION_ROT_180 = (1 << 2),
181 ECORE_X_RANDR_ORIENTATION_ROT_270 = (1 << 3),
182 ECORE_X_RANDR_ORIENTATION_FLIP_X = (1 << 4),
183 ECORE_X_RANDR_ORIENTATION_FLIP_Y = (1 << 5)
184 } Ecore_X_Randr_Orientation;
186 typedef enum _Ecore_X_Randr_Connection_Status
188 ECORE_X_RANDR_CONNECTION_STATUS_CONNECTED = 0,
189 ECORE_X_RANDR_CONNECTION_STATUS_DISCONNECTED = 1,
190 ECORE_X_RANDR_CONNECTION_STATUS_UNKNOWN = 2
191 } Ecore_X_Randr_Connection_Status;
193 typedef enum _Ecore_X_Randr_Output_Policy
195 ECORE_X_RANDR_OUTPUT_POLICY_ABOVE = 1,
196 ECORE_X_RANDR_OUTPUT_POLICY_RIGHT = 2,
197 ECORE_X_RANDR_OUTPUT_POLICY_BELOW = 3,
198 ECORE_X_RANDR_OUTPUT_POLICY_LEFT = 4,
199 ECORE_X_RANDR_OUTPUT_POLICY_CLONE = 5,
200 ECORE_X_RANDR_OUTPUT_POLICY_NONE = 6
201 } Ecore_X_Randr_Output_Policy;
203 typedef enum _Ecore_X_Randr_Relative_Alignment
205 ECORE_X_RANDR_RELATIVE_ALIGNMENT_NONE = 0,
206 ECORE_X_RANDR_RELATIVE_ALIGNMENT_CENTER_REL = 1,
207 ECORE_X_RANDR_RELATIVE_ALIGNMENT_CENTER_SCR = 2
208 } Ecore_X_Randr_Relative_Alignment;
210 typedef enum _Ecore_X_Render_Subpixel_Order
212 ECORE_X_RENDER_SUBPIXEL_ORDER_UNKNOWN = 0,
213 ECORE_X_RENDER_SUBPIXEL_ORDER_HORIZONTAL_RGB = 1,
214 ECORE_X_RENDER_SUBPIXEL_ORDER_HORIZONTAL_BGR = 2,
215 ECORE_X_RENDER_SUBPIXEL_ORDER_VERTICAL_RGB = 3,
216 ECORE_X_RENDER_SUBPIXEL_ORDER_VERTICAL_BGR = 4,
217 ECORE_X_RENDER_SUBPIXEL_ORDER_NONE = 5
218 } Ecore_X_Render_Subpixel_Order;
220 typedef enum _Ecore_X_Randr_Edid_Display_Interface_Type
222 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_UNDEFINED,
223 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_DVI,
224 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_HDMI_A,
225 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_HDMI_B,
226 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_MDDI,
227 ECORE_X_RANDR_EDID_DISPLAY_INTERFACE_DISPLAY_PORT
228 } Ecore_X_Randr_Edid_Display_Interface_Type;
230 typedef enum _Ecore_X_Randr_Edid_Display_Colorscheme
232 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_MONOCHROME_GRAYSCALE = 0x00,
233 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_RGB = 0x08,
234 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_NON_RGB = 0x10,
235 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_UNDEFINED = 0x18,
236 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_RGB_4_4_4 = 0x444000,
237 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_RGB_YCRCB_4_4_4 = 0x444,
238 ECORE_X_RANDR_EDID_DISPLAY_COLORSCHEME_COLOR_RGB_YCRCB_4_2_2 = 0x422
239 } Ecore_X_Randr_Edid_Display_Colorscheme;
241 typedef enum _Ecore_X_Randr_Edid_Aspect_Ratio
243 ECORE_X_RANDR_EDID_ASPECT_RATIO_4_3 = 0x0,
244 ECORE_X_RANDR_EDID_ASPECT_RATIO_16_9 = 0x1,
245 ECORE_X_RANDR_EDID_ASPECT_RATIO_16_10 = 0x2,
246 ECORE_X_RANDR_EDID_ASPECT_RATIO_5_4 = 0x4,
247 ECORE_X_RANDR_EDID_ASPECT_RATIO_15_9 = 0x8
248 } Ecore_X_Randr_Edid_Aspect_Ratio;
250 #define ECORE_X_RANDR_EDID_UNKNOWN_VALUE -1
252 #define ECORE_X_SELECTION_TARGET_TARGETS "TARGETS"
253 #define ECORE_X_SELECTION_TARGET_TEXT "TEXT"
254 #define ECORE_X_SELECTION_TARGET_COMPOUND_TEXT "COMPOUND_TEXT"
255 #define ECORE_X_SELECTION_TARGET_STRING "STRING"
256 #define ECORE_X_SELECTION_TARGET_UTF8_STRING "UTF8_STRING"
257 #define ECORE_X_SELECTION_TARGET_FILENAME "FILENAME"
259 #define ECORE_X_DND_VERSION 5
261 typedef enum _Ecore_X_Selection
263 ECORE_X_SELECTION_PRIMARY,
264 ECORE_X_SELECTION_SECONDARY,
265 ECORE_X_SELECTION_XDND,
266 ECORE_X_SELECTION_CLIPBOARD,
267 ECORE_X_SELECTION_OTHER
270 typedef enum _Ecore_X_Event_Mode
272 ECORE_X_EVENT_MODE_NORMAL,
273 ECORE_X_EVENT_MODE_WHILE_GRABBED,
274 ECORE_X_EVENT_MODE_GRAB,
275 ECORE_X_EVENT_MODE_UNGRAB
276 } Ecore_X_Event_Mode;
278 typedef enum _Ecore_X_Event_Detail
280 ECORE_X_EVENT_DETAIL_ANCESTOR,
281 ECORE_X_EVENT_DETAIL_VIRTUAL,
282 ECORE_X_EVENT_DETAIL_INFERIOR,
283 ECORE_X_EVENT_DETAIL_NON_LINEAR,
284 ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL,
285 ECORE_X_EVENT_DETAIL_POINTER,
286 ECORE_X_EVENT_DETAIL_POINTER_ROOT,
287 ECORE_X_EVENT_DETAIL_DETAIL_NONE
288 } Ecore_X_Event_Detail;
290 typedef enum _Ecore_X_Event_Mask
292 ECORE_X_EVENT_MASK_NONE = 0L,
293 ECORE_X_EVENT_MASK_KEY_DOWN = (1L << 0),
294 ECORE_X_EVENT_MASK_KEY_UP = (1L << 1),
295 ECORE_X_EVENT_MASK_MOUSE_DOWN = (1L << 2),
296 ECORE_X_EVENT_MASK_MOUSE_UP = (1L << 3),
297 ECORE_X_EVENT_MASK_MOUSE_IN = (1L << 4),
298 ECORE_X_EVENT_MASK_MOUSE_OUT = (1L << 5),
299 ECORE_X_EVENT_MASK_MOUSE_MOVE = (1L << 6),
300 ECORE_X_EVENT_MASK_WINDOW_DAMAGE = (1L << 15),
301 ECORE_X_EVENT_MASK_WINDOW_VISIBILITY = (1L << 16),
302 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE = (1L << 17),
303 ECORE_X_EVENT_MASK_WINDOW_RESIZE_MANAGE = (1L << 18),
304 ECORE_X_EVENT_MASK_WINDOW_MANAGE = (1L << 19),
305 ECORE_X_EVENT_MASK_WINDOW_CHILD_CONFIGURE = (1L << 20),
306 ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE = (1L << 21),
307 ECORE_X_EVENT_MASK_WINDOW_PROPERTY = (1L << 22),
308 ECORE_X_EVENT_MASK_WINDOW_COLORMAP = (1L << 23),
309 ECORE_X_EVENT_MASK_WINDOW_GRAB = (1L << 24),
310 ECORE_X_EVENT_MASK_MOUSE_WHEEL = (1L << 29),
311 ECORE_X_EVENT_MASK_WINDOW_FOCUS_IN = (1L << 30),
312 ECORE_X_EVENT_MASK_WINDOW_FOCUS_OUT = (1L << 31)
313 } Ecore_X_Event_Mask;
315 typedef enum _Ecore_X_Gravity
317 ECORE_X_GRAVITY_FORGET = 0,
318 ECORE_X_GRAVITY_UNMAP = 0,
319 ECORE_X_GRAVITY_NW = 1,
320 ECORE_X_GRAVITY_N = 2,
321 ECORE_X_GRAVITY_NE = 3,
322 ECORE_X_GRAVITY_W = 4,
323 ECORE_X_GRAVITY_CENTER = 5,
324 ECORE_X_GRAVITY_E = 6,
325 ECORE_X_GRAVITY_SW = 7,
326 ECORE_X_GRAVITY_S = 8,
327 ECORE_X_GRAVITY_SE = 9,
328 ECORE_X_GRAVITY_STATIC = 10
331 /* Needed for ecore_x_region_window_shape_set */
332 typedef enum _Ecore_X_Shape_Type
334 ECORE_X_SHAPE_BOUNDING,
337 } Ecore_X_Shape_Type;
339 typedef enum _Ecore_X_Mapping_Type
341 ECORE_X_MAPPING_MODIFIER,
342 ECORE_X_MAPPING_KEYBOARD,
343 ECORE_X_MAPPING_MOUSE
344 } Ecore_X_Mapping_Type;
346 typedef enum _Ecore_X_Randr_Property_Change
348 ECORE_X_RANDR_PROPERTY_CHANGE_ADD,
349 ECORE_X_RANDR_PROPERTY_CHANGE_DEL
350 } Ecore_X_Randr_Property_Change;
352 typedef struct _Ecore_X_Event_Mouse_In Ecore_X_Event_Mouse_In;
353 typedef struct _Ecore_X_Event_Mouse_Out Ecore_X_Event_Mouse_Out;
354 typedef struct _Ecore_X_Event_Window_Focus_In Ecore_X_Event_Window_Focus_In;
355 typedef struct _Ecore_X_Event_Window_Focus_Out Ecore_X_Event_Window_Focus_Out;
356 typedef struct _Ecore_X_Event_Window_Keymap Ecore_X_Event_Window_Keymap;
357 typedef struct _Ecore_X_Event_Window_Damage Ecore_X_Event_Window_Damage;
358 typedef struct _Ecore_X_Event_Window_Visibility_Change Ecore_X_Event_Window_Visibility_Change;
359 typedef struct _Ecore_X_Event_Window_Create Ecore_X_Event_Window_Create;
360 typedef struct _Ecore_X_Event_Window_Destroy Ecore_X_Event_Window_Destroy;
361 typedef struct _Ecore_X_Event_Window_Hide Ecore_X_Event_Window_Hide;
362 typedef struct _Ecore_X_Event_Window_Show Ecore_X_Event_Window_Show;
363 typedef struct _Ecore_X_Event_Window_Show_Request Ecore_X_Event_Window_Show_Request;
364 typedef struct _Ecore_X_Event_Window_Reparent Ecore_X_Event_Window_Reparent;
365 typedef struct _Ecore_X_Event_Window_Configure Ecore_X_Event_Window_Configure;
366 typedef struct _Ecore_X_Event_Window_Configure_Request Ecore_X_Event_Window_Configure_Request;
367 typedef struct _Ecore_X_Event_Window_Gravity Ecore_X_Event_Window_Gravity;
368 typedef struct _Ecore_X_Event_Window_Resize_Request Ecore_X_Event_Window_Resize_Request;
369 typedef struct _Ecore_X_Event_Window_Stack Ecore_X_Event_Window_Stack;
370 typedef struct _Ecore_X_Event_Window_Stack_Request Ecore_X_Event_Window_Stack_Request;
371 typedef struct _Ecore_X_Event_Window_Property Ecore_X_Event_Window_Property;
372 typedef struct _Ecore_X_Event_Window_Colormap Ecore_X_Event_Window_Colormap;
373 typedef struct _Ecore_X_Event_Mapping_Change Ecore_X_Event_Mapping_Change;
374 typedef struct _Ecore_X_Event_Window_Mapping Ecore_X_Event_Window_Mapping;
375 typedef struct _Ecore_X_Event_Selection_Clear Ecore_X_Event_Selection_Clear;
376 typedef struct _Ecore_X_Event_Selection_Request Ecore_X_Event_Selection_Request;
377 typedef struct _Ecore_X_Event_Selection_Notify Ecore_X_Event_Selection_Notify;
378 typedef struct _Ecore_X_Event_Fixes_Selection_Notify Ecore_X_Event_Fixes_Selection_Notify;
379 typedef struct _Ecore_X_Selection_Data Ecore_X_Selection_Data;
380 typedef struct _Ecore_X_Selection_Data_Files Ecore_X_Selection_Data_Files;
381 typedef struct _Ecore_X_Selection_Data_Text Ecore_X_Selection_Data_Text;
382 typedef struct _Ecore_X_Selection_Data_Targets Ecore_X_Selection_Data_Targets;
383 typedef struct _Ecore_X_Event_Xdnd_Enter Ecore_X_Event_Xdnd_Enter;
384 typedef struct _Ecore_X_Event_Xdnd_Position Ecore_X_Event_Xdnd_Position;
385 typedef struct _Ecore_X_Event_Xdnd_Status Ecore_X_Event_Xdnd_Status;
386 typedef struct _Ecore_X_Event_Xdnd_Leave Ecore_X_Event_Xdnd_Leave;
387 typedef struct _Ecore_X_Event_Xdnd_Drop Ecore_X_Event_Xdnd_Drop;
388 typedef struct _Ecore_X_Event_Xdnd_Finished Ecore_X_Event_Xdnd_Finished;
389 typedef struct _Ecore_X_Event_Client_Message Ecore_X_Event_Client_Message;
390 typedef struct _Ecore_X_Event_Window_Shape Ecore_X_Event_Window_Shape;
391 typedef struct _Ecore_X_Event_Screensaver_Notify Ecore_X_Event_Screensaver_Notify;
392 typedef struct _Ecore_X_Event_Gesture_Notify_Flick Ecore_X_Event_Gesture_Notify_Flick;
393 typedef struct _Ecore_X_Event_Gesture_Notify_Pan Ecore_X_Event_Gesture_Notify_Pan;
394 typedef struct _Ecore_X_Event_Gesture_Notify_PinchRotation Ecore_X_Event_Gesture_Notify_PinchRotation;
395 typedef struct _Ecore_X_Event_Gesture_Notify_Tap Ecore_X_Event_Gesture_Notify_Tap;
396 typedef struct _Ecore_X_Event_Gesture_Notify_TapNHold Ecore_X_Event_Gesture_Notify_TapNHold;
397 typedef struct _Ecore_X_Event_Gesture_Notify_Hold Ecore_X_Event_Gesture_Notify_Hold;
398 typedef struct _Ecore_X_Event_Gesture_Notify_Group Ecore_X_Event_Gesture_Notify_Group;
399 typedef struct _Ecore_X_Event_Sync_Counter Ecore_X_Event_Sync_Counter;
400 typedef struct _Ecore_X_Event_Sync_Alarm Ecore_X_Event_Sync_Alarm;
401 typedef struct _Ecore_X_Event_Screen_Change Ecore_X_Event_Screen_Change;
402 typedef struct _Ecore_X_Event_Randr_Crtc_Change Ecore_X_Event_Randr_Crtc_Change;
403 typedef struct _Ecore_X_Event_Randr_Output_Change Ecore_X_Event_Randr_Output_Change;
404 typedef struct _Ecore_X_Event_Randr_Output_Property_Notify Ecore_X_Event_Randr_Output_Property_Notify;
406 typedef struct _Ecore_X_Event_Window_Delete_Request Ecore_X_Event_Window_Delete_Request;
407 typedef struct _Ecore_X_Event_Window_Move_Resize_Request Ecore_X_Event_Window_Move_Resize_Request;
408 typedef struct _Ecore_X_Event_Window_State_Request Ecore_X_Event_Window_State_Request;
409 typedef struct _Ecore_X_Event_Frame_Extents_Request Ecore_X_Event_Frame_Extents_Request;
410 typedef struct _Ecore_X_Event_Ping Ecore_X_Event_Ping;
411 typedef struct _Ecore_X_Event_Desktop_Change Ecore_X_Event_Desktop_Change;
413 typedef struct _Ecore_X_Event_Startup_Sequence Ecore_X_Event_Startup_Sequence;
415 typedef struct _Ecore_X_Event_Generic Ecore_X_Event_Generic;
417 typedef struct _Ecore_X_Randr_Screen_Size Ecore_X_Randr_Screen_Size;
418 typedef struct _Ecore_X_Randr_Screen_Size_MM Ecore_X_Randr_Screen_Size_MM;
420 typedef struct _Ecore_X_Xdnd_Position Ecore_X_Xdnd_Position;
422 struct _Ecore_X_Event_Mouse_In
426 Eina_Bool same_screen : 1;
432 Ecore_X_Window event_win;
433 Ecore_X_Window root_win;
434 Ecore_X_Event_Mode mode;
435 Ecore_X_Event_Detail detail;
439 struct _Ecore_X_Event_Mouse_Out
449 Ecore_X_Window event_win;
450 Ecore_X_Window root_win;
451 Ecore_X_Event_Mode mode;
452 Ecore_X_Event_Detail detail;
456 struct _Ecore_X_Event_Window_Focus_In
459 Ecore_X_Event_Mode mode;
460 Ecore_X_Event_Detail detail;
464 struct _Ecore_X_Event_Window_Focus_Out
467 Ecore_X_Event_Mode mode;
468 Ecore_X_Event_Detail detail;
472 struct _Ecore_X_Event_Window_Keymap
477 struct _Ecore_X_Event_Window_Damage
485 struct _Ecore_X_Event_Window_Visibility_Change
492 struct _Ecore_X_Event_Window_Create
495 Ecore_X_Window parent;
502 struct _Ecore_X_Event_Window_Destroy
505 Ecore_X_Window event_win;
509 struct _Ecore_X_Event_Window_Hide
512 Ecore_X_Window event_win;
516 struct _Ecore_X_Event_Window_Show
519 Ecore_X_Window event_win;
523 struct _Ecore_X_Event_Window_Show_Request
526 Ecore_X_Window parent;
530 struct _Ecore_X_Event_Window_Reparent
533 Ecore_X_Window event_win;
534 Ecore_X_Window parent;
538 struct _Ecore_X_Event_Window_Configure
541 Ecore_X_Window event_win;
542 Ecore_X_Window abovewin;
545 Eina_Bool override : 1;
546 Eina_Bool from_wm : 1;
550 struct _Ecore_X_Event_Window_Configure_Request
553 Ecore_X_Window parent_win;
554 Ecore_X_Window abovewin;
557 Ecore_X_Window_Stack_Mode detail;
558 unsigned long value_mask;
562 struct _Ecore_X_Event_Window_Gravity
565 Ecore_X_Window event_win;
569 struct _Ecore_X_Event_Window_Resize_Request
576 struct _Ecore_X_Event_Window_Stack
579 Ecore_X_Window event_win;
580 Ecore_X_Window_Stack_Mode detail;
584 struct _Ecore_X_Event_Window_Stack_Request
587 Ecore_X_Window parent;
588 Ecore_X_Window_Stack_Mode detail;
592 struct _Ecore_X_Event_Window_Property
599 struct _Ecore_X_Event_Window_Colormap
602 Ecore_X_Colormap cmap;
603 Eina_Bool installed : 1;
607 struct _Ecore_X_Event_Mapping_Change
609 Ecore_X_Mapping_Type type;
614 struct _Ecore_X_Event_Selection_Clear
617 Ecore_X_Selection selection;
622 struct _Ecore_X_Event_Selection_Request
624 Ecore_X_Window owner;
625 Ecore_X_Window requestor;
627 Ecore_X_Atom selection;
629 Ecore_X_Atom property;
634 ECORE_X_OWNER_CHANGE_REASON_NEW_OWNER,
635 ECORE_X_OWNER_CHANGE_REASON_DESTROY,
636 ECORE_X_OWNER_CHANGE_REASON_CLOSE
637 } Ecore_X_Owner_Change_Reason;
639 struct _Ecore_X_Event_Fixes_Selection_Notify
642 Ecore_X_Window owner;
644 Ecore_X_Time selection_time;
645 Ecore_X_Selection selection;
647 Ecore_X_Owner_Change_Reason reason;
650 struct _Ecore_X_Event_Selection_Notify
654 Ecore_X_Selection selection;
660 struct _Ecore_X_Selection_Data
664 ECORE_X_SELECTION_CONTENT_NONE,
665 ECORE_X_SELECTION_CONTENT_TEXT,
666 ECORE_X_SELECTION_CONTENT_FILES,
667 ECORE_X_SELECTION_CONTENT_TARGETS,
668 ECORE_X_SELECTION_CONTENT_CUSTOM
673 int (*free)(void *data);
676 struct _Ecore_X_Selection_Data_Files
678 Ecore_X_Selection_Data data;
683 struct _Ecore_X_Selection_Data_Text
685 Ecore_X_Selection_Data data;
689 struct _Ecore_X_Selection_Data_Targets
691 Ecore_X_Selection_Data data;
696 struct _Ecore_X_Event_Xdnd_Enter
698 Ecore_X_Window win, source;
704 struct _Ecore_X_Event_Xdnd_Position
706 Ecore_X_Window win, source;
714 struct _Ecore_X_Xdnd_Position
716 Ecore_X_Window win, prev;
723 struct _Ecore_X_Event_Xdnd_Status
725 Ecore_X_Window win, target;
726 Eina_Bool will_accept : 1;
727 Ecore_X_Rectangle rectangle;
731 struct _Ecore_X_Event_Xdnd_Leave
733 Ecore_X_Window win, source;
736 struct _Ecore_X_Event_Xdnd_Drop
738 Ecore_X_Window win, source;
746 struct _Ecore_X_Event_Xdnd_Finished
748 Ecore_X_Window win, target;
749 Eina_Bool completed : 1;
753 struct _Ecore_X_Event_Client_Message
756 Ecore_X_Atom message_type;
767 struct _Ecore_X_Event_Window_Shape
771 Ecore_X_Shape_Type type;
773 Eina_Bool shaped : 1;
776 struct _Ecore_X_Event_Screensaver_Notify
783 struct _Ecore_X_Event_Sync_Counter
788 struct _Ecore_X_Event_Sync_Alarm
791 Ecore_X_Sync_Alarm alarm;
794 struct _Ecore_X_Randr_Screen_Size
799 struct _Ecore_X_Randr_Screen_Size_MM
801 int width, height, width_mm, height_mm;
804 struct _Ecore_X_Event_Screen_Change
808 Ecore_X_Randr_Screen_Size_MM size; /* in pixel and millimeters */
810 Ecore_X_Time config_time;
811 Ecore_X_Randr_Orientation orientation;
812 Ecore_X_Render_Subpixel_Order subpixel_order;
813 Ecore_X_Randr_Size_ID size_id;
816 struct _Ecore_X_Event_Randr_Crtc_Change
819 Ecore_X_Randr_Crtc crtc;
820 Ecore_X_Randr_Mode mode;
821 Ecore_X_Randr_Orientation orientation;
825 struct _Ecore_X_Event_Randr_Output_Change
828 Ecore_X_Randr_Output output;
829 Ecore_X_Randr_Crtc crtc;
830 Ecore_X_Randr_Mode mode;
831 Ecore_X_Randr_Orientation orientation;
832 Ecore_X_Randr_Connection_Status connection;
833 Ecore_X_Render_Subpixel_Order subpixel_order;
836 struct _Ecore_X_Event_Randr_Output_Property_Notify
839 Ecore_X_Randr_Output output;
840 Ecore_X_Atom property;
842 Ecore_X_Randr_Property_Change state;
845 struct _Ecore_X_Event_Window_Delete_Request
851 struct _Ecore_X_Event_Startup_Sequence
856 struct _Ecore_X_Event_Window_Move_Resize_Request
865 struct _Ecore_X_Event_Window_State_Request
868 Ecore_X_Window_State_Action action;
869 Ecore_X_Window_State state[2];
873 struct _Ecore_X_Event_Frame_Extents_Request
878 struct _Ecore_X_Event_Ping
881 Ecore_X_Window event_win;
885 struct _Ecore_X_Event_Desktop_Change
892 struct _Ecore_X_Event_Generic
900 EAPI extern int ECORE_X_EVENT_ANY; /**< low level event dependent on
901 backend in use, if Xlib will be XEvent,
902 if XCB will be xcb_generic_event_t.
903 @warning avoid using it.
905 EAPI extern int ECORE_X_EVENT_MOUSE_IN;
906 EAPI extern int ECORE_X_EVENT_MOUSE_OUT;
907 EAPI extern int ECORE_X_EVENT_WINDOW_FOCUS_IN;
908 EAPI extern int ECORE_X_EVENT_WINDOW_FOCUS_OUT;
909 EAPI extern int ECORE_X_EVENT_WINDOW_KEYMAP;
910 EAPI extern int ECORE_X_EVENT_WINDOW_DAMAGE;
911 EAPI extern int ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE;
912 EAPI extern int ECORE_X_EVENT_WINDOW_CREATE;
913 EAPI extern int ECORE_X_EVENT_WINDOW_DESTROY;
914 EAPI extern int ECORE_X_EVENT_WINDOW_HIDE;
915 EAPI extern int ECORE_X_EVENT_WINDOW_SHOW;
916 EAPI extern int ECORE_X_EVENT_WINDOW_SHOW_REQUEST;
917 EAPI extern int ECORE_X_EVENT_WINDOW_REPARENT;
918 EAPI extern int ECORE_X_EVENT_WINDOW_CONFIGURE;
919 EAPI extern int ECORE_X_EVENT_WINDOW_CONFIGURE_REQUEST;
920 EAPI extern int ECORE_X_EVENT_WINDOW_GRAVITY;
921 EAPI extern int ECORE_X_EVENT_WINDOW_RESIZE_REQUEST;
922 EAPI extern int ECORE_X_EVENT_WINDOW_STACK;
923 EAPI extern int ECORE_X_EVENT_WINDOW_STACK_REQUEST;
924 EAPI extern int ECORE_X_EVENT_WINDOW_PROPERTY;
925 EAPI extern int ECORE_X_EVENT_WINDOW_COLORMAP;
926 EAPI extern int ECORE_X_EVENT_WINDOW_MAPPING;
927 EAPI extern int ECORE_X_EVENT_MAPPING_CHANGE;
928 EAPI extern int ECORE_X_EVENT_SELECTION_CLEAR;
929 EAPI extern int ECORE_X_EVENT_SELECTION_REQUEST;
930 EAPI extern int ECORE_X_EVENT_SELECTION_NOTIFY;
931 EAPI extern int ECORE_X_EVENT_FIXES_SELECTION_NOTIFY;
932 EAPI extern int ECORE_X_EVENT_CLIENT_MESSAGE;
933 EAPI extern int ECORE_X_EVENT_WINDOW_SHAPE;
934 EAPI extern int ECORE_X_EVENT_SCREENSAVER_NOTIFY;
935 EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_FLICK;
936 EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_PAN;
937 EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_PINCHROTATION;
938 EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_TAP;
939 EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_TAPNHOLD;
940 EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_HOLD;
941 EAPI extern int ECORE_X_EVENT_GESTURE_NOTIFY_GROUP;
942 EAPI extern int ECORE_X_EVENT_SYNC_COUNTER;
943 EAPI extern int ECORE_X_EVENT_SYNC_ALARM;
944 EAPI extern int ECORE_X_EVENT_SCREEN_CHANGE;
945 EAPI extern int ECORE_X_EVENT_RANDR_CRTC_CHANGE;
946 EAPI extern int ECORE_X_EVENT_RANDR_OUTPUT_CHANGE;
947 EAPI extern int ECORE_X_EVENT_RANDR_OUTPUT_PROPERTY_NOTIFY;
948 EAPI extern int ECORE_X_EVENT_DAMAGE_NOTIFY;
950 EAPI extern int ECORE_X_EVENT_WINDOW_DELETE_REQUEST;
952 EAPI extern int ECORE_X_EVENT_WINDOW_MOVE_RESIZE_REQUEST;
953 EAPI extern int ECORE_X_EVENT_WINDOW_STATE_REQUEST;
954 EAPI extern int ECORE_X_EVENT_FRAME_EXTENTS_REQUEST;
955 EAPI extern int ECORE_X_EVENT_PING;
956 EAPI extern int ECORE_X_EVENT_DESKTOP_CHANGE;
958 EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_NEW;
959 EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_CHANGE;
960 EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_REMOVE;
962 EAPI extern int ECORE_X_EVENT_GENERIC;
964 EAPI extern int ECORE_X_EVENT_XDND_ENTER;
965 EAPI extern int ECORE_X_EVENT_XDND_POSITION;
966 EAPI extern int ECORE_X_EVENT_XDND_STATUS;
967 EAPI extern int ECORE_X_EVENT_XDND_LEAVE;
968 EAPI extern int ECORE_X_EVENT_XDND_DROP;
969 EAPI extern int ECORE_X_EVENT_XDND_FINISHED;
971 EAPI extern int ECORE_X_LOCK_SCROLL;
972 EAPI extern int ECORE_X_LOCK_NUM;
973 EAPI extern int ECORE_X_LOCK_CAPS;
974 EAPI extern int ECORE_X_LOCK_SHIFT;
976 typedef enum _Ecore_X_WM_Protocol
978 /* If enabled the window manager will be asked to send a
979 * delete message instead of just closing (destroying) the window. */
980 ECORE_X_WM_PROTOCOL_DELETE_REQUEST,
982 /* If enabled the window manager will be told that the window
983 * explicitly sets input focus. */
984 ECORE_X_WM_PROTOCOL_TAKE_FOCUS,
986 /* If enabled the window manager can ping the window to check
988 ECORE_X_NET_WM_PROTOCOL_PING,
990 /* If enabled the window manager can sync updating with the
992 ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST,
994 /* Number of defined items */
995 ECORE_X_WM_PROTOCOL_NUM
996 } Ecore_X_WM_Protocol;
998 typedef enum _Ecore_X_Window_Input_Mode
1000 /* The window can never be focused */
1001 ECORE_X_WINDOW_INPUT_MODE_NONE,
1003 /* The window can be focused by the WM but doesn't focus itself */
1004 ECORE_X_WINDOW_INPUT_MODE_PASSIVE,
1006 /* The window sets the focus itself if one of its sub-windows
1007 * already is focused */
1008 ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL,
1010 /* The window sets the focus itself even if another window
1011 * is currently focused */
1012 ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL
1013 } Ecore_X_Window_Input_Mode;
1016 * @typedef _Ecore_X_Window_State_Hint
1017 * Defines the different state hint of the window of Ecore_X.
1019 typedef enum _Ecore_X_Window_State_Hint
1021 /** Do not provide any state hint to the window manager */
1022 ECORE_X_WINDOW_STATE_HINT_NONE = -1,
1024 /** The window wants to remain hidden and NOT iconified */
1025 ECORE_X_WINDOW_STATE_HINT_WITHDRAWN,
1027 /** The window wants to be mapped normally */
1028 ECORE_X_WINDOW_STATE_HINT_NORMAL,
1030 /** The window wants to start in an iconified state */
1031 ECORE_X_WINDOW_STATE_HINT_ICONIC
1032 } Ecore_X_Window_State_Hint;
1034 typedef enum _Ecore_X_Window_Type
1036 ECORE_X_WINDOW_TYPE_UNKNOWN = 0,
1037 ECORE_X_WINDOW_TYPE_DESKTOP,
1038 ECORE_X_WINDOW_TYPE_DOCK,
1039 ECORE_X_WINDOW_TYPE_TOOLBAR,
1040 ECORE_X_WINDOW_TYPE_MENU,
1041 ECORE_X_WINDOW_TYPE_UTILITY,
1042 ECORE_X_WINDOW_TYPE_SPLASH,
1043 ECORE_X_WINDOW_TYPE_DIALOG,
1044 ECORE_X_WINDOW_TYPE_NORMAL,
1045 ECORE_X_WINDOW_TYPE_DROPDOWN_MENU,
1046 ECORE_X_WINDOW_TYPE_POPUP_MENU,
1047 ECORE_X_WINDOW_TYPE_TOOLTIP,
1048 ECORE_X_WINDOW_TYPE_NOTIFICATION,
1049 ECORE_X_WINDOW_TYPE_COMBO,
1050 ECORE_X_WINDOW_TYPE_DND
1051 } Ecore_X_Window_Type;
1053 typedef enum _Ecore_X_Action
1055 ECORE_X_ACTION_MOVE,
1056 ECORE_X_ACTION_RESIZE,
1057 ECORE_X_ACTION_MINIMIZE,
1058 ECORE_X_ACTION_SHADE,
1059 ECORE_X_ACTION_STICK,
1060 ECORE_X_ACTION_MAXIMIZE_HORZ,
1061 ECORE_X_ACTION_MAXIMIZE_VERT,
1062 ECORE_X_ACTION_FULLSCREEN,
1063 ECORE_X_ACTION_CHANGE_DESKTOP,
1064 ECORE_X_ACTION_CLOSE,
1065 ECORE_X_ACTION_ABOVE,
1066 ECORE_X_ACTION_BELOW
1069 typedef enum _Ecore_X_Window_Configure_Mask
1071 ECORE_X_WINDOW_CONFIGURE_MASK_X = (1 << 0),
1072 ECORE_X_WINDOW_CONFIGURE_MASK_Y = (1 << 1),
1073 ECORE_X_WINDOW_CONFIGURE_MASK_W = (1 << 2),
1074 ECORE_X_WINDOW_CONFIGURE_MASK_H = (1 << 3),
1075 ECORE_X_WINDOW_CONFIGURE_MASK_BORDER_WIDTH = (1 << 4),
1076 ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING = (1 << 5),
1077 ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE = (1 << 6)
1078 } Ecore_X_Window_Configure_Mask;
1080 typedef enum _Ecore_X_Virtual_Keyboard_State
1082 ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN = 0,
1083 ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF,
1084 ECORE_X_VIRTUAL_KEYBOARD_STATE_ON,
1085 ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA,
1086 ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC,
1087 ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN,
1088 ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER,
1089 ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX,
1090 ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL,
1091 ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD,
1092 ECORE_X_VIRTUAL_KEYBOARD_STATE_IP,
1093 ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST,
1094 ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE,
1095 ECORE_X_VIRTUAL_KEYBOARD_STATE_URL,
1096 ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD,
1097 ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME
1098 } Ecore_X_Virtual_Keyboard_State;
1100 typedef enum _Ecore_X_Illume_Mode
1102 ECORE_X_ILLUME_MODE_UNKNOWN = 0,
1103 ECORE_X_ILLUME_MODE_SINGLE,
1104 ECORE_X_ILLUME_MODE_DUAL_TOP,
1105 ECORE_X_ILLUME_MODE_DUAL_LEFT
1106 } Ecore_X_Illume_Mode;
1108 typedef enum _Ecore_X_Illume_Quickpanel_State
1110 ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN = 0,
1111 ECORE_X_ILLUME_QUICKPANEL_STATE_OFF,
1112 ECORE_X_ILLUME_QUICKPANEL_STATE_ON
1113 } Ecore_X_Illume_Quickpanel_State;
1115 typedef enum _Ecore_X_Illume_Indicator_State
1117 ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN = 0,
1118 ECORE_X_ILLUME_INDICATOR_STATE_OFF,
1119 ECORE_X_ILLUME_INDICATOR_STATE_ON
1120 } Ecore_X_Illume_Indicator_State;
1122 typedef enum _Ecore_X_Illume_Clipboard_State
1124 ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN = 0,
1125 ECORE_X_ILLUME_CLIPBOARD_STATE_OFF,
1126 ECORE_X_ILLUME_CLIPBOARD_STATE_ON
1127 } Ecore_X_Illume_Clipboard_State;
1129 typedef enum _Ecore_X_Illume_Indicator_Opacity_Mode
1131 ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN = 0,
1132 ECORE_X_ILLUME_INDICATOR_OPAQUE,
1133 ECORE_X_ILLUME_INDICATOR_TRANSLUCENT,
1134 ECORE_X_ILLUME_INDICATOR_TRANSPARENT
1135 } Ecore_X_Illume_Indicator_Opacity_Mode;
1137 /* Window layer constants */
1138 #define ECORE_X_WINDOW_LAYER_BELOW 2
1139 #define ECORE_X_WINDOW_LAYER_NORMAL 4
1140 #define ECORE_X_WINDOW_LAYER_ABOVE 6
1142 /* Property list operations */
1143 #define ECORE_X_PROP_LIST_REMOVE 0
1144 #define ECORE_X_PROP_LIST_ADD 1
1145 #define ECORE_X_PROP_LIST_TOGGLE 2
1148 ecore_x_init(const char *name);
1150 ecore_x_shutdown(void);
1152 ecore_x_disconnect(void);
1153 EAPI Ecore_X_Display *
1154 ecore_x_display_get(void);
1155 EAPI Ecore_X_Connection *
1156 ecore_x_connection_get(void);
1158 ecore_x_fd_get(void);
1159 EAPI Ecore_X_Screen *
1160 ecore_x_default_screen_get(void);
1162 ecore_x_screen_size_get(const Ecore_X_Screen *screen,
1166 ecore_x_screen_count_get(void);
1168 ecore_x_screen_index_get(const Ecore_X_Screen *screen);
1169 EAPI Ecore_X_Screen *
1170 ecore_x_screen_get(int index);
1173 ecore_x_double_click_time_set(double t);
1175 ecore_x_double_click_time_get(void);
1177 ecore_x_flush(void);
1181 ecore_x_killall(Ecore_X_Window root);
1183 ecore_x_kill(Ecore_X_Window win);
1185 ecore_x_dpi_get(void);
1187 ecore_x_bell(int percent);
1189 ecore_x_visual_id_get(Ecore_X_Visual visual);
1192 ecore_x_default_visual_get(Ecore_X_Display *disp,
1193 Ecore_X_Screen *screen);
1194 EAPI Ecore_X_Colormap
1195 ecore_x_default_colormap_get(Ecore_X_Display *disp,
1196 Ecore_X_Screen *screen);
1198 ecore_x_default_depth_get(Ecore_X_Display *disp,
1199 Ecore_X_Screen *screen);
1202 ecore_x_current_time_get(void);
1205 ecore_x_error_handler_set(void (*func)(void *data),
1208 ecore_x_io_error_handler_set(void (*func)(void *data),
1211 ecore_x_error_request_get(void);
1213 ecore_x_error_code_get(void);
1215 ecore_x_error_resource_id_get(void);
1218 ecore_x_event_mask_set(Ecore_X_Window w,
1219 Ecore_X_Event_Mask mask);
1221 ecore_x_event_mask_unset(Ecore_X_Window w,
1222 Ecore_X_Event_Mask mask);
1225 ecore_x_selection_notify_send(Ecore_X_Window requestor,
1226 Ecore_X_Atom selection,
1227 Ecore_X_Atom target,
1228 Ecore_X_Atom property,
1231 ecore_x_selection_primary_set(Ecore_X_Window w,
1235 ecore_x_selection_primary_clear(void);
1237 ecore_x_selection_secondary_set(Ecore_X_Window w,
1241 ecore_x_selection_secondary_clear(void);
1243 ecore_x_selection_xdnd_set(Ecore_X_Window w,
1247 ecore_x_selection_xdnd_clear(void);
1249 ecore_x_selection_clipboard_set(Ecore_X_Window w,
1253 ecore_x_selection_clipboard_clear(void);
1255 ecore_x_selection_primary_request(Ecore_X_Window w,
1256 const char *target);
1258 ecore_x_selection_secondary_request(Ecore_X_Window w,
1259 const char *target);
1261 ecore_x_selection_xdnd_request(Ecore_X_Window w,
1262 const char *target);
1264 ecore_x_selection_clipboard_request(Ecore_X_Window w,
1265 const char *target);
1267 ecore_x_selection_convert(Ecore_X_Atom selection,
1268 Ecore_X_Atom target,
1271 Ecore_X_Atom *targprop,
1274 ecore_x_selection_converter_add(char *target,
1275 Eina_Bool (*func)(char *target,
1283 ecore_x_selection_converter_atom_add(Ecore_X_Atom target,
1284 Eina_Bool (*func)(char *target,
1289 Ecore_X_Atom *tprop,
1292 ecore_x_selection_converter_del(char *target);
1294 ecore_x_selection_converter_atom_del(Ecore_X_Atom target);
1296 ecore_x_selection_parser_add(const char *target,
1297 void *(*func)(const char *target, void *data, int size, int format));
1299 ecore_x_selection_parser_del(const char *target);
1301 ecore_x_selection_owner_set(Ecore_X_Window win,
1305 ecore_x_selection_owner_get(Ecore_X_Atom atom);
1308 ecore_x_dnd_aware_set(Ecore_X_Window win,
1311 ecore_x_dnd_version_get(Ecore_X_Window win);
1313 ecore_x_dnd_type_isset(Ecore_X_Window win,
1316 ecore_x_dnd_type_set(Ecore_X_Window win,
1320 ecore_x_dnd_types_set(Ecore_X_Window win,
1322 unsigned int num_types);
1324 ecore_x_dnd_actions_set(Ecore_X_Window win,
1325 Ecore_X_Atom *actions,
1326 unsigned int num_actions);
1328 ecore_x_dnd_begin(Ecore_X_Window source,
1329 unsigned char *data,
1332 ecore_x_dnd_drop(void);
1334 ecore_x_dnd_send_status(Eina_Bool will_accept,
1336 Ecore_X_Rectangle rectangle,
1337 Ecore_X_Atom action);
1339 ecore_x_dnd_send_finished(void);
1341 ecore_x_dnd_source_action_set(Ecore_X_Atom action);
1343 ecore_x_dnd_source_action_get(void);
1345 ecore_x_dnd_callback_pos_update_set(void (*cb)(void *,
1346 Ecore_X_Xdnd_Position *data),
1350 ecore_x_window_new(Ecore_X_Window parent,
1356 ecore_x_window_override_new(Ecore_X_Window parent,
1362 ecore_x_window_argb_get(Ecore_X_Window win);
1364 ecore_x_window_manager_argb_new(Ecore_X_Window parent,
1370 ecore_x_window_argb_new(Ecore_X_Window parent,
1376 ecore_x_window_override_argb_new(Ecore_X_Window parent,
1382 ecore_x_window_input_new(Ecore_X_Window parent,
1388 ecore_x_window_configure(Ecore_X_Window win,
1389 Ecore_X_Window_Configure_Mask mask,
1395 Ecore_X_Window sibling,
1398 ecore_x_window_cursor_set(Ecore_X_Window win,
1401 ecore_x_window_free(Ecore_X_Window win);
1403 ecore_x_window_ignore_set(Ecore_X_Window win,
1405 EAPI Ecore_X_Window *
1406 ecore_x_window_ignore_list(int *num);
1409 ecore_x_window_delete_request_send(Ecore_X_Window win);
1411 ecore_x_window_show(Ecore_X_Window win);
1413 ecore_x_window_hide(Ecore_X_Window win);
1415 ecore_x_window_move(Ecore_X_Window win,
1419 ecore_x_window_resize(Ecore_X_Window win,
1423 ecore_x_window_move_resize(Ecore_X_Window win,
1429 ecore_x_window_focus(Ecore_X_Window win);
1431 ecore_x_window_focus_at_time(Ecore_X_Window win,
1434 ecore_x_window_focus_get(void);
1436 ecore_x_window_raise(Ecore_X_Window win);
1438 ecore_x_window_lower(Ecore_X_Window win);
1440 ecore_x_window_reparent(Ecore_X_Window win,
1441 Ecore_X_Window new_parent,
1445 ecore_x_window_size_get(Ecore_X_Window win,
1449 ecore_x_window_geometry_get(Ecore_X_Window win,
1455 ecore_x_window_border_width_get(Ecore_X_Window win);
1457 ecore_x_window_border_width_set(Ecore_X_Window win,
1460 ecore_x_window_depth_get(Ecore_X_Window win);
1462 ecore_x_window_cursor_show(Ecore_X_Window win,
1465 ecore_x_window_defaults_set(Ecore_X_Window win);
1467 ecore_x_window_visible_get(Ecore_X_Window win);
1469 ecore_x_window_shadow_tree_at_xy_with_skip_get(Ecore_X_Window base,
1472 Ecore_X_Window *skip,
1475 ecore_x_window_shadow_parent_get(Ecore_X_Window root,
1476 Ecore_X_Window win);
1478 ecore_x_window_shadow_tree_flush(void);
1480 ecore_x_window_root_get(Ecore_X_Window win);
1482 ecore_x_window_at_xy_get(int x,
1485 ecore_x_window_at_xy_with_skip_get(int x,
1487 Ecore_X_Window *skip,
1490 ecore_x_window_at_xy_begin_get(Ecore_X_Window begin,
1494 ecore_x_window_parent_get(Ecore_X_Window win);
1497 ecore_x_window_background_color_set(Ecore_X_Window win,
1502 ecore_x_window_gravity_set(Ecore_X_Window win,
1503 Ecore_X_Gravity grav);
1505 ecore_x_window_pixel_gravity_set(Ecore_X_Window win,
1506 Ecore_X_Gravity grav);
1508 ecore_x_window_pixmap_set(Ecore_X_Window win,
1509 Ecore_X_Pixmap pmap);
1511 ecore_x_window_area_clear(Ecore_X_Window win,
1517 ecore_x_window_area_expose(Ecore_X_Window win,
1523 ecore_x_window_override_set(Ecore_X_Window win,
1524 Eina_Bool override);
1527 ecore_x_window_prop_card32_set(Ecore_X_Window win,
1532 ecore_x_window_prop_card32_get(Ecore_X_Window win,
1537 ecore_x_window_prop_card32_list_get(Ecore_X_Window win,
1539 unsigned int **plst);
1542 ecore_x_window_prop_xid_set(Ecore_X_Window win,
1548 ecore_x_window_prop_xid_get(Ecore_X_Window win,
1554 ecore_x_window_prop_xid_list_get(Ecore_X_Window win,
1559 ecore_x_window_prop_xid_list_change(Ecore_X_Window win,
1565 ecore_x_window_prop_atom_set(Ecore_X_Window win,
1570 ecore_x_window_prop_atom_get(Ecore_X_Window win,
1575 ecore_x_window_prop_atom_list_get(Ecore_X_Window win,
1577 Ecore_X_Atom **plst);
1579 ecore_x_window_prop_atom_list_change(Ecore_X_Window win,
1584 ecore_x_window_prop_window_set(Ecore_X_Window win,
1586 Ecore_X_Window *val,
1589 ecore_x_window_prop_window_get(Ecore_X_Window win,
1591 Ecore_X_Window *val,
1594 ecore_x_window_prop_window_list_get(Ecore_X_Window win,
1596 Ecore_X_Window **plst);
1599 ecore_x_window_prop_any_type(void);
1601 ecore_x_window_prop_property_set(Ecore_X_Window win,
1603 Ecore_X_Atom format,
1608 ecore_x_window_prop_property_get(Ecore_X_Window win,
1609 Ecore_X_Atom property,
1612 unsigned char **data,
1615 ecore_x_window_prop_property_del(Ecore_X_Window win,
1616 Ecore_X_Atom property);
1618 ecore_x_window_prop_list(Ecore_X_Window win,
1621 ecore_x_window_prop_string_set(Ecore_X_Window win,
1625 ecore_x_window_prop_string_get(Ecore_X_Window win,
1628 ecore_x_window_prop_protocol_isset(Ecore_X_Window win,
1629 Ecore_X_WM_Protocol protocol);
1630 EAPI Ecore_X_WM_Protocol *
1631 ecore_x_window_prop_protocol_list_get(Ecore_X_Window win,
1635 ecore_x_window_shape_mask_set(Ecore_X_Window win,
1636 Ecore_X_Pixmap mask);
1638 ecore_x_window_shape_window_set(Ecore_X_Window win,
1639 Ecore_X_Window shape_win);
1641 ecore_x_window_shape_window_set_xy(Ecore_X_Window win,
1642 Ecore_X_Window shape_win,
1646 ecore_x_window_shape_rectangle_set(Ecore_X_Window win,
1652 ecore_x_window_shape_rectangles_set(Ecore_X_Window win,
1653 Ecore_X_Rectangle *rects,
1656 ecore_x_window_shape_input_rectangle_set(Ecore_X_Window win,
1662 ecore_x_window_shape_input_rectangles_set(Ecore_X_Window win,
1663 Ecore_X_Rectangle *rects,
1666 ecore_x_window_shape_input_rectangle_add(Ecore_X_Window win,
1672 ecore_x_window_shape_rectangle_subtract(Ecore_X_Window win,
1678 ecore_x_window_shape_input_rectangle_subtract(Ecore_X_Window win,
1684 ecore_x_window_shape_input_window_set_xy(Ecore_X_Window win,
1685 Ecore_X_Window shape_win,
1689 ecore_x_window_shape_input_window_set(Ecore_X_Window win,
1690 Ecore_X_Window shape_win);
1692 ecore_x_window_shape_window_add(Ecore_X_Window win,
1693 Ecore_X_Window shape_win);
1695 ecore_x_window_shape_window_add_xy(Ecore_X_Window win,
1696 Ecore_X_Window shape_win,
1700 ecore_x_window_shape_input_window_add_xy(Ecore_X_Window win,
1701 Ecore_X_Window shape_win,
1705 ecore_x_window_shape_rectangle_add(Ecore_X_Window win,
1711 ecore_x_window_shape_rectangle_clip(Ecore_X_Window win,
1717 ecore_x_window_shape_input_rectangle_clip(Ecore_X_Window win,
1723 ecore_x_window_shape_rectangles_add(Ecore_X_Window win,
1724 Ecore_X_Rectangle *rects,
1727 ecore_x_window_shape_input_rectangles_add(Ecore_X_Window win,
1728 Ecore_X_Rectangle *rects,
1730 EAPI Ecore_X_Rectangle *
1731 ecore_x_window_shape_rectangles_get(Ecore_X_Window win,
1733 EAPI Ecore_X_Rectangle *
1734 ecore_x_window_shape_input_rectangles_get(Ecore_X_Window win,
1737 ecore_x_window_shape_events_select(Ecore_X_Window win,
1740 ecore_x_window_shape_input_mask_set(Ecore_X_Window win,
1741 Ecore_X_Pixmap mask);
1744 ecore_x_pixmap_new(Ecore_X_Window win,
1749 ecore_x_pixmap_free(Ecore_X_Pixmap pmap);
1751 ecore_x_pixmap_paste(Ecore_X_Pixmap pmap,
1752 Ecore_X_Drawable dest,
1761 ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap,
1767 ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap);
1770 ecore_x_gc_new(Ecore_X_Drawable draw,
1771 Ecore_X_GC_Value_Mask value_mask,
1772 const unsigned int *value_list);
1774 ecore_x_gc_free(Ecore_X_GC gc);
1776 ecore_x_gc_foreground_set(Ecore_X_GC gc,
1777 unsigned long foreground);
1779 ecore_x_gc_background_set(Ecore_X_GC gc,
1780 unsigned long background);
1783 ecore_x_client_message32_send(Ecore_X_Window win,
1785 Ecore_X_Event_Mask mask,
1792 ecore_x_client_message8_send(Ecore_X_Window win,
1797 ecore_x_mouse_move_send(Ecore_X_Window win,
1801 ecore_x_mouse_down_send(Ecore_X_Window win,
1806 ecore_x_mouse_up_send(Ecore_X_Window win,
1811 ecore_x_mouse_in_send(Ecore_X_Window win, int x, int y);
1813 ecore_x_mouse_out_send(Ecore_X_Window win, int x, int y);
1816 ecore_x_drawable_geometry_get(Ecore_X_Drawable d,
1822 ecore_x_drawable_border_width_get(Ecore_X_Drawable d);
1824 ecore_x_drawable_depth_get(Ecore_X_Drawable d);
1826 ecore_x_drawable_rectangle_fill(Ecore_X_Drawable d,
1834 ecore_x_cursor_color_supported_get(void);
1836 ecore_x_cursor_new(Ecore_X_Window win,
1843 ecore_x_cursor_free(Ecore_X_Cursor c);
1845 ecore_x_cursor_shape_get(int shape);
1847 ecore_x_cursor_size_set(int size);
1849 ecore_x_cursor_size_get(void);
1851 /* FIXME: these funcs need categorising */
1852 EAPI Ecore_X_Window *
1853 ecore_x_window_root_list(int *num_ret);
1855 ecore_x_window_root_first_get(void);
1857 ecore_x_window_manage(Ecore_X_Window win);
1859 ecore_x_window_container_manage(Ecore_X_Window win);
1861 ecore_x_window_client_manage(Ecore_X_Window win);
1863 ecore_x_window_sniff(Ecore_X_Window win);
1865 ecore_x_window_client_sniff(Ecore_X_Window win);
1868 ecore_x_atom_get(const char *name);
1870 ecore_x_atoms_get(const char **names,
1872 Ecore_X_Atom *atoms);
1874 ecore_x_atom_name_get(Ecore_X_Atom atom);
1877 ecore_x_icccm_init(void);
1879 ecore_x_icccm_state_set(Ecore_X_Window win,
1880 Ecore_X_Window_State_Hint state);
1881 EAPI Ecore_X_Window_State_Hint
1882 ecore_x_icccm_state_get(Ecore_X_Window win);
1884 ecore_x_icccm_delete_window_send(Ecore_X_Window win,
1887 ecore_x_icccm_take_focus_send(Ecore_X_Window win,
1890 ecore_x_icccm_save_yourself_send(Ecore_X_Window win,
1893 ecore_x_icccm_move_resize_send(Ecore_X_Window win,
1899 ecore_x_icccm_hints_set(Ecore_X_Window win,
1900 Eina_Bool accepts_focus,
1901 Ecore_X_Window_State_Hint initial_state,
1902 Ecore_X_Pixmap icon_pixmap,
1903 Ecore_X_Pixmap icon_mask,
1904 Ecore_X_Window icon_window,
1905 Ecore_X_Window window_group,
1906 Eina_Bool is_urgent);
1908 ecore_x_icccm_hints_get(Ecore_X_Window win,
1909 Eina_Bool *accepts_focus,
1910 Ecore_X_Window_State_Hint *initial_state,
1911 Ecore_X_Pixmap *icon_pixmap,
1912 Ecore_X_Pixmap *icon_mask,
1913 Ecore_X_Window *icon_window,
1914 Ecore_X_Window *window_group,
1915 Eina_Bool *is_urgent);
1917 ecore_x_icccm_size_pos_hints_set(Ecore_X_Window win,
1918 Eina_Bool request_pos,
1919 Ecore_X_Gravity gravity,
1931 ecore_x_icccm_size_pos_hints_get(Ecore_X_Window win,
1932 Eina_Bool *request_pos,
1933 Ecore_X_Gravity *gravity,
1943 double *max_aspect);
1945 ecore_x_icccm_title_set(Ecore_X_Window win,
1948 ecore_x_icccm_title_get(Ecore_X_Window win);
1950 ecore_x_icccm_protocol_atoms_set(Ecore_X_Window win,
1951 Ecore_X_Atom *protos,
1954 ecore_x_icccm_protocol_set(Ecore_X_Window win,
1955 Ecore_X_WM_Protocol protocol,
1958 ecore_x_icccm_protocol_isset(Ecore_X_Window win,
1959 Ecore_X_WM_Protocol protocol);
1961 ecore_x_icccm_name_class_set(Ecore_X_Window win,
1965 ecore_x_icccm_name_class_get(Ecore_X_Window win,
1969 ecore_x_icccm_client_machine_get(Ecore_X_Window win);
1971 ecore_x_icccm_command_set(Ecore_X_Window win,
1975 ecore_x_icccm_command_get(Ecore_X_Window win,
1979 ecore_x_icccm_icon_name_get(Ecore_X_Window win);
1981 ecore_x_icccm_icon_name_set(Ecore_X_Window win,
1984 ecore_x_icccm_colormap_window_set(Ecore_X_Window win,
1985 Ecore_X_Window subwin);
1987 ecore_x_icccm_colormap_window_unset(Ecore_X_Window win,
1988 Ecore_X_Window subwin);
1990 ecore_x_icccm_transient_for_set(Ecore_X_Window win,
1991 Ecore_X_Window forwin);
1993 ecore_x_icccm_transient_for_unset(Ecore_X_Window win);
1995 ecore_x_icccm_transient_for_get(Ecore_X_Window win);
1997 ecore_x_icccm_window_role_set(Ecore_X_Window win,
2000 ecore_x_icccm_window_role_get(Ecore_X_Window win);
2002 ecore_x_icccm_client_leader_set(Ecore_X_Window win,
2005 ecore_x_icccm_client_leader_get(Ecore_X_Window win);
2007 ecore_x_icccm_iconic_request_send(Ecore_X_Window win,
2008 Ecore_X_Window root);
2010 typedef enum _Ecore_X_MWM_Hint_Func
2012 ECORE_X_MWM_HINT_FUNC_ALL = (1 << 0),
2013 ECORE_X_MWM_HINT_FUNC_RESIZE = (1 << 1),
2014 ECORE_X_MWM_HINT_FUNC_MOVE = (1 << 2),
2015 ECORE_X_MWM_HINT_FUNC_MINIMIZE = (1 << 3),
2016 ECORE_X_MWM_HINT_FUNC_MAXIMIZE = (1 << 4),
2017 ECORE_X_MWM_HINT_FUNC_CLOSE = (1 << 5)
2018 } Ecore_X_MWM_Hint_Func;
2020 typedef enum _Ecore_X_MWM_Hint_Decor
2022 ECORE_X_MWM_HINT_DECOR_ALL = (1 << 0),
2023 ECORE_X_MWM_HINT_DECOR_BORDER = (1 << 1),
2024 ECORE_X_MWM_HINT_DECOR_RESIZEH = (1 << 2),
2025 ECORE_X_MWM_HINT_DECOR_TITLE = (1 << 3),
2026 ECORE_X_MWM_HINT_DECOR_MENU = (1 << 4),
2027 ECORE_X_MWM_HINT_DECOR_MINIMIZE = (1 << 5),
2028 ECORE_X_MWM_HINT_DECOR_MAXIMIZE = (1 << 6)
2029 } Ecore_X_MWM_Hint_Decor;
2031 typedef enum _Ecore_X_MWM_Hint_Input
2033 ECORE_X_MWM_HINT_INPUT_MODELESS = 0,
2034 ECORE_X_MWM_HINT_INPUT_PRIMARY_APPLICATION_MODAL = 1,
2035 ECORE_X_MWM_HINT_INPUT_SYSTEM_MODAL = 2,
2036 ECORE_X_MWM_HINT_INPUT_FULL_APPLICATION_MODAL = 3
2037 } Ecore_X_MWM_Hint_Input;
2040 ecore_x_mwm_hints_get(Ecore_X_Window win,
2041 Ecore_X_MWM_Hint_Func *fhint,
2042 Ecore_X_MWM_Hint_Decor *dhint,
2043 Ecore_X_MWM_Hint_Input *ihint);
2045 ecore_x_mwm_borderless_set(Ecore_X_Window win,
2046 Eina_Bool borderless);
2050 ecore_x_netwm_init(void);
2052 ecore_x_netwm_shutdown(void);
2054 ecore_x_netwm_wm_identify(Ecore_X_Window root,
2055 Ecore_X_Window check,
2056 const char *wm_name);
2058 ecore_x_netwm_supported_set(Ecore_X_Window root,
2059 Ecore_X_Atom *supported,
2062 ecore_x_netwm_supported_get(Ecore_X_Window root,
2063 Ecore_X_Atom **supported,
2066 ecore_x_netwm_desk_count_set(Ecore_X_Window root,
2067 unsigned int n_desks);
2069 ecore_x_netwm_desk_roots_set(Ecore_X_Window root,
2070 Ecore_X_Window *vroots,
2071 unsigned int n_desks);
2073 ecore_x_netwm_desk_names_set(Ecore_X_Window root,
2075 unsigned int n_desks);
2077 ecore_x_netwm_desk_size_set(Ecore_X_Window root,
2079 unsigned int height);
2081 ecore_x_netwm_desk_workareas_set(Ecore_X_Window root,
2082 unsigned int *areas,
2083 unsigned int n_desks);
2085 ecore_x_netwm_desk_workareas_get(Ecore_X_Window root,
2086 unsigned int *n_desks);
2088 ecore_x_netwm_desk_current_set(Ecore_X_Window root,
2091 ecore_x_netwm_desk_viewports_set(Ecore_X_Window root,
2092 unsigned int *origins,
2093 unsigned int n_desks);
2095 ecore_x_netwm_desk_layout_set(Ecore_X_Window root,
2099 int starting_corner);
2101 ecore_x_netwm_showing_desktop_set(Ecore_X_Window root,
2104 ecore_x_netwm_client_list_set(Ecore_X_Window root,
2105 Ecore_X_Window *p_clients,
2106 unsigned int n_clients);
2108 ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root,
2109 Ecore_X_Window *p_clients,
2110 unsigned int n_clients);
2112 ecore_x_netwm_client_active_set(Ecore_X_Window root,
2113 Ecore_X_Window win);
2115 ecore_x_netwm_client_active_request(Ecore_X_Window root,
2118 Ecore_X_Window current_win);
2120 ecore_x_netwm_name_set(Ecore_X_Window win,
2123 ecore_x_netwm_name_get(Ecore_X_Window win,
2126 ecore_x_netwm_startup_id_set(Ecore_X_Window win,
2129 ecore_x_netwm_startup_id_get(Ecore_X_Window win,
2132 ecore_x_netwm_visible_name_set(Ecore_X_Window win,
2135 ecore_x_netwm_visible_name_get(Ecore_X_Window win,
2138 ecore_x_netwm_icon_name_set(Ecore_X_Window win,
2141 ecore_x_netwm_icon_name_get(Ecore_X_Window win,
2144 ecore_x_netwm_visible_icon_name_set(Ecore_X_Window win,
2147 ecore_x_netwm_visible_icon_name_get(Ecore_X_Window win,
2150 ecore_x_netwm_desktop_set(Ecore_X_Window win,
2153 ecore_x_netwm_desktop_get(Ecore_X_Window win,
2154 unsigned int *desk);
2156 ecore_x_netwm_strut_set(Ecore_X_Window win,
2162 ecore_x_netwm_strut_get(Ecore_X_Window win,
2168 ecore_x_netwm_strut_partial_set(Ecore_X_Window win,
2182 ecore_x_netwm_strut_partial_get(Ecore_X_Window win,
2193 int *bottom_start_x,
2197 ecore_x_netwm_icons_set(Ecore_X_Window win,
2202 ecore_x_netwm_icons_get(Ecore_X_Window win,
2203 Ecore_X_Icon **icon,
2206 ecore_x_netwm_icon_geometry_set(Ecore_X_Window win,
2212 ecore_x_netwm_icon_geometry_get(Ecore_X_Window win,
2218 ecore_x_netwm_pid_set(Ecore_X_Window win,
2221 ecore_x_netwm_pid_get(Ecore_X_Window win,
2224 ecore_x_netwm_handled_icons_set(Ecore_X_Window win);
2226 ecore_x_netwm_handled_icons_get(Ecore_X_Window win);
2228 ecore_x_netwm_user_time_set(Ecore_X_Window win,
2231 ecore_x_netwm_user_time_get(Ecore_X_Window win,
2232 unsigned int *time);
2234 ecore_x_netwm_window_state_set(Ecore_X_Window win,
2235 Ecore_X_Window_State *state,
2238 ecore_x_netwm_window_state_get(Ecore_X_Window win,
2239 Ecore_X_Window_State **state,
2242 ecore_x_netwm_window_type_set(Ecore_X_Window win,
2243 Ecore_X_Window_Type type);
2245 ecore_x_netwm_window_type_get(Ecore_X_Window win,
2246 Ecore_X_Window_Type *type);
2248 ecore_x_netwm_window_types_get(Ecore_X_Window win,
2249 Ecore_X_Window_Type **types);
2251 ecore_x_netwm_allowed_action_isset(Ecore_X_Window win,
2252 Ecore_X_Action action);
2254 ecore_x_netwm_allowed_action_set(Ecore_X_Window win,
2255 Ecore_X_Action *action,
2258 ecore_x_netwm_allowed_action_get(Ecore_X_Window win,
2259 Ecore_X_Action **action,
2262 ecore_x_netwm_opacity_set(Ecore_X_Window win,
2263 unsigned int opacity);
2265 ecore_x_netwm_opacity_get(Ecore_X_Window win,
2266 unsigned int *opacity);
2268 ecore_x_netwm_frame_size_set(Ecore_X_Window win,
2274 ecore_x_netwm_frame_size_get(Ecore_X_Window win,
2280 ecore_x_netwm_sync_counter_get(Ecore_X_Window win,
2281 Ecore_X_Sync_Counter *counter);
2283 ecore_x_netwm_ping_send(Ecore_X_Window win);
2285 ecore_x_netwm_sync_request_send(Ecore_X_Window win,
2286 unsigned int serial);
2288 ecore_x_netwm_state_request_send(Ecore_X_Window win,
2289 Ecore_X_Window root,
2290 Ecore_X_Window_State s1,
2291 Ecore_X_Window_State s2,
2294 ecore_x_netwm_desktop_request_send(Ecore_X_Window win,
2295 Ecore_X_Window root,
2296 unsigned int desktop);
2299 ecore_x_e_init(void);
2301 ecore_x_e_frame_size_set(Ecore_X_Window win,
2307 ecore_x_e_virtual_keyboard_set(Ecore_X_Window win,
2308 unsigned int is_keyboard);
2310 ecore_x_e_virtual_keyboard_get(Ecore_X_Window win);
2312 ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win,
2313 Ecore_X_Virtual_Keyboard_State state);
2314 EAPI Ecore_X_Virtual_Keyboard_State
2315 ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win);
2317 ecore_x_e_virtual_keyboard_state_send(Ecore_X_Window win,
2318 Ecore_X_Virtual_Keyboard_State state);
2320 /* Illume functions */
2322 ecore_x_e_illume_zone_set(Ecore_X_Window win,
2323 Ecore_X_Window zone);
2325 ecore_x_e_illume_zone_get(Ecore_X_Window win);
2327 ecore_x_e_illume_zone_list_set(Ecore_X_Window win,
2328 Ecore_X_Window *zones,
2329 unsigned int n_zones);
2331 ecore_x_e_illume_conformant_set(Ecore_X_Window win,
2332 unsigned int is_conformant);
2334 ecore_x_e_illume_conformant_get(Ecore_X_Window win);
2336 ecore_x_e_illume_mode_set(Ecore_X_Window win,
2337 Ecore_X_Illume_Mode mode);
2338 EAPI Ecore_X_Illume_Mode
2339 ecore_x_e_illume_mode_get(Ecore_X_Window win);
2341 ecore_x_e_illume_mode_send(Ecore_X_Window win,
2342 Ecore_X_Illume_Mode mode);
2344 ecore_x_e_illume_focus_back_send(Ecore_X_Window win);
2346 ecore_x_e_illume_focus_forward_send(Ecore_X_Window win);
2348 ecore_x_e_illume_focus_home_send(Ecore_X_Window win);
2350 ecore_x_e_illume_close_send(Ecore_X_Window win);
2352 ecore_x_e_illume_home_new_send(Ecore_X_Window win);
2354 ecore_x_e_illume_home_del_send(Ecore_X_Window win);
2356 ecore_x_e_illume_access_action_next_send(Ecore_X_Window win);
2358 ecore_x_e_illume_access_action_prev_send(Ecore_X_Window win);
2360 ecore_x_e_illume_access_action_activate_send(Ecore_X_Window win);
2362 ecore_x_e_illume_access_action_read_send(Ecore_X_Window win);
2364 ecore_x_e_illume_access_action_read_next_send(Ecore_X_Window win);
2366 ecore_x_e_illume_access_action_read_prev_send(Ecore_X_Window win);
2369 ecore_x_e_illume_drag_set(Ecore_X_Window win,
2372 ecore_x_e_illume_drag_get(Ecore_X_Window win);
2374 ecore_x_e_illume_drag_locked_set(Ecore_X_Window win,
2375 unsigned int is_locked);
2377 ecore_x_e_illume_drag_locked_get(Ecore_X_Window win);
2379 ecore_x_e_illume_drag_start_send(Ecore_X_Window win);
2381 ecore_x_e_illume_drag_end_send(Ecore_X_Window win);
2383 ecore_x_e_illume_indicator_geometry_set(Ecore_X_Window win,
2389 ecore_x_e_illume_indicator_geometry_get(Ecore_X_Window win,
2395 ecore_x_e_illume_softkey_geometry_set(Ecore_X_Window win,
2401 ecore_x_e_illume_softkey_geometry_get(Ecore_X_Window win,
2407 ecore_x_e_illume_keyboard_geometry_set(Ecore_X_Window win,
2413 ecore_x_e_illume_keyboard_geometry_get(Ecore_X_Window win,
2419 ecore_x_e_illume_quickpanel_set(Ecore_X_Window win,
2420 unsigned int is_quickpanel);
2422 ecore_x_e_illume_quickpanel_get(Ecore_X_Window win);
2424 ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win,
2425 Ecore_X_Illume_Quickpanel_State state);
2426 EAPI Ecore_X_Illume_Quickpanel_State
2427 ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win);
2429 ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win,
2430 Ecore_X_Illume_Quickpanel_State state);
2432 ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win);
2434 ecore_x_e_illume_quickpanel_priority_major_set(Ecore_X_Window win,
2435 unsigned int priority);
2437 ecore_x_e_illume_quickpanel_priority_major_get(Ecore_X_Window win);
2439 ecore_x_e_illume_quickpanel_priority_minor_set(Ecore_X_Window win,
2440 unsigned int priority);
2442 ecore_x_e_illume_quickpanel_priority_minor_get(Ecore_X_Window win);
2444 ecore_x_e_illume_quickpanel_zone_set(Ecore_X_Window win,
2447 ecore_x_e_illume_quickpanel_zone_get(Ecore_X_Window win);
2449 ecore_x_e_illume_quickpanel_zone_request_send(Ecore_X_Window win);
2451 ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win);
2454 ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win,
2455 Ecore_X_Illume_Clipboard_State state);
2457 EAPI Ecore_X_Illume_Clipboard_State
2458 ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win);
2461 ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win,
2467 ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win,
2473 ecore_x_e_comp_sync_counter_set(Ecore_X_Window win,
2474 Ecore_X_Sync_Counter counter);
2475 EAPI Ecore_X_Sync_Counter
2476 ecore_x_e_comp_sync_counter_get(Ecore_X_Window win);
2478 ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root,
2479 Ecore_X_Window win);
2481 ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root,
2486 ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
2489 ecore_x_e_comp_sync_supported_get(Ecore_X_Window root);
2491 ecore_x_e_comp_sync_begin_send(Ecore_X_Window win);
2493 ecore_x_e_comp_sync_end_send(Ecore_X_Window win);
2495 ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win);
2498 ecore_x_e_comp_flush_send(Ecore_X_Window win);
2500 ecore_x_e_comp_dump_send(Ecore_X_Window win);
2502 ecore_x_e_comp_pixmap_set(Ecore_X_Window win,
2503 Ecore_X_Pixmap pixmap);
2505 ecore_x_e_comp_pixmap_get(Ecore_X_Window win);
2507 EAPI Ecore_X_Sync_Alarm
2508 ecore_x_sync_alarm_new(Ecore_X_Sync_Counter counter);
2510 ecore_x_sync_alarm_free(Ecore_X_Sync_Alarm alarm);
2512 ecore_x_sync_counter_query(Ecore_X_Sync_Counter counter,
2514 EAPI Ecore_X_Sync_Counter
2515 ecore_x_sync_counter_new(int val);
2517 ecore_x_sync_counter_free(Ecore_X_Sync_Counter counter);
2519 ecore_x_sync_counter_inc(Ecore_X_Sync_Counter counter,
2522 ecore_x_sync_counter_val_wait(Ecore_X_Sync_Counter counter,
2526 ecore_x_sync_counter_set(Ecore_X_Sync_Counter counter,
2529 ecore_x_sync_counter_2_set(Ecore_X_Sync_Counter counter,
2531 unsigned int val_lo);
2533 ecore_x_sync_counter_2_query(Ecore_X_Sync_Counter counter,
2535 unsigned int *val_lo);
2538 ecore_x_xinerama_screen_count_get(void);
2540 ecore_x_xinerama_screen_geometry_get(int screen,
2547 ecore_x_screensaver_event_available_get(void);
2549 ecore_x_screensaver_idle_time_get(void);
2551 ecore_x_screensaver_set(int timeout,
2553 int prefer_blanking,
2554 int allow_exposures);
2556 ecore_x_screensaver_timeout_set(int timeout);
2558 ecore_x_screensaver_timeout_get(void);
2560 ecore_x_screensaver_blank_set(int timeout);
2562 ecore_x_screensaver_blank_get(void);
2564 ecore_x_screensaver_expose_set(int timeout);
2566 ecore_x_screensaver_expose_get(void);
2568 ecore_x_screensaver_interval_set(int timeout);
2570 ecore_x_screensaver_interval_get(void);
2572 ecore_x_screensaver_event_listen_set(Eina_Bool on);
2574 /* FIXME: these funcs need categorising */
2576 typedef struct _Ecore_X_Window_Attributes
2578 Ecore_X_Window root;
2582 Eina_Bool visible : 1;
2583 Eina_Bool viewable : 1;
2584 Eina_Bool override : 1;
2585 Eina_Bool input_only : 1;
2586 Eina_Bool save_under : 1;
2589 Ecore_X_Event_Mask mine;
2590 Ecore_X_Event_Mask all;
2591 Ecore_X_Event_Mask no_propagate;
2593 Ecore_X_Gravity window_gravity;
2594 Ecore_X_Gravity pixel_gravity;
2595 Ecore_X_Colormap colormap;
2596 Ecore_X_Visual visual;
2598 * int map_installed;
2601 } Ecore_X_Window_Attributes;
2604 ecore_x_window_attributes_get(Ecore_X_Window win,
2605 Ecore_X_Window_Attributes *att_ret);
2607 ecore_x_window_save_set_add(Ecore_X_Window win);
2609 ecore_x_window_save_set_del(Ecore_X_Window win);
2610 EAPI Ecore_X_Window *
2611 ecore_x_window_children_get(Ecore_X_Window win,
2615 ecore_x_pointer_control_set(int accel_num,
2619 ecore_x_pointer_control_get(int *accel_num,
2623 ecore_x_pointer_mapping_set(unsigned char *map,
2626 ecore_x_pointer_mapping_get(unsigned char *map,
2629 ecore_x_pointer_grab(Ecore_X_Window win);
2631 ecore_x_pointer_confine_grab(Ecore_X_Window win);
2633 ecore_x_pointer_ungrab(void);
2635 ecore_x_pointer_warp(Ecore_X_Window win,
2639 ecore_x_keyboard_grab(Ecore_X_Window win);
2641 ecore_x_keyboard_ungrab(void);
2645 ecore_x_ungrab(void);
2647 ecore_x_passive_grab_replay_func_set(Eina_Bool (*func)(void *data,
2652 ecore_x_window_button_grab(Ecore_X_Window win,
2654 Ecore_X_Event_Mask event_mask,
2658 ecore_x_window_button_ungrab(Ecore_X_Window win,
2663 ecore_x_window_key_grab(Ecore_X_Window win,
2668 ecore_x_window_key_ungrab(Ecore_X_Window win,
2674 ecore_x_focus_reset(void);
2676 ecore_x_events_allow_all(void);
2678 ecore_x_pointer_last_xy_get(int *x,
2681 ecore_x_pointer_xy_get(Ecore_X_Window win,
2685 /* ecore_x_region.c */
2686 EAPI Ecore_X_XRegion *
2687 ecore_x_xregion_new(void);
2689 ecore_x_xregion_free(Ecore_X_XRegion *region);
2691 ecore_x_xregion_set(Ecore_X_XRegion *region,
2694 ecore_x_xregion_translate(Ecore_X_XRegion *region,
2698 ecore_x_xregion_intersect(Ecore_X_XRegion *dst,
2699 Ecore_X_XRegion *r1,
2700 Ecore_X_XRegion *r2);
2702 ecore_x_xregion_union(Ecore_X_XRegion *dst,
2703 Ecore_X_XRegion *r1,
2704 Ecore_X_XRegion *r2);
2706 ecore_x_xregion_union_rect(Ecore_X_XRegion *dst,
2707 Ecore_X_XRegion *src,
2708 Ecore_X_Rectangle *rect);
2710 ecore_x_xregion_subtract(Ecore_X_XRegion *dst,
2711 Ecore_X_XRegion *r1,
2712 Ecore_X_XRegion *r2);
2714 ecore_x_xregion_is_empty(Ecore_X_XRegion *region);
2716 ecore_x_xregion_is_equal(Ecore_X_XRegion *r1,
2717 Ecore_X_XRegion *r2);
2719 ecore_x_xregion_point_contain(Ecore_X_XRegion *region,
2723 ecore_x_xregion_rect_contain(Ecore_X_XRegion *region,
2724 Ecore_X_Rectangle *rect);
2726 /* ecore_x_randr.c */
2728 /* The usage of 'Ecore_X_Randr_None' or 'Ecore_X_Randr_Unset'
2729 * depends on the context. In most cases 'Ecore_X_Randr_Unset'
2730 * can be used, but in some cases -1 is a special value to
2731 * functions, thus 'Ecore_X_Randr_None' (=0) must be used.
2734 typedef short Ecore_X_Randr_Refresh_Rate;
2735 typedef int Ecore_X_Randr_Crtc_Gamma;
2736 typedef int Ecore_X_Randr_Signal_Format;
2737 typedef int Ecore_X_Randr_Signal_Property;
2738 typedef int Ecore_X_Randr_Connector_Type;
2740 typedef struct _Ecore_X_Randr_Mode_Info
2744 unsigned int height;
2745 unsigned long dotClock;
2746 unsigned int hSyncStart;
2747 unsigned int hSyncEnd;
2748 unsigned int hTotal;
2750 unsigned int vSyncStart;
2751 unsigned int vSyncEnd;
2752 unsigned int vTotal;
2754 unsigned int nameLength;
2755 unsigned long modeFlags;
2756 } Ecore_X_Randr_Mode_Info;
2759 ecore_x_randr_version_get(void);
2761 ecore_x_randr_query(void);
2763 /* ecore_x_randr_11.c */
2764 EAPI Ecore_X_Randr_Orientation
2765 ecore_x_randr_screen_primary_output_orientations_get(Ecore_X_Window root);
2766 EAPI Ecore_X_Randr_Orientation
2767 ecore_x_randr_screen_primary_output_orientation_get(Ecore_X_Window root);
2769 ecore_x_randr_screen_primary_output_orientation_set(Ecore_X_Window root,
2770 Ecore_X_Randr_Orientation orientation);
2771 EAPI Ecore_X_Randr_Screen_Size_MM *
2772 ecore_x_randr_screen_primary_output_sizes_get(Ecore_X_Window root,
2775 ecore_x_randr_screen_primary_output_current_size_get(Ecore_X_Window root,
2782 ecore_x_randr_screen_primary_output_size_set(Ecore_X_Window root,
2784 EAPI Ecore_X_Randr_Refresh_Rate
2785 ecore_x_randr_screen_primary_output_current_refresh_rate_get(Ecore_X_Window root);
2786 EAPI Ecore_X_Randr_Refresh_Rate *
2787 ecore_x_randr_screen_primary_output_refresh_rates_get(Ecore_X_Window root,
2791 ecore_x_randr_screen_primary_output_refresh_rate_set(Ecore_X_Window root,
2793 Ecore_X_Randr_Refresh_Rate rate);
2795 /* ecore_x_randr_12.c */
2797 ecore_x_randr_events_select(Ecore_X_Window win,
2801 ecore_x_randr_screen_current_size_get(Ecore_X_Window root,
2807 ecore_x_randr_screen_size_range_get(Ecore_X_Window root,
2813 ecore_x_randr_screen_reset(Ecore_X_Window root);
2815 ecore_x_randr_screen_current_size_set(Ecore_X_Window root,
2820 EAPI Ecore_X_Randr_Mode_Info **
2821 ecore_x_randr_modes_info_get(Ecore_X_Window root,
2823 EAPI Ecore_X_Randr_Mode
2824 ecore_x_randr_mode_info_add(Ecore_X_Window root,
2825 Ecore_X_Randr_Mode_Info *mode_info);
2827 ecore_x_randr_mode_del(Ecore_X_Randr_Mode mode);
2828 EAPI Ecore_X_Randr_Mode_Info *
2829 ecore_x_randr_mode_info_get(Ecore_X_Window root,
2830 Ecore_X_Randr_Mode mode);
2832 ecore_x_randr_mode_info_free(Ecore_X_Randr_Mode_Info *mode_info);
2833 EAPI Ecore_X_Randr_Crtc *
2834 ecore_x_randr_crtcs_get(Ecore_X_Window root,
2836 EAPI Ecore_X_Randr_Output *ecore_x_randr_outputs_get(Ecore_X_Window root,
2838 EAPI Ecore_X_Randr_Output *
2839 ecore_x_randr_window_outputs_get(Ecore_X_Window window,
2841 EAPI Ecore_X_Randr_Output *
2842 ecore_x_randr_current_output_get(Ecore_X_Window window,
2844 EAPI Ecore_X_Randr_Crtc *
2845 ecore_x_randr_window_crtcs_get(Ecore_X_Window window,
2847 EAPI Ecore_X_Randr_Crtc *
2848 ecore_x_randr_current_crtc_get(Ecore_X_Window window,
2850 EAPI Ecore_X_Randr_Output *
2851 ecore_x_randr_crtc_outputs_get(Ecore_X_Window root,
2852 Ecore_X_Randr_Crtc crtc,
2854 EAPI Ecore_X_Randr_Output *
2855 ecore_x_randr_crtc_possible_outputs_get(Ecore_X_Window root,
2856 Ecore_X_Randr_Crtc crtc,
2859 ecore_x_randr_crtc_geometry_get(Ecore_X_Window root,
2860 Ecore_X_Randr_Crtc crtc,
2866 ecore_x_randr_crtc_pos_get(Ecore_X_Window root,
2867 Ecore_X_Randr_Crtc crtc,
2871 ecore_x_randr_crtc_pos_set(Ecore_X_Window root,
2872 Ecore_X_Randr_Crtc crtc,
2875 EAPI Ecore_X_Randr_Mode
2876 ecore_x_randr_crtc_mode_get(Ecore_X_Window root,
2877 Ecore_X_Randr_Crtc crtc);
2879 ecore_x_randr_crtc_mode_set(Ecore_X_Window root,
2880 Ecore_X_Randr_Crtc crtc,
2881 Ecore_X_Randr_Output *outputs,
2883 Ecore_X_Randr_Mode mode);
2885 ecore_x_randr_crtc_size_get(Ecore_X_Window root,
2886 Ecore_X_Randr_Crtc crtc,
2889 EAPI Ecore_X_Randr_Refresh_Rate
2890 ecore_x_randr_crtc_refresh_rate_get(Ecore_X_Window root,
2891 Ecore_X_Randr_Crtc crtc,
2892 Ecore_X_Randr_Mode mode);
2893 EAPI Ecore_X_Randr_Orientation
2894 ecore_x_randr_crtc_orientations_get(Ecore_X_Window root,
2895 Ecore_X_Randr_Crtc crtc);
2896 EAPI Ecore_X_Randr_Orientation
2897 ecore_x_randr_crtc_orientation_get(Ecore_X_Window root,
2898 Ecore_X_Randr_Crtc crtc);
2900 ecore_x_randr_crtc_orientation_set(Ecore_X_Window root,
2901 Ecore_X_Randr_Crtc crtc,
2902 const Ecore_X_Randr_Orientation orientation);
2904 ecore_x_randr_crtc_clone_set(Ecore_X_Window root,
2905 Ecore_X_Randr_Crtc original,
2906 Ecore_X_Randr_Crtc clone);
2908 ecore_x_randr_crtc_settings_set(Ecore_X_Window root,
2909 Ecore_X_Randr_Crtc crtc,
2910 Ecore_X_Randr_Output *outputs,
2914 Ecore_X_Randr_Mode mode,
2915 Ecore_X_Randr_Orientation orientation);
2917 ecore_x_randr_crtc_pos_relative_set(Ecore_X_Window root,
2918 Ecore_X_Randr_Crtc crtc_r1,
2919 Ecore_X_Randr_Crtc crtc_r2,
2920 Ecore_X_Randr_Output_Policy policy,
2921 Ecore_X_Randr_Relative_Alignment alignment);
2923 ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output,
2924 Ecore_X_Randr_Mode mode);
2926 ecore_x_randr_output_mode_del(Ecore_X_Randr_Output output,
2927 Ecore_X_Randr_Mode mode);
2928 EAPI Ecore_X_Randr_Mode *
2929 ecore_x_randr_output_modes_get(Ecore_X_Window root,
2930 Ecore_X_Randr_Output output,
2933 EAPI Ecore_X_Randr_Output *ecore_x_randr_output_clones_get(Ecore_X_Window root,
2934 Ecore_X_Randr_Output output,
2936 EAPI Ecore_X_Randr_Crtc *ecore_x_randr_output_possible_crtcs_get(Ecore_X_Window root,
2937 Ecore_X_Randr_Output output,
2939 EAPI Ecore_X_Randr_Crtc
2940 ecore_x_randr_output_crtc_get(Ecore_X_Window root,
2941 Ecore_X_Randr_Output output);
2943 ecore_x_randr_output_name_get(Ecore_X_Window root,
2944 Ecore_X_Randr_Output output,
2947 ecore_x_randr_crtc_gamma_ramp_size_get(Ecore_X_Randr_Crtc crtc);
2948 EAPI Ecore_X_Randr_Crtc_Gamma **
2949 ecore_x_randr_crtc_gamma_ramps_get(Ecore_X_Randr_Crtc crtc);
2951 ecore_x_randr_crtc_gamma_ramps_set(Ecore_X_Randr_Crtc crtc,
2952 const Ecore_X_Randr_Crtc_Gamma *red,
2953 const Ecore_X_Randr_Crtc_Gamma *green,
2954 const Ecore_X_Randr_Crtc_Gamma *blue);
2956 ecore_x_randr_move_all_crtcs_but(Ecore_X_Window root,
2957 const Ecore_X_Randr_Crtc *not_moved,
2962 ecore_x_randr_move_crtcs(Ecore_X_Window root,
2963 const Ecore_X_Randr_Crtc *crtcs,
2968 ecore_x_randr_mode_size_get(Ecore_X_Window root,
2969 Ecore_X_Randr_Mode mode,
2972 EAPI Ecore_X_Randr_Connection_Status
2973 ecore_x_randr_output_connection_status_get(Ecore_X_Window root,
2974 Ecore_X_Randr_Output output);
2976 ecore_x_randr_output_size_mm_get(Ecore_X_Window root,
2977 Ecore_X_Randr_Output output,
2981 ecore_x_randr_output_crtc_set(Ecore_X_Window root,
2982 Ecore_X_Randr_Output output,
2983 const Ecore_X_Randr_Crtc crtc);
2985 /* ecore_x_randr_12_edid.c */
2988 * @brief Validates the header from raw EDID data.
2990 * @param edid The edid structure.
2991 * @param edid_length Length of the edid structure.
2992 * @return @c EINA_TRUE, if the header is valid, @c EINA_FALSE otherwise.
2995 ecore_x_randr_edid_has_valid_header(unsigned char *edid,
2996 unsigned long edid_length);
2999 * @brief Checks whether a display's EDID has a valid checksum.
3001 * @param edid The edid structure.
3002 * @param edid_length Length of the edid structure.
3003 * @return @c EINA_TRUE, if the checksum is valid, @c EINA_FALSE otherwise.
3006 ecore_x_randr_edid_info_has_valid_checksum(unsigned char *edid,
3007 unsigned long edid_length);
3010 * @brief Get the encoded version from raw EDID data.
3012 * The return value has the minor version in the lowest 8 bits, and the major
3013 * version in all the rest of the bits. i.e.
3015 * minor = (version & 0x000000ff);
3016 * major = (version & 0xffffff00) >> 8;
3018 * @param edid the edid structure
3019 * @param edid_length length of the edid structure
3020 * @return The encoded major and minor version encasuplated an int.
3023 ecore_x_randr_edid_version_get(unsigned char *edid,
3024 unsigned long edid_length);
3027 * @brief Get the encoded manufacturer from raw EDID data.
3029 * @param edid the edid structure
3030 * @param edid_length length of the edid structure
3031 * @return The encoded manufacturer identifier.
3034 ecore_x_randr_edid_manufacturer_name_get(unsigned char *edid,
3035 unsigned long edid_length);
3038 * @brief Get the encoded name from raw EDID data.
3040 * @param edid the edid structure
3041 * @param edid_length length of the edid structure
3042 * @return The encoded manufacturer identifier.
3045 ecore_x_randr_edid_display_name_get(unsigned char *edid,
3046 unsigned long edid_length);
3049 * @brief Get the encoded ASCII from raw EDID data.
3051 * @param edid the edid structure
3052 * @param edid_length length of the edid structure
3053 * @return The encoded ASCII display identifier.
3056 ecore_x_randr_edid_display_ascii_get(unsigned char *edid,
3057 unsigned long edid_length);
3060 * @brief Get the encoded serial identifier from raw EDID data.
3062 * @param edid the edid structure
3063 * @param edid_length length of the edid structure
3064 * @return The encoded serial identifier.
3067 ecore_x_randr_edid_display_serial_get(unsigned char *edid,
3068 unsigned long edid_length);
3071 * @brief Get the encoded model number from raw EDID data.
3073 * The manufacturer ID table is necessary for a useful description.
3075 * @param edid the edid structure
3076 * @param edid_length length of the edid structure
3077 * @return The encoded model number.
3080 ecore_x_randr_edid_model_get(unsigned char *edid,
3081 unsigned long edid_length);
3084 * @brief Get the manufacturer serial number from raw EDID data.
3086 * @param edid the edid structure
3087 * @param edid_length length of the edid structure
3088 * @return The encoded serial manufacturer serial number.
3091 ecore_x_randr_edid_manufacturer_serial_number_get(unsigned char *edid,
3092 unsigned long edid_length);
3095 * @brief Get the manufacturer model number from raw EDID data.
3097 * @param edid the edid structure
3098 * @param edid_length length of the edid structure
3099 * @return The manufacturer's model number.
3102 ecore_x_randr_edid_manufacturer_model_get(unsigned char *edid,
3103 unsigned long edid_length);
3106 * @brief Looks up the DPMS support from raw EDID data.
3108 * @param edid The edid structure.
3109 * @param edid_length Length of the edid structure.
3110 * @return @c EINA_TRUE, if DPMS is supported in some way, @c EINA_FALSE
3114 ecore_x_randr_edid_dpms_available_get(unsigned char *edid,
3115 unsigned long edid_length);
3118 * @brief Looks up the DPMS Standby support from raw EDID data.
3120 * @param edid The edid structure.
3121 * @param edid_length Length of the edid structure.
3122 * @return @c EINA_TRUE, if DPMS Standby is supported, @c EINA_FALSE otherwise.
3125 ecore_x_randr_edid_dpms_standby_available_get(unsigned char *edid,
3126 unsigned long edid_length);
3129 * @brief Looks up the DPMS Suspend support from raw EDID data.
3131 * @param edid The edid structure.
3132 * @param edid_length Length of the edid structure.
3133 * @return @c EINA_TRUE, if DPMS Suspend is supported, @c EINA_FALSE otherwise.
3136 ecore_x_randr_edid_dpms_suspend_available_get(unsigned char *edid,
3137 unsigned long edid_length);
3140 * @brief Looks up the DPMS Off support from raw EDID data.
3142 * @param edid The edid structure.
3143 * @param edid_length Length of the edid structure.
3144 * @return @c EINA_TRUE, if DPMS Off is supported, @c EINA_FALSE otherwise.
3147 ecore_x_randr_edid_dpms_off_available_get(unsigned char *edid,
3148 unsigned long edid_length);
3151 * @brief Get the preferred aspect ratio from raw EDID data.
3153 * @param edid the edid structure
3154 * @param edid_length length of the edid structure
3155 * @return The preferred aspect ratio.
3157 EAPI Ecore_X_Randr_Edid_Aspect_Ratio
3158 ecore_x_randr_edid_display_aspect_ratio_preferred_get(unsigned char *edid,
3159 unsigned long edid_length);
3162 * @brief Get the supported aspect ratios from raw EDID data.
3164 * @param edid the edid structure
3165 * @param edid_length length of the edid structure
3166 * @return The supported aspect ratios.
3168 EAPI Ecore_X_Randr_Edid_Aspect_Ratio
3169 ecore_x_randr_edid_display_aspect_ratios_get(unsigned char *edid,
3170 unsigned long edid_length);
3173 * @brief Get the supported colorschemes from raw EDID data.
3175 * @param edid the edid structure
3176 * @param edid_length length of the edid structure
3177 * @return The supported colorschemes.
3179 EAPI Ecore_X_Randr_Edid_Display_Colorscheme
3180 ecore_x_randr_edid_display_colorscheme_get(unsigned char *edid,
3181 unsigned long edid_length);
3184 * @brief Get the display type from raw EDID data.
3186 * @param edid The edid structure.
3187 * @param edid_length Length of the edid structure.
3188 * @return @c EINA_TRUE, if the display is a digital one, @c EINA_FALSE
3192 ecore_x_randr_edid_display_type_digital_get(unsigned char *edid,
3193 unsigned long edid_length);
3196 * @brief Get the display interface type from raw EDID data.
3198 * @param edid the edid structure
3199 * @param edid_length length of the edid structure
3200 * @return The interface type.
3202 EAPI Ecore_X_Randr_Edid_Display_Interface_Type
3203 ecore_x_randr_edid_display_interface_type_get(unsigned char *edid,
3204 unsigned long edid_length);
3206 /* ecore_x_randr_12.c */
3209 ecore_x_randr_output_backlight_available(void);
3211 ecore_x_randr_screen_backlight_level_set(Ecore_X_Window root,
3214 ecore_x_randr_output_backlight_level_get(Ecore_X_Window root,
3215 Ecore_X_Randr_Output output);
3217 ecore_x_randr_output_backlight_level_set(Ecore_X_Window root,
3218 Ecore_X_Randr_Output output,
3220 EAPI Ecore_X_Randr_Output
3221 ecore_x_randr_primary_output_get(Ecore_X_Window root);
3223 ecore_x_randr_primary_output_set(Ecore_X_Window root,
3224 Ecore_X_Randr_Output output);
3225 EAPI Ecore_X_Render_Subpixel_Order
3226 ecore_x_randr_output_subpixel_order_get(Ecore_X_Window root,
3227 Ecore_X_Randr_Output output);
3228 EAPI unsigned char *
3229 ecore_x_randr_output_edid_get(Ecore_X_Window root,
3230 Ecore_X_Randr_Output output,
3231 unsigned long *length);
3232 EAPI Ecore_X_Randr_Output *
3233 ecore_x_randr_output_wired_clones_get(Ecore_X_Window root,
3234 Ecore_X_Randr_Output output,
3236 EAPI Ecore_X_Randr_Output **
3237 ecore_x_randr_output_compatibility_list_get(Ecore_X_Window root,
3238 Ecore_X_Randr_Output output,
3240 EAPI Ecore_X_Randr_Signal_Format *
3241 ecore_x_randr_output_signal_formats_get(Ecore_X_Window root,
3242 Ecore_X_Randr_Output output,
3245 ecore_x_randr_output_signal_format_set(Ecore_X_Window root,
3246 Ecore_X_Randr_Output output,
3247 Ecore_X_Randr_Signal_Format *signal);
3248 EAPI Ecore_X_Randr_Signal_Property *
3249 ecore_x_randr_output_signal_properties_get(Ecore_X_Window root,
3250 Ecore_X_Randr_Output output,
3253 ecore_x_randr_output_connector_number_get(Ecore_X_Window root,
3254 Ecore_X_Randr_Output output);
3255 EAPI Ecore_X_Randr_Connector_Type
3256 ecore_x_randr_output_connector_type_get(Ecore_X_Window root,
3257 Ecore_X_Randr_Output output);
3258 EAPI Eina_Rectangle *
3259 ecore_x_randr_crtc_panning_area_get(Ecore_X_Window root,
3260 Ecore_X_Randr_Crtc crtc,
3266 ecore_x_randr_crtc_panning_area_set(Ecore_X_Window root,
3267 Ecore_X_Randr_Crtc crtc,
3272 EAPI Eina_Rectangle *
3273 ecore_x_randr_crtc_tracking_area_get(Ecore_X_Window root,
3274 Ecore_X_Randr_Crtc crtc,
3280 ecore_x_randr_crtc_tracking_area_set(Ecore_X_Window root,
3281 Ecore_X_Randr_Crtc crtc,
3286 EAPI Eina_Rectangle *
3287 ecore_x_randr_crtc_border_area_get(Ecore_X_Window root,
3288 Ecore_X_Randr_Crtc crtc);
3290 ecore_x_randr_crtc_border_area_set(Ecore_X_Window root,
3291 Ecore_X_Randr_Crtc crtc,
3297 /* XRender Support (horrendously incomplete) */
3298 typedef Ecore_X_ID Ecore_X_Picture;
3300 /* XFixes Extension Support */
3301 typedef Ecore_X_ID Ecore_X_Region;
3303 typedef enum _Ecore_X_Region_Type
3305 ECORE_X_REGION_BOUNDING,
3307 } Ecore_X_Region_Type;
3310 ecore_x_region_new(Ecore_X_Rectangle *rects,
3313 ecore_x_region_new_from_bitmap(Ecore_X_Pixmap bitmap);
3315 ecore_x_region_new_from_window(Ecore_X_Window win,
3316 Ecore_X_Region_Type type);
3318 ecore_x_region_new_from_gc(Ecore_X_GC gc);
3320 ecore_x_region_new_from_picture(Ecore_X_Picture picture);
3322 ecore_x_region_free(Ecore_X_Region region);
3324 ecore_x_region_set(Ecore_X_Region region,
3325 Ecore_X_Rectangle *rects,
3328 ecore_x_region_copy(Ecore_X_Region dest,
3329 Ecore_X_Region source);
3331 ecore_x_region_combine(Ecore_X_Region dest,
3332 Ecore_X_Region source1,
3333 Ecore_X_Region source2);
3335 ecore_x_region_intersect(Ecore_X_Region dest,
3336 Ecore_X_Region source1,
3337 Ecore_X_Region source2);
3339 ecore_x_region_subtract(Ecore_X_Region dest,
3340 Ecore_X_Region source1,
3341 Ecore_X_Region source2);
3343 ecore_x_region_invert(Ecore_X_Region dest,
3344 Ecore_X_Rectangle *bounds,
3345 Ecore_X_Region source);
3347 ecore_x_region_translate(Ecore_X_Region region,
3351 ecore_x_region_extents(Ecore_X_Region dest,
3352 Ecore_X_Region source);
3353 EAPI Ecore_X_Rectangle *
3354 ecore_x_region_fetch(Ecore_X_Region region,
3356 Ecore_X_Rectangle *bounds);
3358 ecore_x_region_expand(Ecore_X_Region dest,
3359 Ecore_X_Region source,
3363 unsigned int bottom);
3365 ecore_x_region_gc_clip_set(Ecore_X_Region region,
3370 ecore_x_region_window_shape_set(Ecore_X_Region region,
3372 Ecore_X_Shape_Type type,
3376 ecore_x_region_picture_clip_set(Ecore_X_Region region,
3377 Ecore_X_Picture picture,
3382 * xfixes selection notification request.
3384 * This lets you choose which selections you want to get notifications for.
3385 * @param selection The selection atom.
3386 * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
3390 ecore_x_fixes_selection_notification_request(Ecore_X_Atom selection);
3392 /* XComposite Extension Support */
3394 ecore_x_composite_query(void);
3396 ecore_x_composite_redirect_window(Ecore_X_Window win,
3397 Ecore_X_Composite_Update_Type type);
3399 ecore_x_composite_redirect_subwindows(Ecore_X_Window win,
3400 Ecore_X_Composite_Update_Type type);
3402 ecore_x_composite_unredirect_window(Ecore_X_Window win,
3403 Ecore_X_Composite_Update_Type type);
3405 ecore_x_composite_unredirect_subwindows(Ecore_X_Window win,
3406 Ecore_X_Composite_Update_Type type);
3408 ecore_x_composite_name_window_pixmap_get(Ecore_X_Window win);
3410 ecore_x_composite_window_events_disable(Ecore_X_Window win);
3412 ecore_x_composite_window_events_enable(Ecore_X_Window win);
3414 ecore_x_composite_render_window_enable(Ecore_X_Window root);
3416 ecore_x_composite_render_window_disable(Ecore_X_Window root);
3418 /* XDamage Extension Support */
3419 typedef Ecore_X_ID Ecore_X_Damage;
3421 typedef enum _Ecore_X_Damage_Report_Level
3423 ECORE_X_DAMAGE_REPORT_RAW_RECTANGLES,
3424 ECORE_X_DAMAGE_REPORT_DELTA_RECTANGLES,
3425 ECORE_X_DAMAGE_REPORT_BOUNDING_BOX,
3426 ECORE_X_DAMAGE_REPORT_NON_EMPTY
3427 } Ecore_X_Damage_Report_Level;
3429 struct _Ecore_X_Event_Damage
3431 Ecore_X_Damage_Report_Level level;
3432 Ecore_X_Drawable drawable;
3433 Ecore_X_Damage damage;
3436 Ecore_X_Rectangle area;
3437 Ecore_X_Rectangle geometry;
3440 typedef struct _Ecore_X_Event_Damage Ecore_X_Event_Damage;
3443 ecore_x_damage_query(void);
3445 ecore_x_damage_new(Ecore_X_Drawable d,
3446 Ecore_X_Damage_Report_Level level);
3448 ecore_x_damage_free(Ecore_X_Damage damage);
3450 ecore_x_damage_subtract(Ecore_X_Damage damage,
3451 Ecore_X_Region repair,
3452 Ecore_X_Region parts);
3455 ecore_x_screen_is_composited(int screen);
3457 ecore_x_screen_is_composited_set(int screen,
3458 Ecore_X_Window win);
3461 ecore_x_dpms_query(void);
3463 ecore_x_dpms_capable_get(void);
3465 ecore_x_dpms_enabled_get(void);
3467 ecore_x_dpms_enabled_set(int enabled);
3469 ecore_x_dpms_timeouts_get(unsigned int *standby,
3470 unsigned int *suspend,
3473 ecore_x_dpms_timeouts_set(unsigned int standby,
3474 unsigned int suspend,
3477 ecore_x_dpms_timeout_standby_get(void);
3479 ecore_x_dpms_timeout_suspend_get(void);
3481 ecore_x_dpms_timeout_off_get(void);
3483 ecore_x_dpms_timeout_standby_set(unsigned int new_timeout);
3485 ecore_x_dpms_timeout_suspend_set(unsigned int new_timeout);
3487 ecore_x_dpms_timeout_off_set(unsigned int new_timeout);
3490 ecore_x_test_fake_key_down(const char *key);
3492 ecore_x_test_fake_key_up(const char *key);
3494 ecore_x_test_fake_key_press(const char *key);
3496 ecore_x_keysym_string_get(int keysym);
3499 * Given a keyname, return the keycode representing that key
3500 * @param keyname The key from which to get the keycode.
3501 * @return The keycode of the key.
3505 EAPI int ecore_x_keysym_keycode_get(const char *keyname);
3507 typedef struct _Ecore_X_Image Ecore_X_Image;
3509 EAPI Ecore_X_Image *
3510 ecore_x_image_new(int w,
3515 ecore_x_image_free(Ecore_X_Image *im);
3517 ecore_x_image_get(Ecore_X_Image *im,
3518 Ecore_X_Drawable draw,
3526 ecore_x_image_put(Ecore_X_Image *im,
3527 Ecore_X_Drawable draw,
3536 ecore_x_image_data_get(Ecore_X_Image *im,
3541 ecore_x_image_is_argb32_get(Ecore_X_Image *im);
3544 ecore_x_image_to_argb_convert(void *src,
3559 ecore_x_input_multi_select(Ecore_X_Window win);
3562 ecore_x_vsync_animator_tick_source_set(Ecore_X_Window win);
3564 typedef enum _Ecore_X_Gesture_Event_Mask
3566 ECORE_X_GESTURE_EVENT_MASK_NONE = 0L,
3567 ECORE_X_GESTURE_EVENT_MASK_FLICK = (1L << 0),
3568 ECORE_X_GESTURE_EVENT_MASK_PAN = (1L << 1),
3569 ECORE_X_GESTURE_EVENT_MASK_PINCHROTATION = (1L << 2),
3570 ECORE_X_GESTURE_EVENT_MASK_TAP = (1L << 3),
3571 ECORE_X_GESTURE_EVENT_MASK_TAPNHOLD = (1L << 4),
3572 ECORE_X_GESTURE_EVENT_MASK_HOLD = (1L << 5),
3573 ECORE_X_GESTURE_EVENT_MASK_GROUP = (1L << 6)
3574 } Ecore_X_Gesture_Event_Mask;
3576 typedef enum _Ecore_X_Gesture_Event_Type
3578 ECORE_X_GESTURE_EVENT_FLICK,
3579 ECORE_X_GESTURE_EVENT_PAN,
3580 ECORE_X_GESTURE_EVENT_PINCHROTATION,
3581 ECORE_X_GESTURE_EVENT_TAP,
3582 ECORE_X_GESTURE_EVENT_TAPNHOLD,
3583 ECORE_X_GESTURE_EVENT_HOLD,
3584 ECORE_X_GESTURE_EVENT_GROUP
3585 } Ecore_X_Gesture_Event_Type;
3587 typedef enum _Ecore_X_Gesture_Event_Subtype
3589 ECORE_X_GESTURE_END,
3590 ECORE_X_GESTURE_BEGIN,
3591 ECORE_X_GESTURE_UPDATE,
3592 ECORE_X_GESTURE_DONE
3593 } Ecore_X_Gesture_Event_Subtype;
3595 typedef enum _Ecore_X_Gesture_Group_Subtype
3597 ECORE_X_GESTURE_GROUP_REMOVED,
3598 ECORE_X_GESTURE_GROUP_ADDED,
3599 ECORE_X_GESTURE_GROUP_CURRENT
3600 } Ecore_X_Gesture_Group_Subtype;
3602 typedef enum _Ecore_X_Gesture_Direction
3604 ECORE_X_GESTURE_NORTHWARD,
3605 ECORE_X_GESTURE_NORTHEASTWARD,
3606 ECORE_X_GESTURE_EASTWARD,
3607 ECORE_X_GESTURE_SOUTHEASTWARD,
3608 ECORE_X_GESTURE_SOUTHWARD,
3609 ECORE_X_GESTURE_SOUTHWESTWARD,
3610 ECORE_X_GESTURE_WESTWARD,
3611 ECORE_X_GESTURE_NORTHWESTWARD
3612 } Ecore_X_Gesture_Direction;
3614 struct _Ecore_X_Event_Gesture_Notify_Flick
3618 Ecore_X_Gesture_Event_Subtype subtype;
3621 Ecore_X_Time duration;
3622 Ecore_X_Gesture_Direction direction;
3626 struct _Ecore_X_Event_Gesture_Notify_Pan
3630 Ecore_X_Gesture_Event_Subtype subtype;
3635 Ecore_X_Time duration;
3636 Ecore_X_Gesture_Direction direction;
3639 struct _Ecore_X_Event_Gesture_Notify_PinchRotation
3643 Ecore_X_Gesture_Event_Subtype subtype;
3652 struct _Ecore_X_Event_Gesture_Notify_Tap
3656 Ecore_X_Gesture_Event_Subtype subtype;
3661 Ecore_X_Time interval;
3664 struct _Ecore_X_Event_Gesture_Notify_TapNHold
3668 Ecore_X_Gesture_Event_Subtype subtype;
3672 Ecore_X_Time interval;
3673 Ecore_X_Time hold_time;
3676 struct _Ecore_X_Event_Gesture_Notify_Hold
3680 Ecore_X_Gesture_Event_Subtype subtype;
3684 Ecore_X_Time hold_time;
3687 struct _Ecore_X_Event_Gesture_Notify_Group
3691 Ecore_X_Gesture_Group_Subtype subtype;
3697 ecore_x_gesture_supported(void);
3700 ecore_x_gesture_events_select(Ecore_X_Window win,
3701 Ecore_X_Gesture_Event_Mask mask);
3703 EAPI Ecore_X_Gesture_Event_Mask
3704 ecore_x_gesture_events_selected_get(Ecore_X_Window win);
3707 ecore_x_gesture_event_grab(Ecore_X_Window win,
3708 Ecore_X_Gesture_Event_Type type,
3712 ecore_x_gesture_event_ungrab(Ecore_X_Window win,
3713 Ecore_X_Gesture_Event_Type type,
3717 ecore_x_e_illume_indicator_state_set(Ecore_X_Window win,
3718 Ecore_X_Illume_Indicator_State state);
3719 EAPI Ecore_X_Illume_Indicator_State
3720 ecore_x_e_illume_indicator_state_get(Ecore_X_Window win);
3722 ecore_x_e_illume_indicator_state_send(Ecore_X_Window win,
3723 Ecore_X_Illume_Indicator_State state);
3726 ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win,
3727 Ecore_X_Illume_Indicator_Opacity_Mode mode);
3729 EAPI Ecore_X_Illume_Indicator_Opacity_Mode
3730 ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win);
3733 ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win,
3734 Ecore_X_Illume_Indicator_Opacity_Mode mode);
3738 #endif // ifdef __cplusplus
3740 #include <Ecore_X_Atoms.h>
3741 #include <Ecore_X_Cursor.h>
3743 #endif // ifndef _ECORE_X_H