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;
122 typedef enum _Ecore_X_Window_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;
156 typedef enum _Ecore_X_Window_State_Action
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;
163 typedef enum _Ecore_X_Window_Stack_Mode
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;
172 typedef enum _Ecore_X_Randr_Orientation
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;
182 typedef enum _Ecore_X_Randr_Connection_Status
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;
189 typedef enum _Ecore_X_Randr_Output_Policy
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;
199 typedef enum _Ecore_X_Randr_Relative_Alignment
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;
206 typedef enum _Ecore_X_Render_Subpixel_Order
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;
216 typedef enum _Ecore_X_Randr_Edid_Display_Interface_Type
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;
226 typedef enum _Ecore_X_Randr_Edid_Display_Colorscheme
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;
237 typedef enum _Ecore_X_Randr_Edid_Aspect_Ratio
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;
246 #define ECORE_X_RANDR_EDID_UNKNOWN_VALUE -1
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"
255 #define ECORE_X_DND_VERSION 5
257 typedef enum _Ecore_X_Selection
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
266 typedef enum _Ecore_X_Event_Mode
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;
274 typedef enum _Ecore_X_Event_Detail
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;
286 typedef enum _Ecore_X_Event_Mask
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;
311 typedef enum _Ecore_X_Gravity
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
327 /* Needed for ecore_x_region_window_shape_set */
328 typedef enum _Ecore_X_Shape_Type
330 ECORE_X_SHAPE_BOUNDING,
333 } Ecore_X_Shape_Type;
335 typedef enum _Ecore_X_Mapping_Type
337 ECORE_X_MAPPING_MODIFIER,
338 ECORE_X_MAPPING_KEYBOARD,
339 ECORE_X_MAPPING_MOUSE
340 } Ecore_X_Mapping_Type;
342 typedef enum _Ecore_X_Randr_Property_Change
344 ECORE_X_RANDR_PROPERTY_CHANGE_ADD,
345 ECORE_X_RANDR_PROPERTY_CHANGE_DEL
346 } Ecore_X_Randr_Property_Change;
348 typedef struct _Ecore_X_Event_Mouse_In Ecore_X_Event_Mouse_In;
349 typedef struct _Ecore_X_Event_Mouse_Out Ecore_X_Event_Mouse_Out;
350 typedef struct _Ecore_X_Event_Window_Focus_In Ecore_X_Event_Window_Focus_In;
351 typedef struct _Ecore_X_Event_Window_Focus_Out Ecore_X_Event_Window_Focus_Out;
352 typedef struct _Ecore_X_Event_Window_Keymap Ecore_X_Event_Window_Keymap;
353 typedef struct _Ecore_X_Event_Window_Damage Ecore_X_Event_Window_Damage;
354 typedef struct _Ecore_X_Event_Window_Visibility_Change Ecore_X_Event_Window_Visibility_Change;
355 typedef struct _Ecore_X_Event_Window_Create Ecore_X_Event_Window_Create;
356 typedef struct _Ecore_X_Event_Window_Destroy Ecore_X_Event_Window_Destroy;
357 typedef struct _Ecore_X_Event_Window_Hide Ecore_X_Event_Window_Hide;
358 typedef struct _Ecore_X_Event_Window_Show Ecore_X_Event_Window_Show;
359 typedef struct _Ecore_X_Event_Window_Show_Request Ecore_X_Event_Window_Show_Request;
360 typedef struct _Ecore_X_Event_Window_Reparent Ecore_X_Event_Window_Reparent;
361 typedef struct _Ecore_X_Event_Window_Configure Ecore_X_Event_Window_Configure;
362 typedef struct _Ecore_X_Event_Window_Configure_Request Ecore_X_Event_Window_Configure_Request;
363 typedef struct _Ecore_X_Event_Window_Gravity Ecore_X_Event_Window_Gravity;
364 typedef struct _Ecore_X_Event_Window_Resize_Request Ecore_X_Event_Window_Resize_Request;
365 typedef struct _Ecore_X_Event_Window_Stack Ecore_X_Event_Window_Stack;
366 typedef struct _Ecore_X_Event_Window_Stack_Request Ecore_X_Event_Window_Stack_Request;
367 typedef struct _Ecore_X_Event_Window_Property Ecore_X_Event_Window_Property;
368 typedef struct _Ecore_X_Event_Window_Colormap Ecore_X_Event_Window_Colormap;
369 typedef struct _Ecore_X_Event_Mapping_Change Ecore_X_Event_Mapping_Change;
370 typedef struct _Ecore_X_Event_Window_Mapping Ecore_X_Event_Window_Mapping;
371 typedef struct _Ecore_X_Event_Selection_Clear Ecore_X_Event_Selection_Clear;
372 typedef struct _Ecore_X_Event_Selection_Request Ecore_X_Event_Selection_Request;
373 typedef struct _Ecore_X_Event_Selection_Notify Ecore_X_Event_Selection_Notify;
374 typedef struct _Ecore_X_Event_Fixes_Selection_Notify Ecore_X_Event_Fixes_Selection_Notify;
375 typedef struct _Ecore_X_Selection_Data Ecore_X_Selection_Data;
376 typedef struct _Ecore_X_Selection_Data_Files Ecore_X_Selection_Data_Files;
377 typedef struct _Ecore_X_Selection_Data_Text Ecore_X_Selection_Data_Text;
378 typedef struct _Ecore_X_Selection_Data_Targets Ecore_X_Selection_Data_Targets;
379 typedef struct _Ecore_X_Event_Xdnd_Enter Ecore_X_Event_Xdnd_Enter;
380 typedef struct _Ecore_X_Event_Xdnd_Position Ecore_X_Event_Xdnd_Position;
381 typedef struct _Ecore_X_Event_Xdnd_Status Ecore_X_Event_Xdnd_Status;
382 typedef struct _Ecore_X_Event_Xdnd_Leave Ecore_X_Event_Xdnd_Leave;
383 typedef struct _Ecore_X_Event_Xdnd_Drop Ecore_X_Event_Xdnd_Drop;
384 typedef struct _Ecore_X_Event_Xdnd_Finished Ecore_X_Event_Xdnd_Finished;
385 typedef struct _Ecore_X_Event_Client_Message Ecore_X_Event_Client_Message;
386 typedef struct _Ecore_X_Event_Window_Shape Ecore_X_Event_Window_Shape;
387 typedef struct _Ecore_X_Event_Screensaver_Notify Ecore_X_Event_Screensaver_Notify;
388 typedef struct _Ecore_X_Event_Sync_Counter Ecore_X_Event_Sync_Counter;
389 typedef struct _Ecore_X_Event_Sync_Alarm Ecore_X_Event_Sync_Alarm;
390 typedef struct _Ecore_X_Event_Screen_Change Ecore_X_Event_Screen_Change;
391 typedef struct _Ecore_X_Event_Randr_Crtc_Change Ecore_X_Event_Randr_Crtc_Change;
392 typedef struct _Ecore_X_Event_Randr_Output_Change Ecore_X_Event_Randr_Output_Change;
393 typedef struct _Ecore_X_Event_Randr_Output_Property_Notify Ecore_X_Event_Randr_Output_Property_Notify;
395 typedef struct _Ecore_X_Event_Window_Delete_Request Ecore_X_Event_Window_Delete_Request;
396 typedef struct _Ecore_X_Event_Window_Move_Resize_Request Ecore_X_Event_Window_Move_Resize_Request;
397 typedef struct _Ecore_X_Event_Window_State_Request Ecore_X_Event_Window_State_Request;
398 typedef struct _Ecore_X_Event_Frame_Extents_Request Ecore_X_Event_Frame_Extents_Request;
399 typedef struct _Ecore_X_Event_Ping Ecore_X_Event_Ping;
400 typedef struct _Ecore_X_Event_Desktop_Change Ecore_X_Event_Desktop_Change;
402 typedef struct _Ecore_X_Event_Startup_Sequence Ecore_X_Event_Startup_Sequence;
404 typedef struct _Ecore_X_Event_Generic Ecore_X_Event_Generic;
406 typedef struct _Ecore_X_Randr_Screen_Size Ecore_X_Randr_Screen_Size;
407 typedef struct _Ecore_X_Randr_Screen_Size_MM Ecore_X_Randr_Screen_Size_MM;
409 typedef struct _Ecore_X_Xdnd_Position Ecore_X_Xdnd_Position;
411 struct _Ecore_X_Event_Mouse_In
415 Eina_Bool same_screen : 1;
421 Ecore_X_Window event_win;
422 Ecore_X_Window root_win;
423 Ecore_X_Event_Mode mode;
424 Ecore_X_Event_Detail detail;
428 struct _Ecore_X_Event_Mouse_Out
438 Ecore_X_Window event_win;
439 Ecore_X_Window root_win;
440 Ecore_X_Event_Mode mode;
441 Ecore_X_Event_Detail detail;
445 struct _Ecore_X_Event_Window_Focus_In
448 Ecore_X_Event_Mode mode;
449 Ecore_X_Event_Detail detail;
453 struct _Ecore_X_Event_Window_Focus_Out
456 Ecore_X_Event_Mode mode;
457 Ecore_X_Event_Detail detail;
461 struct _Ecore_X_Event_Window_Keymap
466 struct _Ecore_X_Event_Window_Damage
474 struct _Ecore_X_Event_Window_Visibility_Change
481 struct _Ecore_X_Event_Window_Create
484 Ecore_X_Window parent;
491 struct _Ecore_X_Event_Window_Destroy
494 Ecore_X_Window event_win;
498 struct _Ecore_X_Event_Window_Hide
501 Ecore_X_Window event_win;
505 struct _Ecore_X_Event_Window_Show
508 Ecore_X_Window event_win;
512 struct _Ecore_X_Event_Window_Show_Request
515 Ecore_X_Window parent;
519 struct _Ecore_X_Event_Window_Reparent
522 Ecore_X_Window event_win;
523 Ecore_X_Window parent;
527 struct _Ecore_X_Event_Window_Configure
530 Ecore_X_Window event_win;
531 Ecore_X_Window abovewin;
534 Eina_Bool override : 1;
535 Eina_Bool from_wm : 1;
539 struct _Ecore_X_Event_Window_Configure_Request
542 Ecore_X_Window parent_win;
543 Ecore_X_Window abovewin;
546 Ecore_X_Window_Stack_Mode detail;
547 unsigned long value_mask;
551 struct _Ecore_X_Event_Window_Gravity
554 Ecore_X_Window event_win;
558 struct _Ecore_X_Event_Window_Resize_Request
565 struct _Ecore_X_Event_Window_Stack
568 Ecore_X_Window event_win;
569 Ecore_X_Window_Stack_Mode detail;
573 struct _Ecore_X_Event_Window_Stack_Request
576 Ecore_X_Window parent;
577 Ecore_X_Window_Stack_Mode detail;
581 struct _Ecore_X_Event_Window_Property
588 struct _Ecore_X_Event_Window_Colormap
591 Ecore_X_Colormap cmap;
592 Eina_Bool installed : 1;
596 struct _Ecore_X_Event_Mapping_Change
598 Ecore_X_Mapping_Type type;
603 struct _Ecore_X_Event_Selection_Clear
606 Ecore_X_Selection selection;
611 struct _Ecore_X_Event_Selection_Request
613 Ecore_X_Window owner;
614 Ecore_X_Window requestor;
616 Ecore_X_Atom selection;
618 Ecore_X_Atom property;
623 ECORE_X_OWNER_CHANGE_REASON_NEW_OWNER,
624 ECORE_X_OWNER_CHANGE_REASON_DESTROY,
625 ECORE_X_OWNER_CHANGE_REASON_CLOSE
626 } Ecore_X_Owner_Change_Reason;
628 struct _Ecore_X_Event_Fixes_Selection_Notify
631 Ecore_X_Window owner;
633 Ecore_X_Time selection_time;
634 Ecore_X_Selection selection;
636 Ecore_X_Owner_Change_Reason reason;
639 struct _Ecore_X_Event_Selection_Notify
643 Ecore_X_Selection selection;
649 struct _Ecore_X_Selection_Data
653 ECORE_X_SELECTION_CONTENT_NONE,
654 ECORE_X_SELECTION_CONTENT_TEXT,
655 ECORE_X_SELECTION_CONTENT_FILES,
656 ECORE_X_SELECTION_CONTENT_TARGETS,
657 ECORE_X_SELECTION_CONTENT_CUSTOM
662 int (*free)(void *data);
665 struct _Ecore_X_Selection_Data_Files
667 Ecore_X_Selection_Data data;
672 struct _Ecore_X_Selection_Data_Text
674 Ecore_X_Selection_Data data;
678 struct _Ecore_X_Selection_Data_Targets
680 Ecore_X_Selection_Data data;
685 struct _Ecore_X_Event_Xdnd_Enter
687 Ecore_X_Window win, source;
693 struct _Ecore_X_Event_Xdnd_Position
695 Ecore_X_Window win, source;
703 struct _Ecore_X_Xdnd_Position
705 Ecore_X_Window win, prev;
712 struct _Ecore_X_Event_Xdnd_Status
714 Ecore_X_Window win, target;
715 Eina_Bool will_accept : 1;
716 Ecore_X_Rectangle rectangle;
720 struct _Ecore_X_Event_Xdnd_Leave
722 Ecore_X_Window win, source;
725 struct _Ecore_X_Event_Xdnd_Drop
727 Ecore_X_Window win, source;
735 struct _Ecore_X_Event_Xdnd_Finished
737 Ecore_X_Window win, target;
738 Eina_Bool completed : 1;
742 struct _Ecore_X_Event_Client_Message
745 Ecore_X_Atom message_type;
756 struct _Ecore_X_Event_Window_Shape
760 Ecore_X_Shape_Type type;
762 Eina_Bool shaped : 1;
765 struct _Ecore_X_Event_Screensaver_Notify
772 struct _Ecore_X_Event_Sync_Counter
777 struct _Ecore_X_Event_Sync_Alarm
780 Ecore_X_Sync_Alarm alarm;
783 struct _Ecore_X_Randr_Screen_Size
788 struct _Ecore_X_Randr_Screen_Size_MM
790 int width, height, width_mm, height_mm;
793 struct _Ecore_X_Event_Screen_Change
797 Ecore_X_Randr_Screen_Size_MM size; /* in pixel and millimeters */
799 Ecore_X_Time config_time;
800 Ecore_X_Randr_Orientation orientation;
801 Ecore_X_Render_Subpixel_Order subpixel_order;
802 Ecore_X_Randr_Size_ID size_id;
805 struct _Ecore_X_Event_Randr_Crtc_Change
808 Ecore_X_Randr_Crtc crtc;
809 Ecore_X_Randr_Mode mode;
810 Ecore_X_Randr_Orientation orientation;
814 struct _Ecore_X_Event_Randr_Output_Change
817 Ecore_X_Randr_Output output;
818 Ecore_X_Randr_Crtc crtc;
819 Ecore_X_Randr_Mode mode;
820 Ecore_X_Randr_Orientation orientation;
821 Ecore_X_Randr_Connection_Status connection;
822 Ecore_X_Render_Subpixel_Order subpixel_order;
825 struct _Ecore_X_Event_Randr_Output_Property_Notify
828 Ecore_X_Randr_Output output;
829 Ecore_X_Atom property;
831 Ecore_X_Randr_Property_Change state;
834 struct _Ecore_X_Event_Window_Delete_Request
840 struct _Ecore_X_Event_Window_Prop_Title_Change
847 struct _Ecore_X_Event_Window_Prop_Visible_Title_Change
854 struct _Ecore_X_Event_Window_Prop_Icon_Name_Change
861 struct _Ecore_X_Event_Window_Prop_Visible_Icon_Name_Change
868 struct _Ecore_X_Event_Window_Prop_Client_Machine_Change
875 struct _Ecore_X_Event_Window_Prop_Name_Class_Change
883 struct _Ecore_X_Event_Window_Prop_Pid_Change
890 struct _Ecore_X_Event_Window_Prop_Desktop_Change
897 struct _Ecore_X_Event_Startup_Sequence
902 struct _Ecore_X_Event_Window_Move_Resize_Request
911 struct _Ecore_X_Event_Window_State_Request
914 Ecore_X_Window_State_Action action;
915 Ecore_X_Window_State state[2];
919 struct _Ecore_X_Event_Frame_Extents_Request
924 struct _Ecore_X_Event_Ping
927 Ecore_X_Window event_win;
931 struct _Ecore_X_Event_Desktop_Change
938 struct _Ecore_X_Event_Generic
946 EAPI extern int ECORE_X_EVENT_ANY; /**< low level event dependent on
947 backend in use, if Xlib will be XEvent,
948 if XCB will be xcb_generic_event_t.
949 @warning avoid using it.
951 EAPI extern int ECORE_X_EVENT_MOUSE_IN;
952 EAPI extern int ECORE_X_EVENT_MOUSE_OUT;
953 EAPI extern int ECORE_X_EVENT_WINDOW_FOCUS_IN;
954 EAPI extern int ECORE_X_EVENT_WINDOW_FOCUS_OUT;
955 EAPI extern int ECORE_X_EVENT_WINDOW_KEYMAP;
956 EAPI extern int ECORE_X_EVENT_WINDOW_DAMAGE;
957 EAPI extern int ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE;
958 EAPI extern int ECORE_X_EVENT_WINDOW_CREATE;
959 EAPI extern int ECORE_X_EVENT_WINDOW_DESTROY;
960 EAPI extern int ECORE_X_EVENT_WINDOW_HIDE;
961 EAPI extern int ECORE_X_EVENT_WINDOW_SHOW;
962 EAPI extern int ECORE_X_EVENT_WINDOW_SHOW_REQUEST;
963 EAPI extern int ECORE_X_EVENT_WINDOW_REPARENT;
964 EAPI extern int ECORE_X_EVENT_WINDOW_CONFIGURE;
965 EAPI extern int ECORE_X_EVENT_WINDOW_CONFIGURE_REQUEST;
966 EAPI extern int ECORE_X_EVENT_WINDOW_GRAVITY;
967 EAPI extern int ECORE_X_EVENT_WINDOW_RESIZE_REQUEST;
968 EAPI extern int ECORE_X_EVENT_WINDOW_STACK;
969 EAPI extern int ECORE_X_EVENT_WINDOW_STACK_REQUEST;
970 EAPI extern int ECORE_X_EVENT_WINDOW_PROPERTY;
971 EAPI extern int ECORE_X_EVENT_WINDOW_COLORMAP;
972 EAPI extern int ECORE_X_EVENT_WINDOW_MAPPING;
973 EAPI extern int ECORE_X_EVENT_MAPPING_CHANGE;
974 EAPI extern int ECORE_X_EVENT_SELECTION_CLEAR;
975 EAPI extern int ECORE_X_EVENT_SELECTION_REQUEST;
976 EAPI extern int ECORE_X_EVENT_SELECTION_NOTIFY;
977 EAPI extern int ECORE_X_EVENT_FIXES_SELECTION_NOTIFY;
978 EAPI extern int ECORE_X_EVENT_CLIENT_MESSAGE;
979 EAPI extern int ECORE_X_EVENT_WINDOW_SHAPE;
980 EAPI extern int ECORE_X_EVENT_SCREENSAVER_NOTIFY;
981 EAPI extern int ECORE_X_EVENT_SYNC_COUNTER;
982 EAPI extern int ECORE_X_EVENT_SYNC_ALARM;
983 EAPI extern int ECORE_X_EVENT_SCREEN_CHANGE;
984 EAPI extern int ECORE_X_EVENT_RANDR_CRTC_CHANGE;
985 EAPI extern int ECORE_X_EVENT_RANDR_OUTPUT_CHANGE;
986 EAPI extern int ECORE_X_EVENT_RANDR_OUTPUT_PROPERTY_NOTIFY;
987 EAPI extern int ECORE_X_EVENT_DAMAGE_NOTIFY;
989 EAPI extern int ECORE_X_EVENT_WINDOW_DELETE_REQUEST;
991 EAPI extern int ECORE_X_EVENT_WINDOW_MOVE_RESIZE_REQUEST;
992 EAPI extern int ECORE_X_EVENT_WINDOW_STATE_REQUEST;
993 EAPI extern int ECORE_X_EVENT_FRAME_EXTENTS_REQUEST;
994 EAPI extern int ECORE_X_EVENT_PING;
995 EAPI extern int ECORE_X_EVENT_DESKTOP_CHANGE;
997 EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_NEW;
998 EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_CHANGE;
999 EAPI extern int ECORE_X_EVENT_STARTUP_SEQUENCE_REMOVE;
1001 EAPI extern int ECORE_X_EVENT_GENERIC;
1003 EAPI extern int ECORE_X_EVENT_XDND_ENTER;
1004 EAPI extern int ECORE_X_EVENT_XDND_POSITION;
1005 EAPI extern int ECORE_X_EVENT_XDND_STATUS;
1006 EAPI extern int ECORE_X_EVENT_XDND_LEAVE;
1007 EAPI extern int ECORE_X_EVENT_XDND_DROP;
1008 EAPI extern int ECORE_X_EVENT_XDND_FINISHED;
1010 EAPI extern int ECORE_X_LOCK_SCROLL;
1011 EAPI extern int ECORE_X_LOCK_NUM;
1012 EAPI extern int ECORE_X_LOCK_CAPS;
1013 EAPI extern int ECORE_X_LOCK_SHIFT;
1015 typedef enum _Ecore_X_WM_Protocol
1017 /* If enabled the window manager will be asked to send a
1018 * delete message instead of just closing (destroying) the window. */
1019 ECORE_X_WM_PROTOCOL_DELETE_REQUEST,
1021 /* If enabled the window manager will be told that the window
1022 * explicitly sets input focus. */
1023 ECORE_X_WM_PROTOCOL_TAKE_FOCUS,
1025 /* If enabled the window manager can ping the window to check
1026 * if it is alive. */
1027 ECORE_X_NET_WM_PROTOCOL_PING,
1029 /* If enabled the window manager can sync updating with the
1031 ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST,
1033 /* Number of defined items */
1034 ECORE_X_WM_PROTOCOL_NUM
1035 } Ecore_X_WM_Protocol;
1037 typedef enum _Ecore_X_Window_Input_Mode
1039 /* The window can never be focused */
1040 ECORE_X_WINDOW_INPUT_MODE_NONE,
1042 /* The window can be focused by the WM but doesn't focus itself */
1043 ECORE_X_WINDOW_INPUT_MODE_PASSIVE,
1045 /* The window sets the focus itself if one of its sub-windows
1046 * already is focused */
1047 ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL,
1049 /* The window sets the focus itself even if another window
1050 * is currently focused */
1051 ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL
1052 } Ecore_X_Window_Input_Mode;
1054 typedef enum _Ecore_X_Window_State_Hint
1056 /** Do not provide any state hint to the window manager */
1057 ECORE_X_WINDOW_STATE_HINT_NONE = -1,
1059 /** The window wants to remain hidden and NOT iconified */
1060 ECORE_X_WINDOW_STATE_HINT_WITHDRAWN,
1062 /** The window wants to be mapped normally */
1063 ECORE_X_WINDOW_STATE_HINT_NORMAL,
1065 /** The window wants to start in an iconified state */
1066 ECORE_X_WINDOW_STATE_HINT_ICONIC
1067 } Ecore_X_Window_State_Hint;
1069 typedef enum _Ecore_X_Window_Type
1071 ECORE_X_WINDOW_TYPE_UNKNOWN = 0,
1072 ECORE_X_WINDOW_TYPE_DESKTOP,
1073 ECORE_X_WINDOW_TYPE_DOCK,
1074 ECORE_X_WINDOW_TYPE_TOOLBAR,
1075 ECORE_X_WINDOW_TYPE_MENU,
1076 ECORE_X_WINDOW_TYPE_UTILITY,
1077 ECORE_X_WINDOW_TYPE_SPLASH,
1078 ECORE_X_WINDOW_TYPE_DIALOG,
1079 ECORE_X_WINDOW_TYPE_NORMAL,
1080 ECORE_X_WINDOW_TYPE_DROPDOWN_MENU,
1081 ECORE_X_WINDOW_TYPE_POPUP_MENU,
1082 ECORE_X_WINDOW_TYPE_TOOLTIP,
1083 ECORE_X_WINDOW_TYPE_NOTIFICATION,
1084 ECORE_X_WINDOW_TYPE_COMBO,
1085 ECORE_X_WINDOW_TYPE_DND
1086 } Ecore_X_Window_Type;
1088 typedef enum _Ecore_X_Action
1090 ECORE_X_ACTION_MOVE,
1091 ECORE_X_ACTION_RESIZE,
1092 ECORE_X_ACTION_MINIMIZE,
1093 ECORE_X_ACTION_SHADE,
1094 ECORE_X_ACTION_STICK,
1095 ECORE_X_ACTION_MAXIMIZE_HORZ,
1096 ECORE_X_ACTION_MAXIMIZE_VERT,
1097 ECORE_X_ACTION_FULLSCREEN,
1098 ECORE_X_ACTION_CHANGE_DESKTOP,
1099 ECORE_X_ACTION_CLOSE,
1100 ECORE_X_ACTION_ABOVE,
1101 ECORE_X_ACTION_BELOW
1104 typedef enum _Ecore_X_Window_Configure_Mask
1106 ECORE_X_WINDOW_CONFIGURE_MASK_X = (1 << 0),
1107 ECORE_X_WINDOW_CONFIGURE_MASK_Y = (1 << 1),
1108 ECORE_X_WINDOW_CONFIGURE_MASK_W = (1 << 2),
1109 ECORE_X_WINDOW_CONFIGURE_MASK_H = (1 << 3),
1110 ECORE_X_WINDOW_CONFIGURE_MASK_BORDER_WIDTH = (1 << 4),
1111 ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING = (1 << 5),
1112 ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE = (1 << 6)
1113 } Ecore_X_Window_Configure_Mask;
1115 typedef enum _Ecore_X_Virtual_Keyboard_State
1117 ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN = 0,
1118 ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF,
1119 ECORE_X_VIRTUAL_KEYBOARD_STATE_ON,
1120 ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA,
1121 ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC,
1122 ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN,
1123 ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER,
1124 ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX,
1125 ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL,
1126 ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD,
1127 ECORE_X_VIRTUAL_KEYBOARD_STATE_IP,
1128 ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST,
1129 ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE,
1130 ECORE_X_VIRTUAL_KEYBOARD_STATE_URL,
1131 ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD,
1132 ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME
1133 } Ecore_X_Virtual_Keyboard_State;
1135 typedef enum _Ecore_X_Illume_Mode
1137 ECORE_X_ILLUME_MODE_UNKNOWN = 0,
1138 ECORE_X_ILLUME_MODE_SINGLE,
1139 ECORE_X_ILLUME_MODE_DUAL_TOP,
1140 ECORE_X_ILLUME_MODE_DUAL_LEFT
1141 } Ecore_X_Illume_Mode;
1143 typedef enum _Ecore_X_Illume_Quickpanel_State
1145 ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN = 0,
1146 ECORE_X_ILLUME_QUICKPANEL_STATE_OFF,
1147 ECORE_X_ILLUME_QUICKPANEL_STATE_ON
1148 } Ecore_X_Illume_Quickpanel_State;
1150 /* Window layer constants */
1151 #define ECORE_X_WINDOW_LAYER_BELOW 2
1152 #define ECORE_X_WINDOW_LAYER_NORMAL 4
1153 #define ECORE_X_WINDOW_LAYER_ABOVE 6
1155 /* Property list operations */
1156 #define ECORE_X_PROP_LIST_REMOVE 0
1157 #define ECORE_X_PROP_LIST_ADD 1
1158 #define ECORE_X_PROP_LIST_TOGGLE 2
1160 EAPI int ecore_x_init(const char *name);
1161 EAPI int ecore_x_shutdown(void);
1162 EAPI int ecore_x_disconnect(void);
1163 EAPI Ecore_X_Display * ecore_x_display_get(void);
1164 EAPI Ecore_X_Connection * ecore_x_connection_get(void);
1165 EAPI int ecore_x_fd_get(void);
1166 EAPI Ecore_X_Screen * ecore_x_default_screen_get(void);
1167 EAPI void ecore_x_screen_size_get(const Ecore_X_Screen *screen, int *w, int *h);
1168 EAPI int ecore_x_screen_count_get(void);
1169 EAPI int ecore_x_screen_index_get(const Ecore_X_Screen *screen);
1170 EAPI Ecore_X_Screen * ecore_x_screen_get(int index);
1172 EAPI void ecore_x_double_click_time_set(double t);
1173 EAPI double ecore_x_double_click_time_get(void);
1174 EAPI void ecore_x_flush(void);
1175 EAPI void ecore_x_sync(void);
1176 EAPI void ecore_x_killall(Ecore_X_Window root);
1177 EAPI void ecore_x_kill(Ecore_X_Window win);
1178 EAPI int ecore_x_dpi_get(void);
1179 EAPI Eina_Bool ecore_x_bell(int percent);
1180 EAPI unsigned int ecore_x_visual_id_get(Ecore_X_Visual visual);
1182 EAPI Ecore_X_Visual ecore_x_default_visual_get(Ecore_X_Display *disp, Ecore_X_Screen *screen);
1183 EAPI Ecore_X_Colormap ecore_x_default_colormap_get(Ecore_X_Display *disp, Ecore_X_Screen *screen);
1184 EAPI int ecore_x_default_depth_get(Ecore_X_Display *disp, Ecore_X_Screen *screen);
1186 EAPI Ecore_X_Time ecore_x_current_time_get(void);
1188 EAPI void ecore_x_error_handler_set(void (*func)(void *data), const void *data);
1189 EAPI void ecore_x_io_error_handler_set(void (*func)(
1190 void *data), const void *data);
1191 EAPI int ecore_x_error_request_get(void);
1192 EAPI int ecore_x_error_code_get(void);
1194 EAPI void ecore_x_event_mask_set(Ecore_X_Window w,
1195 Ecore_X_Event_Mask mask);
1196 EAPI void ecore_x_event_mask_unset(Ecore_X_Window w,
1197 Ecore_X_Event_Mask mask);
1199 EAPI Eina_Bool ecore_x_selection_notify_send(Ecore_X_Window requestor,
1200 Ecore_X_Atom selection,
1201 Ecore_X_Atom target,
1202 Ecore_X_Atom property,
1204 EAPI Eina_Bool ecore_x_selection_primary_set(Ecore_X_Window w,
1207 EAPI Eina_Bool ecore_x_selection_primary_clear(void);
1208 EAPI Eina_Bool ecore_x_selection_secondary_set(Ecore_X_Window w,
1211 EAPI Eina_Bool ecore_x_selection_secondary_clear(void);
1212 EAPI Eina_Bool ecore_x_selection_xdnd_set(Ecore_X_Window w,
1215 EAPI Eina_Bool ecore_x_selection_xdnd_clear(void);
1216 EAPI Eina_Bool ecore_x_selection_clipboard_set(Ecore_X_Window w,
1219 EAPI Eina_Bool ecore_x_selection_clipboard_clear(void);
1220 EAPI void ecore_x_selection_primary_request(Ecore_X_Window w,
1221 const char *target);
1222 EAPI void ecore_x_selection_secondary_request(Ecore_X_Window w,
1223 const char *target);
1224 EAPI void ecore_x_selection_xdnd_request(Ecore_X_Window w,
1225 const char *target);
1226 EAPI void ecore_x_selection_clipboard_request(Ecore_X_Window w,
1227 const char *target);
1228 EAPI Eina_Bool ecore_x_selection_convert(Ecore_X_Atom selection,
1229 Ecore_X_Atom target,
1232 Ecore_X_Atom *targprop,
1234 EAPI void ecore_x_selection_converter_add(char *target, Eina_Bool (*func)(
1242 EAPI void ecore_x_selection_converter_atom_add(Ecore_X_Atom target, Eina_Bool (*func)(
1248 Ecore_X_Atom *tprop,
1250 EAPI void ecore_x_selection_converter_del(char *target);
1251 EAPI void ecore_x_selection_converter_atom_del(Ecore_X_Atom target);
1252 EAPI void ecore_x_selection_parser_add(const char *target,
1253 void *(*func)(const char *target,
1254 void *data, int size,
1256 EAPI void ecore_x_selection_parser_del(const char *target);
1257 EAPI void ecore_x_selection_owner_set(Ecore_X_Window win, Ecore_X_Atom atom, Ecore_X_Time tm);
1258 EAPI Ecore_X_Window ecore_x_selection_owner_get(Ecore_X_Atom atom);
1260 EAPI void ecore_x_dnd_aware_set(Ecore_X_Window win, Eina_Bool on);
1261 EAPI int ecore_x_dnd_version_get(Ecore_X_Window win);
1262 EAPI Eina_Bool ecore_x_dnd_type_isset(Ecore_X_Window win,
1264 EAPI void ecore_x_dnd_type_set(Ecore_X_Window win,
1267 EAPI void ecore_x_dnd_types_set(Ecore_X_Window win,
1269 unsigned int num_types);
1270 EAPI void ecore_x_dnd_actions_set(Ecore_X_Window win,
1271 Ecore_X_Atom *actions,
1272 unsigned int num_actions);
1273 EAPI Eina_Bool ecore_x_dnd_begin(Ecore_X_Window source,
1274 unsigned char *data,
1276 EAPI Eina_Bool ecore_x_dnd_drop(void);
1277 EAPI void ecore_x_dnd_send_status(Eina_Bool will_accept,
1279 Ecore_X_Rectangle rectangle,
1280 Ecore_X_Atom action);
1281 EAPI void ecore_x_dnd_send_finished(void);
1282 EAPI void ecore_x_dnd_source_action_set(Ecore_X_Atom action);
1283 EAPI Ecore_X_Atom ecore_x_dnd_source_action_get(void);
1284 EAPI void ecore_x_dnd_callback_pos_update_set(void (*cb)(void *, Ecore_X_Xdnd_Position *data),
1287 EAPI Ecore_X_Window ecore_x_window_new(Ecore_X_Window parent,
1292 EAPI Ecore_X_Window ecore_x_window_override_new(Ecore_X_Window parent,
1297 EAPI int ecore_x_window_argb_get(Ecore_X_Window win);
1298 EAPI Ecore_X_Window ecore_x_window_manager_argb_new(Ecore_X_Window parent,
1303 EAPI Ecore_X_Window ecore_x_window_argb_new(Ecore_X_Window parent,
1308 EAPI Ecore_X_Window ecore_x_window_override_argb_new(Ecore_X_Window parent,
1313 EAPI Ecore_X_Window ecore_x_window_input_new(Ecore_X_Window parent,
1318 EAPI void ecore_x_window_configure(
1320 Ecore_X_Window_Configure_Mask
1327 Ecore_X_Window sibling,
1329 EAPI void ecore_x_window_cursor_set(Ecore_X_Window win,
1331 EAPI void ecore_x_window_free(Ecore_X_Window win);
1332 EAPI void ecore_x_window_ignore_set(Ecore_X_Window win,
1334 EAPI Ecore_X_Window * ecore_x_window_ignore_list(int *num);
1336 EAPI void ecore_x_window_delete_request_send(
1337 Ecore_X_Window win);
1338 EAPI void ecore_x_window_show(Ecore_X_Window win);
1339 EAPI void ecore_x_window_hide(Ecore_X_Window win);
1340 EAPI void ecore_x_window_move(Ecore_X_Window win,
1343 EAPI void ecore_x_window_resize(Ecore_X_Window win,
1346 EAPI void ecore_x_window_move_resize(Ecore_X_Window win,
1351 EAPI void ecore_x_window_focus(Ecore_X_Window win);
1352 EAPI void ecore_x_window_focus_at_time(Ecore_X_Window win,
1354 EAPI Ecore_X_Window ecore_x_window_focus_get(void);
1355 EAPI void ecore_x_window_raise(Ecore_X_Window win);
1356 EAPI void ecore_x_window_lower(Ecore_X_Window win);
1357 EAPI void ecore_x_window_reparent(Ecore_X_Window win,
1358 Ecore_X_Window new_parent,
1361 EAPI void ecore_x_window_size_get(Ecore_X_Window win,
1364 EAPI void ecore_x_window_geometry_get(Ecore_X_Window win,
1369 EAPI int ecore_x_window_border_width_get(
1370 Ecore_X_Window win);
1371 EAPI void ecore_x_window_border_width_set(
1374 EAPI int ecore_x_window_depth_get(Ecore_X_Window win);
1375 EAPI void ecore_x_window_cursor_show(Ecore_X_Window win,
1377 EAPI void ecore_x_window_defaults_set(Ecore_X_Window win);
1378 EAPI int ecore_x_window_visible_get(Ecore_X_Window win);
1379 EAPI Ecore_X_Window ecore_x_window_shadow_tree_at_xy_with_skip_get(
1380 Ecore_X_Window base,
1383 Ecore_X_Window *skip,
1385 EAPI Ecore_X_Window ecore_x_window_shadow_parent_get(
1386 Ecore_X_Window root,
1387 Ecore_X_Window win);
1388 EAPI void ecore_x_window_shadow_tree_flush(void);
1389 EAPI Ecore_X_Window ecore_x_window_root_get(Ecore_X_Window win);
1390 EAPI Ecore_X_Window ecore_x_window_at_xy_get(int x, int y);
1391 EAPI Ecore_X_Window ecore_x_window_at_xy_with_skip_get(int x,
1393 Ecore_X_Window *skip,
1395 EAPI Ecore_X_Window ecore_x_window_at_xy_begin_get(
1396 Ecore_X_Window begin,
1399 EAPI Ecore_X_Window ecore_x_window_parent_get(Ecore_X_Window win);
1401 EAPI void ecore_x_window_background_color_set(
1409 EAPI void ecore_x_window_gravity_set(Ecore_X_Window win,
1410 Ecore_X_Gravity grav);
1411 EAPI void ecore_x_window_pixel_gravity_set(
1415 EAPI void ecore_x_window_pixmap_set(Ecore_X_Window win,
1416 Ecore_X_Pixmap pmap);
1417 EAPI void ecore_x_window_area_clear(Ecore_X_Window win,
1422 EAPI void ecore_x_window_area_expose(Ecore_X_Window win,
1427 EAPI void ecore_x_window_override_set(Ecore_X_Window win,
1428 Eina_Bool override);
1430 EAPI void ecore_x_window_prop_card32_set(
1435 EAPI int ecore_x_window_prop_card32_get(
1440 EAPI int ecore_x_window_prop_card32_list_get(
1447 EAPI void ecore_x_window_prop_xid_set(Ecore_X_Window win,
1452 EAPI int ecore_x_window_prop_xid_get(Ecore_X_Window win,
1457 EAPI int ecore_x_window_prop_xid_list_get(
1465 EAPI void ecore_x_window_prop_xid_list_change(
1474 EAPI void ecore_x_window_prop_atom_set(Ecore_X_Window win,
1478 EAPI int ecore_x_window_prop_atom_get(Ecore_X_Window win,
1482 EAPI int ecore_x_window_prop_atom_list_get(
1488 EAPI void ecore_x_window_prop_atom_list_change(
1495 EAPI void ecore_x_window_prop_window_set(
1501 EAPI int ecore_x_window_prop_window_get(
1507 EAPI int ecore_x_window_prop_window_list_get(
1514 EAPI Ecore_X_Atom ecore_x_window_prop_any_type(void);
1515 EAPI void ecore_x_window_prop_property_set(
1518 Ecore_X_Atom format,
1522 EAPI int ecore_x_window_prop_property_get(
1524 Ecore_X_Atom property,
1527 unsigned char **data,
1529 EAPI void ecore_x_window_prop_property_del(
1531 Ecore_X_Atom property);
1532 EAPI Ecore_X_Atom * ecore_x_window_prop_list(Ecore_X_Window win,
1534 EAPI void ecore_x_window_prop_string_set(
1538 EAPI char * ecore_x_window_prop_string_get(
1541 EAPI Eina_Bool ecore_x_window_prop_protocol_isset(
1543 Ecore_X_WM_Protocol protocol);
1544 EAPI Ecore_X_WM_Protocol * ecore_x_window_prop_protocol_list_get(
1548 EAPI void ecore_x_window_shape_mask_set(Ecore_X_Window win,
1549 Ecore_X_Pixmap mask);
1550 EAPI void ecore_x_window_shape_window_set(
1552 Ecore_X_Window shape_win);
1553 EAPI void ecore_x_window_shape_window_set_xy(
1555 Ecore_X_Window shape_win,
1558 EAPI void ecore_x_window_shape_window_set_xy(
1560 Ecore_X_Window shape_win,
1563 EAPI void ecore_x_window_shape_rectangle_set(
1569 EAPI void ecore_x_window_shape_rectangles_set(
1571 Ecore_X_Rectangle *rects,
1573 EAPI void ecore_x_window_shape_input_rectangle_set(
1579 EAPI void ecore_x_window_shape_input_rectangles_set(
1581 Ecore_X_Rectangle *rects,
1583 EAPI void ecore_x_window_shape_input_rectangle_add(
1589 EAPI void ecore_x_window_shape_rectangle_subtract(
1595 EAPI void ecore_x_window_shape_input_rectangle_subtract(
1601 EAPI void ecore_x_window_shape_input_window_set_xy(
1603 Ecore_X_Window shape_win,
1606 EAPI void ecore_x_window_shape_input_window_set(
1608 Ecore_X_Window shape_win);
1609 EAPI void ecore_x_window_shape_window_add(
1611 Ecore_X_Window shape_win);
1612 EAPI void ecore_x_window_shape_window_add_xy(
1614 Ecore_X_Window shape_win,
1617 EAPI void ecore_x_window_shape_input_window_add_xy(
1619 Ecore_X_Window shape_win,
1622 EAPI void ecore_x_window_shape_rectangle_add(
1628 EAPI void ecore_x_window_shape_rectangle_clip(
1634 EAPI void ecore_x_window_shape_input_rectangle_clip(
1640 EAPI void ecore_x_window_shape_rectangles_add(
1642 Ecore_X_Rectangle *rects,
1644 EAPI void ecore_x_window_shape_input_rectangles_add(
1646 Ecore_X_Rectangle *rects,
1648 EAPI Ecore_X_Rectangle * ecore_x_window_shape_rectangles_get(
1651 EAPI Ecore_X_Rectangle * ecore_x_window_shape_input_rectangles_get(
1654 EAPI void ecore_x_window_shape_events_select(
1657 EAPI void ecore_x_window_shape_input_mask_set(
1659 Ecore_X_Pixmap mask);
1661 EAPI Ecore_X_Pixmap ecore_x_pixmap_new(Ecore_X_Window win,
1665 EAPI void ecore_x_pixmap_free(Ecore_X_Pixmap pmap);
1666 EAPI void ecore_x_pixmap_paste(Ecore_X_Pixmap pmap,
1667 Ecore_X_Drawable dest,
1675 EAPI void ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap,
1680 EAPI int ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap);
1682 EAPI Ecore_X_GC ecore_x_gc_new(Ecore_X_Drawable draw,
1683 Ecore_X_GC_Value_Mask value_mask,
1684 const unsigned int *value_list);
1685 EAPI void ecore_x_gc_free(Ecore_X_GC gc);
1686 EAPI void ecore_x_gc_foreground_set(Ecore_X_GC gc, unsigned long foreground);
1687 EAPI void ecore_x_gc_background_set(Ecore_X_GC gc, unsigned long background);
1689 EAPI Eina_Bool ecore_x_client_message32_send(Ecore_X_Window win,
1691 Ecore_X_Event_Mask mask,
1697 EAPI Eina_Bool ecore_x_client_message8_send(Ecore_X_Window win,
1701 EAPI Eina_Bool ecore_x_mouse_move_send(Ecore_X_Window win,
1704 EAPI Eina_Bool ecore_x_mouse_down_send(Ecore_X_Window win,
1708 EAPI Eina_Bool ecore_x_mouse_up_send(Ecore_X_Window win,
1713 EAPI void ecore_x_drawable_geometry_get(Ecore_X_Drawable d,
1718 EAPI int ecore_x_drawable_border_width_get(
1719 Ecore_X_Drawable d);
1720 EAPI int ecore_x_drawable_depth_get(Ecore_X_Drawable d);
1721 EAPI void ecore_x_drawable_rectangle_fill(
1729 EAPI Eina_Bool ecore_x_cursor_color_supported_get(void);
1730 EAPI Ecore_X_Cursor ecore_x_cursor_new(Ecore_X_Window win,
1736 EAPI void ecore_x_cursor_free(Ecore_X_Cursor c);
1737 EAPI Ecore_X_Cursor ecore_x_cursor_shape_get(int shape);
1738 EAPI void ecore_x_cursor_size_set(int size);
1739 EAPI int ecore_x_cursor_size_get(void);
1741 /* FIXME: these funcs need categorising */
1742 EAPI Ecore_X_Window * ecore_x_window_root_list(int *num_ret);
1743 EAPI Ecore_X_Window ecore_x_window_root_first_get(void);
1744 EAPI Eina_Bool ecore_x_window_manage(Ecore_X_Window win);
1745 EAPI void ecore_x_window_container_manage(
1746 Ecore_X_Window win);
1747 EAPI void ecore_x_window_client_manage(Ecore_X_Window win);
1748 EAPI void ecore_x_window_sniff(Ecore_X_Window win);
1749 EAPI void ecore_x_window_client_sniff(Ecore_X_Window win);
1751 EAPI Ecore_X_Atom ecore_x_atom_get(const char *name);
1752 EAPI void ecore_x_atoms_get(const char **names,
1754 Ecore_X_Atom *atoms);
1755 EAPI char * ecore_x_atom_name_get(Ecore_X_Atom atom);
1757 EAPI void ecore_x_icccm_init(void);
1758 EAPI void ecore_x_icccm_state_set(
1760 Ecore_X_Window_State_Hint
1762 EAPI Ecore_X_Window_State_Hint ecore_x_icccm_state_get(Ecore_X_Window win);
1763 EAPI void ecore_x_icccm_delete_window_send(
1766 EAPI void ecore_x_icccm_take_focus_send(Ecore_X_Window win,
1768 EAPI void ecore_x_icccm_save_yourself_send(
1771 EAPI void ecore_x_icccm_move_resize_send(
1777 EAPI void ecore_x_icccm_hints_set(
1779 Eina_Bool accepts_focus,
1780 Ecore_X_Window_State_Hint
1784 Ecore_X_Pixmap icon_mask,
1789 Eina_Bool is_urgent);
1790 EAPI Eina_Bool ecore_x_icccm_hints_get(Ecore_X_Window win,
1791 Eina_Bool *accepts_focus,
1792 Ecore_X_Window_State_Hint *initial_state,
1793 Ecore_X_Pixmap *icon_pixmap,
1794 Ecore_X_Pixmap *icon_mask,
1795 Ecore_X_Window *icon_window,
1796 Ecore_X_Window *window_group,
1797 Eina_Bool *is_urgent);
1798 EAPI void ecore_x_icccm_size_pos_hints_set(Ecore_X_Window win,
1799 Eina_Bool request_pos,
1800 Ecore_X_Gravity gravity,
1801 int min_w, int min_h,
1802 int max_w, int max_h,
1803 int base_w, int base_h,
1804 int step_x, int step_y,
1807 EAPI Eina_Bool ecore_x_icccm_size_pos_hints_get(Ecore_X_Window win,
1808 Eina_Bool *request_pos,
1809 Ecore_X_Gravity *gravity,
1810 int *min_w, int *min_h,
1811 int *max_w, int *max_h,
1812 int *base_w, int *base_h,
1813 int *step_x, int *step_y,
1815 double *max_aspect);
1816 EAPI void ecore_x_icccm_title_set(Ecore_X_Window win, const char *t);
1817 EAPI char * ecore_x_icccm_title_get(Ecore_X_Window win);
1818 EAPI void ecore_x_icccm_protocol_atoms_set(Ecore_X_Window win,
1819 Ecore_X_Atom *protos,
1821 EAPI void ecore_x_icccm_protocol_set(Ecore_X_Window win,
1822 Ecore_X_WM_Protocol protocol,
1824 EAPI Eina_Bool ecore_x_icccm_protocol_isset(Ecore_X_Window win,
1825 Ecore_X_WM_Protocol protocol);
1826 EAPI void ecore_x_icccm_name_class_set(Ecore_X_Window win,
1829 EAPI void ecore_x_icccm_name_class_get(Ecore_X_Window win,
1832 EAPI char * ecore_x_icccm_client_machine_get(Ecore_X_Window win);
1833 EAPI void ecore_x_icccm_command_set(Ecore_X_Window win,
1836 EAPI void ecore_x_icccm_command_get(Ecore_X_Window win,
1839 EAPI char * ecore_x_icccm_icon_name_get(Ecore_X_Window win);
1840 EAPI void ecore_x_icccm_icon_name_set(Ecore_X_Window win,
1842 EAPI void ecore_x_icccm_colormap_window_set(Ecore_X_Window win,
1843 Ecore_X_Window subwin);
1844 EAPI void ecore_x_icccm_colormap_window_unset(Ecore_X_Window win,
1845 Ecore_X_Window subwin);
1846 EAPI void ecore_x_icccm_transient_for_set(Ecore_X_Window win,
1847 Ecore_X_Window forwin);
1848 EAPI void ecore_x_icccm_transient_for_unset(Ecore_X_Window win);
1849 EAPI Ecore_X_Window ecore_x_icccm_transient_for_get(Ecore_X_Window win);
1850 EAPI void ecore_x_icccm_window_role_set(Ecore_X_Window win,
1852 EAPI char * ecore_x_icccm_window_role_get(Ecore_X_Window win);
1853 EAPI void ecore_x_icccm_client_leader_set(Ecore_X_Window win,
1855 EAPI Ecore_X_Window ecore_x_icccm_client_leader_get(Ecore_X_Window win);
1856 EAPI void ecore_x_icccm_iconic_request_send(Ecore_X_Window win,
1857 Ecore_X_Window root);
1859 typedef enum _Ecore_X_MWM_Hint_Func
1861 ECORE_X_MWM_HINT_FUNC_ALL = (1 << 0),
1862 ECORE_X_MWM_HINT_FUNC_RESIZE = (1 << 1),
1863 ECORE_X_MWM_HINT_FUNC_MOVE = (1 << 2),
1864 ECORE_X_MWM_HINT_FUNC_MINIMIZE = (1 << 3),
1865 ECORE_X_MWM_HINT_FUNC_MAXIMIZE = (1 << 4),
1866 ECORE_X_MWM_HINT_FUNC_CLOSE = (1 << 5)
1867 } Ecore_X_MWM_Hint_Func;
1869 typedef enum _Ecore_X_MWM_Hint_Decor
1871 ECORE_X_MWM_HINT_DECOR_ALL = (1 << 0),
1872 ECORE_X_MWM_HINT_DECOR_BORDER = (1 << 1),
1873 ECORE_X_MWM_HINT_DECOR_RESIZEH = (1 << 2),
1874 ECORE_X_MWM_HINT_DECOR_TITLE = (1 << 3),
1875 ECORE_X_MWM_HINT_DECOR_MENU = (1 << 4),
1876 ECORE_X_MWM_HINT_DECOR_MINIMIZE = (1 << 5),
1877 ECORE_X_MWM_HINT_DECOR_MAXIMIZE = (1 << 6)
1878 } Ecore_X_MWM_Hint_Decor;
1880 typedef enum _Ecore_X_MWM_Hint_Input
1882 ECORE_X_MWM_HINT_INPUT_MODELESS = 0,
1883 ECORE_X_MWM_HINT_INPUT_PRIMARY_APPLICATION_MODAL = 1,
1884 ECORE_X_MWM_HINT_INPUT_SYSTEM_MODAL = 2,
1885 ECORE_X_MWM_HINT_INPUT_FULL_APPLICATION_MODAL = 3
1886 } Ecore_X_MWM_Hint_Input;
1888 EAPI Eina_Bool ecore_x_mwm_hints_get(
1890 Ecore_X_MWM_Hint_Func
1892 Ecore_X_MWM_Hint_Decor
1894 Ecore_X_MWM_Hint_Input
1896 EAPI void ecore_x_mwm_borderless_set(
1898 Eina_Bool borderless);
1901 EAPI void ecore_x_netwm_init(void);
1902 EAPI void ecore_x_netwm_shutdown(void);
1903 EAPI void ecore_x_netwm_wm_identify(
1904 Ecore_X_Window root,
1905 Ecore_X_Window check,
1906 const char *wm_name);
1907 EAPI void ecore_x_netwm_supported_set(
1908 Ecore_X_Window root,
1909 Ecore_X_Atom *supported,
1911 EAPI Eina_Bool ecore_x_netwm_supported_get(
1912 Ecore_X_Window root,
1913 Ecore_X_Atom **supported,
1915 EAPI void ecore_x_netwm_desk_count_set(
1916 Ecore_X_Window root,
1917 unsigned int n_desks);
1918 EAPI void ecore_x_netwm_desk_roots_set(
1919 Ecore_X_Window root,
1920 Ecore_X_Window *vroots,
1921 unsigned int n_desks);
1922 EAPI void ecore_x_netwm_desk_names_set(
1923 Ecore_X_Window root,
1925 unsigned int n_desks);
1926 EAPI void ecore_x_netwm_desk_size_set(
1927 Ecore_X_Window root,
1929 unsigned int height);
1930 EAPI void ecore_x_netwm_desk_workareas_set(
1931 Ecore_X_Window root,
1932 unsigned int *areas,
1933 unsigned int n_desks);
1934 EAPI void ecore_x_netwm_desk_current_set(
1935 Ecore_X_Window root,
1937 EAPI void ecore_x_netwm_desk_viewports_set(
1938 Ecore_X_Window root,
1939 unsigned int *origins,
1940 unsigned int n_desks);
1941 EAPI void ecore_x_netwm_desk_layout_set(
1942 Ecore_X_Window root,
1946 int starting_corner);
1947 EAPI void ecore_x_netwm_showing_desktop_set(
1948 Ecore_X_Window root,
1950 EAPI void ecore_x_netwm_client_list_set(
1951 Ecore_X_Window root,
1952 Ecore_X_Window *p_clients,
1953 unsigned int n_clients);
1954 EAPI void ecore_x_netwm_client_list_stacking_set(
1955 Ecore_X_Window root,
1956 Ecore_X_Window *p_clients,
1957 unsigned int n_clients);
1958 EAPI void ecore_x_netwm_client_active_set(
1959 Ecore_X_Window root,
1960 Ecore_X_Window win);
1961 EAPI void ecore_x_netwm_client_active_request(
1962 Ecore_X_Window root,
1965 Ecore_X_Window current_win);
1966 EAPI void ecore_x_netwm_name_set(Ecore_X_Window win,
1968 EAPI int ecore_x_netwm_name_get(Ecore_X_Window win,
1970 EAPI void ecore_x_netwm_startup_id_set(
1973 EAPI int ecore_x_netwm_startup_id_get(
1976 EAPI void ecore_x_netwm_visible_name_set(
1979 EAPI int ecore_x_netwm_visible_name_get(
1982 EAPI void ecore_x_netwm_icon_name_set(
1985 EAPI int ecore_x_netwm_icon_name_get(
1988 EAPI void ecore_x_netwm_visible_icon_name_set(
1991 EAPI int ecore_x_netwm_visible_icon_name_get(
1994 EAPI void ecore_x_netwm_desktop_set(
1997 EAPI Eina_Bool ecore_x_netwm_desktop_get(
1999 unsigned int *desk);
2000 EAPI void ecore_x_netwm_strut_set(Ecore_X_Window win,
2005 EAPI Eina_Bool ecore_x_netwm_strut_get(Ecore_X_Window win,
2010 EAPI void ecore_x_netwm_strut_partial_set(
2024 EAPI Eina_Bool ecore_x_netwm_strut_partial_get(
2036 int *bottom_start_x,
2039 EAPI Eina_Bool ecore_x_netwm_icons_get(Ecore_X_Window win,
2040 Ecore_X_Icon **icon,
2042 EAPI void ecore_x_netwm_icon_geometry_set(
2048 EAPI Eina_Bool ecore_x_netwm_icon_geometry_get(
2054 EAPI void ecore_x_netwm_pid_set(Ecore_X_Window win,
2056 EAPI Eina_Bool ecore_x_netwm_pid_get(Ecore_X_Window win,
2058 EAPI void ecore_x_netwm_handled_icons_set(
2059 Ecore_X_Window win);
2060 EAPI Eina_Bool ecore_x_netwm_handled_icons_get(
2061 Ecore_X_Window win);
2062 EAPI void ecore_x_netwm_user_time_set(
2065 EAPI Eina_Bool ecore_x_netwm_user_time_get(
2067 unsigned int *time);
2068 EAPI void ecore_x_netwm_window_state_set(
2070 Ecore_X_Window_State *state,
2072 EAPI Eina_Bool ecore_x_netwm_window_state_get(
2074 Ecore_X_Window_State **state,
2076 EAPI void ecore_x_netwm_window_type_set(
2078 Ecore_X_Window_Type type);
2079 EAPI Eina_Bool ecore_x_netwm_window_type_get(
2081 Ecore_X_Window_Type *type);
2082 EAPI int ecore_x_netwm_window_types_get(
2084 Ecore_X_Window_Type **types);
2085 EAPI Eina_Bool ecore_x_netwm_allowed_action_isset(
2087 Ecore_X_Action action);
2088 EAPI void ecore_x_netwm_allowed_action_set(
2090 Ecore_X_Action *action,
2092 EAPI Eina_Bool ecore_x_netwm_allowed_action_get(
2094 Ecore_X_Action **action,
2096 EAPI void ecore_x_netwm_opacity_set(
2098 unsigned int opacity);
2099 EAPI Eina_Bool ecore_x_netwm_opacity_get(
2101 unsigned int *opacity);
2102 EAPI void ecore_x_netwm_frame_size_set(
2108 EAPI Eina_Bool ecore_x_netwm_frame_size_get(
2114 EAPI Eina_Bool ecore_x_netwm_sync_counter_get(
2116 Ecore_X_Sync_Counter *counter);
2117 EAPI void ecore_x_netwm_ping_send(Ecore_X_Window win);
2118 EAPI void ecore_x_netwm_sync_request_send(
2120 unsigned int serial);
2121 EAPI void ecore_x_netwm_state_request_send(
2123 Ecore_X_Window root,
2124 Ecore_X_Window_State s1,
2125 Ecore_X_Window_State s2,
2127 EAPI void ecore_x_netwm_desktop_request_send(
2129 Ecore_X_Window root,
2130 unsigned int desktop);
2132 EAPI void ecore_x_e_init(void);
2133 EAPI void ecore_x_e_frame_size_set(
2139 EAPI void ecore_x_e_virtual_keyboard_set(
2141 unsigned int is_keyboard);
2142 EAPI Eina_Bool ecore_x_e_virtual_keyboard_get(
2143 Ecore_X_Window win);
2144 EAPI void ecore_x_e_virtual_keyboard_state_set(
2146 Ecore_X_Virtual_Keyboard_State state);
2147 EAPI Ecore_X_Virtual_Keyboard_State ecore_x_e_virtual_keyboard_state_get(
2148 Ecore_X_Window win);
2149 EAPI void ecore_x_e_virtual_keyboard_state_send(
2151 Ecore_X_Virtual_Keyboard_State state);
2153 /* Illume functions */
2154 EAPI void ecore_x_e_illume_zone_set(
2156 Ecore_X_Window zone);
2157 EAPI Ecore_X_Window ecore_x_e_illume_zone_get(
2158 Ecore_X_Window win);
2159 EAPI void ecore_x_e_illume_zone_list_set(
2161 Ecore_X_Window *zones,
2162 unsigned int n_zones);
2163 EAPI void ecore_x_e_illume_conformant_set(
2165 unsigned int is_conformant);
2166 EAPI Eina_Bool ecore_x_e_illume_conformant_get(
2167 Ecore_X_Window win);
2168 EAPI void ecore_x_e_illume_mode_set(
2170 Ecore_X_Illume_Mode mode);
2171 EAPI Ecore_X_Illume_Mode ecore_x_e_illume_mode_get(
2172 Ecore_X_Window win);
2173 EAPI void ecore_x_e_illume_mode_send(
2175 Ecore_X_Illume_Mode mode);
2176 EAPI void ecore_x_e_illume_focus_back_send(
2177 Ecore_X_Window win);
2178 EAPI void ecore_x_e_illume_focus_forward_send(
2179 Ecore_X_Window win);
2180 EAPI void ecore_x_e_illume_focus_home_send(
2181 Ecore_X_Window win);
2182 EAPI void ecore_x_e_illume_close_send(
2183 Ecore_X_Window win);
2184 EAPI void ecore_x_e_illume_home_new_send(
2185 Ecore_X_Window win);
2186 EAPI void ecore_x_e_illume_home_del_send(
2187 Ecore_X_Window win);
2188 EAPI void ecore_x_e_illume_drag_set(
2191 EAPI Eina_Bool ecore_x_e_illume_drag_get(
2192 Ecore_X_Window win);
2193 EAPI void ecore_x_e_illume_drag_locked_set(
2195 unsigned int is_locked);
2196 EAPI Eina_Bool ecore_x_e_illume_drag_locked_get(
2197 Ecore_X_Window win);
2198 EAPI void ecore_x_e_illume_drag_start_send(
2199 Ecore_X_Window win);
2200 EAPI void ecore_x_e_illume_drag_end_send(
2201 Ecore_X_Window win);
2202 EAPI void ecore_x_e_illume_indicator_geometry_set(
2208 EAPI Eina_Bool ecore_x_e_illume_indicator_geometry_get(
2214 EAPI void ecore_x_e_illume_softkey_geometry_set(
2220 EAPI Eina_Bool ecore_x_e_illume_softkey_geometry_get(
2226 EAPI void ecore_x_e_illume_keyboard_geometry_set(
2232 EAPI Eina_Bool ecore_x_e_illume_keyboard_geometry_get(
2238 EAPI void ecore_x_e_illume_quickpanel_set(
2240 unsigned int is_quickpanel);
2241 EAPI Eina_Bool ecore_x_e_illume_quickpanel_get(
2242 Ecore_X_Window win);
2243 EAPI void ecore_x_e_illume_quickpanel_state_set(
2245 Ecore_X_Illume_Quickpanel_State state);
2246 EAPI Ecore_X_Illume_Quickpanel_State ecore_x_e_illume_quickpanel_state_get(
2247 Ecore_X_Window win);
2248 EAPI void ecore_x_e_illume_quickpanel_state_send(
2250 Ecore_X_Illume_Quickpanel_State state);
2251 EAPI void ecore_x_e_illume_quickpanel_state_toggle(
2252 Ecore_X_Window win);
2253 EAPI void ecore_x_e_illume_quickpanel_priority_major_set(
2255 unsigned int priority);
2256 EAPI int ecore_x_e_illume_quickpanel_priority_major_get(
2257 Ecore_X_Window win);
2258 EAPI void ecore_x_e_illume_quickpanel_priority_minor_set(
2260 unsigned int priority);
2261 EAPI int ecore_x_e_illume_quickpanel_priority_minor_get(
2262 Ecore_X_Window win);
2263 EAPI void ecore_x_e_illume_quickpanel_zone_set(
2266 EAPI int ecore_x_e_illume_quickpanel_zone_get(
2267 Ecore_X_Window win);
2269 ecore_x_e_illume_quickpanel_zone_request_send(
2270 Ecore_X_Window win);
2272 ecore_x_e_illume_quickpanel_position_update_send(
2273 Ecore_X_Window win);
2275 /* added by doyoun.kang - for sliding window */
2276 EAPI void ecore_x_e_illume_sliding_win_state_set(
2278 unsigned int is_visible);
2279 EAPI int ecore_x_e_illume_sliding_win_state_get(
2280 Ecore_X_Window win);
2281 EAPI void ecore_x_e_illume_sliding_win_geometry_set(
2287 EAPI int ecore_x_e_illume_sliding_win_geometry_get(
2294 EAPI void ecore_x_e_comp_sync_counter_set(
2296 Ecore_X_Sync_Counter counter);
2297 EAPI Ecore_X_Sync_Counter ecore_x_e_comp_sync_counter_get(
2298 Ecore_X_Window win);
2299 EAPI void ecore_x_e_comp_sync_draw_done_send(
2300 Ecore_X_Window root,
2301 Ecore_X_Window win);
2302 EAPI void ecore_x_e_comp_sync_draw_size_done_send(
2303 Ecore_X_Window root,
2307 EAPI void ecore_x_e_comp_sync_supported_set(
2308 Ecore_X_Window root,
2310 EAPI Eina_Bool ecore_x_e_comp_sync_supported_get(
2311 Ecore_X_Window root);
2312 EAPI void ecore_x_e_comp_sync_begin_send(
2313 Ecore_X_Window win);
2314 EAPI void ecore_x_e_comp_sync_end_send(
2315 Ecore_X_Window win);
2316 EAPI void ecore_x_e_comp_sync_cancel_send(
2317 Ecore_X_Window win);
2319 EAPI void ecore_x_e_comp_flush_send(
2320 Ecore_X_Window win);
2321 EAPI void ecore_x_e_comp_dump_send(
2322 Ecore_X_Window win);
2323 EAPI void ecore_x_e_comp_pixmap_set(
2325 Ecore_X_Pixmap pixmap);
2326 EAPI Ecore_X_Pixmap ecore_x_e_comp_pixmap_get(
2327 Ecore_X_Window win);
2329 EAPI void ecore_x_e_comp_dri_buff_flip_supported_set(Ecore_X_Window root, Eina_Bool enabled);
2330 EAPI Eina_Bool ecore_x_e_comp_dri_buff_flip_supported_get(Ecore_X_Window root);
2332 EAPI Ecore_X_Sync_Alarm ecore_x_sync_alarm_new(
2333 Ecore_X_Sync_Counter counter);
2334 EAPI Eina_Bool ecore_x_sync_alarm_free(
2335 Ecore_X_Sync_Alarm alarm);
2336 EAPI Eina_Bool ecore_x_sync_counter_query(
2337 Ecore_X_Sync_Counter counter,
2339 EAPI Ecore_X_Sync_Counter ecore_x_sync_counter_new(int val);
2340 EAPI void ecore_x_sync_counter_free(
2341 Ecore_X_Sync_Counter counter);
2342 EAPI void ecore_x_sync_counter_inc(
2343 Ecore_X_Sync_Counter counter,
2345 EAPI void ecore_x_sync_counter_val_wait(
2346 Ecore_X_Sync_Counter counter,
2349 EAPI void ecore_x_sync_counter_set(Ecore_X_Sync_Counter counter, int val);
2350 EAPI void ecore_x_sync_counter_2_set(Ecore_X_Sync_Counter counter, int val_hi, unsigned int val_lo);
2351 EAPI Eina_Bool ecore_x_sync_counter_2_query(Ecore_X_Sync_Counter counter, int *val_hi, unsigned int *val_lo);
2353 EAPI int ecore_x_xinerama_screen_count_get(void);
2354 EAPI Eina_Bool ecore_x_xinerama_screen_geometry_get(
2361 EAPI Eina_Bool ecore_x_screensaver_event_available_get(
2363 EAPI int ecore_x_screensaver_idle_time_get(void);
2364 EAPI void ecore_x_screensaver_set(int timeout,
2366 int prefer_blanking,
2367 int allow_exposures);
2368 EAPI void ecore_x_screensaver_timeout_set(
2370 EAPI int ecore_x_screensaver_timeout_get(void);
2371 EAPI void ecore_x_screensaver_blank_set(int timeout);
2372 EAPI int ecore_x_screensaver_blank_get(void);
2373 EAPI void ecore_x_screensaver_expose_set(int timeout);
2374 EAPI int ecore_x_screensaver_expose_get(void);
2375 EAPI void ecore_x_screensaver_interval_set(
2377 EAPI int ecore_x_screensaver_interval_get(void);
2378 EAPI void ecore_x_screensaver_event_listen_set(
2381 /* FIXME: these funcs need categorising */
2383 typedef struct _Ecore_X_Window_Attributes
2385 Ecore_X_Window root;
2389 Eina_Bool visible : 1;
2390 Eina_Bool viewable : 1;
2391 Eina_Bool override : 1;
2392 Eina_Bool input_only : 1;
2393 Eina_Bool save_under : 1;
2396 Ecore_X_Event_Mask mine;
2397 Ecore_X_Event_Mask all;
2398 Ecore_X_Event_Mask no_propagate;
2400 Ecore_X_Gravity window_gravity;
2401 Ecore_X_Gravity pixel_gravity;
2402 Ecore_X_Colormap colormap;
2403 Ecore_X_Visual visual;
2405 * int map_installed;
2408 } Ecore_X_Window_Attributes;
2410 EAPI Eina_Bool ecore_x_window_attributes_get(
2412 Ecore_X_Window_Attributes *
2414 EAPI void ecore_x_window_save_set_add(Ecore_X_Window win);
2415 EAPI void ecore_x_window_save_set_del(Ecore_X_Window win);
2416 EAPI Ecore_X_Window * ecore_x_window_children_get(Ecore_X_Window win, int *num);
2418 EAPI Eina_Bool ecore_x_pointer_control_set(int accel_num,
2421 EAPI Eina_Bool ecore_x_pointer_control_get(int *accel_num,
2424 EAPI Eina_Bool ecore_x_pointer_mapping_set(unsigned char *map, int nmap);
2425 EAPI Eina_Bool ecore_x_pointer_mapping_get(unsigned char *map, int nmap);
2426 EAPI Eina_Bool ecore_x_pointer_grab(Ecore_X_Window win);
2427 EAPI Eina_Bool ecore_x_pointer_confine_grab(Ecore_X_Window win);
2428 EAPI void ecore_x_pointer_ungrab(void);
2429 EAPI Eina_Bool ecore_x_pointer_warp(Ecore_X_Window win, int x, int y);
2430 EAPI Eina_Bool ecore_x_keyboard_grab(Ecore_X_Window win);
2431 EAPI void ecore_x_keyboard_ungrab(void);
2432 EAPI void ecore_x_grab(void);
2433 EAPI void ecore_x_ungrab(void);
2434 EAPI void ecore_x_passive_grab_replay_func_set(Eina_Bool (*func)(void *data,
2438 EAPI void ecore_x_window_button_grab(Ecore_X_Window win, int button,
2439 Ecore_X_Event_Mask event_mask,
2440 int mod, int any_mod);
2441 EAPI void ecore_x_window_button_ungrab(Ecore_X_Window win,
2445 EAPI void ecore_x_window_key_grab(Ecore_X_Window win,
2449 EAPI void ecore_x_window_key_ungrab(Ecore_X_Window win,
2454 EAPI void ecore_x_focus_reset(void);
2455 EAPI void ecore_x_events_allow_all(void);
2456 EAPI void ecore_x_pointer_last_xy_get(int *x, int *y);
2457 EAPI void ecore_x_pointer_xy_get(Ecore_X_Window win, int *x, int *y);
2459 /* ecore_x_region.c */
2460 EAPI Ecore_X_XRegion * ecore_x_xregion_new(void);
2461 EAPI void ecore_x_xregion_free(Ecore_X_XRegion *region);
2462 EAPI Eina_Bool ecore_x_xregion_set(Ecore_X_XRegion *region,
2464 EAPI void ecore_x_xregion_translate(Ecore_X_XRegion *region,
2467 EAPI Eina_Bool ecore_x_xregion_intersect(Ecore_X_XRegion *dst,
2468 Ecore_X_XRegion *r1,
2469 Ecore_X_XRegion *r2);
2470 EAPI Eina_Bool ecore_x_xregion_union(Ecore_X_XRegion *dst,
2471 Ecore_X_XRegion *r1,
2472 Ecore_X_XRegion *r2);
2473 EAPI Eina_Bool ecore_x_xregion_union_rect(Ecore_X_XRegion *dst,
2474 Ecore_X_XRegion *src,
2475 Ecore_X_Rectangle *rect);
2476 EAPI Eina_Bool ecore_x_xregion_subtract(Ecore_X_XRegion *dst,
2477 Ecore_X_XRegion *r1,
2478 Ecore_X_XRegion *r2);
2479 EAPI Eina_Bool ecore_x_xregion_is_empty(Ecore_X_XRegion *region);
2480 EAPI Eina_Bool ecore_x_xregion_is_equal(Ecore_X_XRegion *r1,
2481 Ecore_X_XRegion *r2);
2482 EAPI Eina_Bool ecore_x_xregion_point_contain(Ecore_X_XRegion *region,
2485 EAPI Eina_Bool ecore_x_xregion_rect_contain(Ecore_X_XRegion *region,
2486 Ecore_X_Rectangle *rect);
2488 /* ecore_x_randr.c */
2490 /* The usage of 'Ecore_X_Randr_None' or 'Ecore_X_Randr_Unset'
2491 * depends on the context. In most cases 'Ecore_X_Randr_Unset'
2492 * can be used, but in some cases -1 is a special value to
2493 * functions, thus 'Ecore_X_Randr_None' (=0) musst be used.
2496 typedef short Ecore_X_Randr_Refresh_Rate;
2497 typedef int Ecore_X_Randr_Crtc_Gamma;
2498 typedef int Ecore_X_Randr_Signal_Format;
2499 typedef int Ecore_X_Randr_Signal_Property;
2500 typedef int Ecore_X_Randr_Connector_Type;
2502 typedef struct _Ecore_X_Randr_Mode_Info
2506 unsigned int height;
2507 unsigned long dotClock;
2508 unsigned int hSyncStart;
2509 unsigned int hSyncEnd;
2510 unsigned int hTotal;
2512 unsigned int vSyncStart;
2513 unsigned int vSyncEnd;
2514 unsigned int vTotal;
2516 unsigned int nameLength;
2517 unsigned long modeFlags;
2518 } Ecore_X_Randr_Mode_Info;
2520 EAPI int ecore_x_randr_version_get(
2522 EAPI Eina_Bool ecore_x_randr_query(void);
2524 /* ecore_x_randr_11.c */
2525 EAPI Ecore_X_Randr_Orientation
2526 ecore_x_randr_screen_primary_output_orientations_get(
2527 Ecore_X_Window root);
2528 EAPI Ecore_X_Randr_Orientation
2529 ecore_x_randr_screen_primary_output_orientation_get(
2530 Ecore_X_Window root);
2532 ecore_x_randr_screen_primary_output_orientation_set(
2533 Ecore_X_Window root,
2534 Ecore_X_Randr_Orientation
2536 EAPI Ecore_X_Randr_Screen_Size_MM *
2537 ecore_x_randr_screen_primary_output_sizes_get(
2538 Ecore_X_Window root,
2541 ecore_x_randr_screen_primary_output_current_size_get(
2542 Ecore_X_Window root,
2549 ecore_x_randr_screen_primary_output_size_set(Ecore_X_Window root,
2551 EAPI Ecore_X_Randr_Refresh_Rate
2552 ecore_x_randr_screen_primary_output_current_refresh_rate_get(
2553 Ecore_X_Window root);
2554 EAPI Ecore_X_Randr_Refresh_Rate *
2555 ecore_x_randr_screen_primary_output_refresh_rates_get(Ecore_X_Window root,
2559 ecore_x_randr_screen_primary_output_refresh_rate_set(
2560 Ecore_X_Window root,
2562 Ecore_X_Randr_Refresh_Rate
2565 /* ecore_x_randr_12.c */
2567 ecore_x_randr_events_select(Ecore_X_Window win,
2571 ecore_x_randr_screen_current_size_get(Ecore_X_Window root,
2577 ecore_x_randr_screen_size_range_get(Ecore_X_Window root,
2582 EAPI void ecore_x_randr_screen_reset(
2583 Ecore_X_Window root);
2585 ecore_x_randr_screen_current_size_set(Ecore_X_Window root,
2590 EAPI Ecore_X_Randr_Mode_Info **
2591 ecore_x_randr_modes_info_get(Ecore_X_Window root,
2593 EAPI Ecore_X_Randr_Mode_Info *
2594 ecore_x_randr_mode_info_get(Ecore_X_Window root,
2595 Ecore_X_Randr_Mode mode);
2597 ecore_x_randr_mode_info_free(
2598 Ecore_X_Randr_Mode_Info *mode_info);
2599 EAPI Ecore_X_Randr_Crtc * ecore_x_randr_crtcs_get(
2600 Ecore_X_Window root,
2602 EAPI Ecore_X_Randr_Output *ecore_x_randr_outputs_get(
2603 Ecore_X_Window root,
2605 EAPI Ecore_X_Randr_Output *
2606 ecore_x_randr_window_outputs_get(
2607 Ecore_X_Window window,
2609 EINA_DEPRECATED EAPI Ecore_X_Randr_Output *
2610 ecore_x_randr_current_output_get(
2611 Ecore_X_Window window,
2613 EAPI Ecore_X_Randr_Crtc *
2614 ecore_x_randr_current_crtc_get(Ecore_X_Window window,
2616 EAPI Ecore_X_Randr_Output *
2617 ecore_x_randr_crtc_outputs_get(Ecore_X_Window root,
2618 Ecore_X_Randr_Crtc crtc,
2620 EAPI Ecore_X_Randr_Output *
2621 ecore_x_randr_crtc_possible_outputs_get(
2622 Ecore_X_Window root,
2623 Ecore_X_Randr_Crtc crtc,
2626 ecore_x_randr_crtc_geometry_get(Ecore_X_Window root,
2627 Ecore_X_Randr_Crtc crtc,
2633 ecore_x_randr_crtc_pos_get(Ecore_X_Window root,
2634 Ecore_X_Randr_Crtc crtc,
2638 ecore_x_randr_crtc_pos_set(Ecore_X_Window root,
2639 Ecore_X_Randr_Crtc crtc,
2642 EAPI Ecore_X_Randr_Mode
2643 ecore_x_randr_crtc_mode_get(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc);
2645 ecore_x_randr_crtc_mode_set(Ecore_X_Window root,
2646 Ecore_X_Randr_Crtc crtc,
2647 Ecore_X_Randr_Output *outputs,
2649 Ecore_X_Randr_Mode mode);
2651 ecore_x_randr_crtc_size_get(Ecore_X_Window root,
2652 Ecore_X_Randr_Crtc crtc,
2655 EAPI Ecore_X_Randr_Refresh_Rate
2656 ecore_x_randr_crtc_refresh_rate_get(Ecore_X_Window root,
2657 Ecore_X_Randr_Crtc crtc,
2658 Ecore_X_Randr_Mode mode);
2659 EAPI Ecore_X_Randr_Orientation
2660 ecore_x_randr_crtc_orientations_get(Ecore_X_Window root,
2661 Ecore_X_Randr_Crtc crtc);
2662 EAPI Ecore_X_Randr_Orientation
2663 ecore_x_randr_crtc_orientation_get(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc);
2665 ecore_x_randr_crtc_orientation_set(Ecore_X_Window root,
2666 Ecore_X_Randr_Crtc crtc,
2667 const Ecore_X_Randr_Orientation orientation);
2669 ecore_x_randr_crtc_clone_set(Ecore_X_Window root,
2670 Ecore_X_Randr_Crtc original,
2671 Ecore_X_Randr_Crtc clone);
2673 ecore_x_randr_crtc_settings_set(Ecore_X_Window root,
2674 Ecore_X_Randr_Crtc crtc,
2675 Ecore_X_Randr_Output *outputs,
2679 Ecore_X_Randr_Mode mode,
2680 Ecore_X_Randr_Orientation orientation);
2682 ecore_x_randr_crtc_pos_relative_set(Ecore_X_Window root,
2683 Ecore_X_Randr_Crtc crtc_r1,
2684 Ecore_X_Randr_Crtc crtc_r2,
2685 Ecore_X_Randr_Output_Policy policy,
2686 Ecore_X_Randr_Relative_Alignment alignment);
2687 EAPI Ecore_X_Randr_Mode *
2688 ecore_x_randr_output_modes_get(Ecore_X_Window root,
2689 Ecore_X_Randr_Output output,
2692 EAPI Ecore_X_Randr_Output *ecore_x_randr_output_clones_get(Ecore_X_Window root, Ecore_X_Randr_Output output, int *num);
2693 EAPI Ecore_X_Randr_Crtc *ecore_x_randr_output_possible_crtcs_get(Ecore_X_Window root, Ecore_X_Randr_Output output, int *num);
2694 EAPI Ecore_X_Randr_Crtc
2695 ecore_x_randr_output_crtc_get(Ecore_X_Window root,
2696 Ecore_X_Randr_Output output);
2698 ecore_x_randr_output_name_get(Ecore_X_Window root,
2699 Ecore_X_Randr_Output output,
2702 ecore_x_randr_crtc_gamma_ramp_size_get(
2703 Ecore_X_Randr_Crtc crtc);
2704 EAPI Ecore_X_Randr_Crtc_Gamma **
2705 ecore_x_randr_crtc_gamma_ramps_get(Ecore_X_Randr_Crtc crtc);
2707 ecore_x_randr_crtc_gamma_ramps_set(Ecore_X_Randr_Crtc crtc,
2708 const Ecore_X_Randr_Crtc_Gamma *red,
2709 const Ecore_X_Randr_Crtc_Gamma *green,
2710 const Ecore_X_Randr_Crtc_Gamma *blue);
2712 ecore_x_randr_move_all_crtcs_but(Ecore_X_Window root,
2713 const Ecore_X_Randr_Crtc *not_moved,
2717 EAPI Eina_Bool ecore_x_randr_move_crtcs(
2718 Ecore_X_Window root,
2719 const Ecore_X_Randr_Crtc *crtcs,
2724 ecore_x_randr_mode_size_get(Ecore_X_Window root,
2725 Ecore_X_Randr_Mode mode,
2728 EAPI Ecore_X_Randr_Connection_Status
2729 ecore_x_randr_output_connection_status_get(Ecore_X_Window root,
2730 Ecore_X_Randr_Output output);
2732 ecore_x_randr_output_size_mm_get(Ecore_X_Window root,
2733 Ecore_X_Randr_Output output,
2737 ecore_x_randr_output_crtc_set(Ecore_X_Window root,
2738 Ecore_X_Randr_Output output,
2739 const Ecore_X_Randr_Crtc crtc);
2741 /* ecore_x_randr_12_edid.c */
2744 * @brief Validates the header from raw EDID data.
2746 * @param edid the edid structure
2747 * @param edid_length length of the edid structure
2748 * @return EINA_TRUE, if the header is valid. Else EINA_FALSE.
2751 ecore_x_randr_edid_valid_header(unsigned char *edid,
2752 unsigned long edid_length);
2755 * @brief Checks whether a display's EDID has a valid checksum.
2757 * @param edid the edid structure
2758 * @param edid_length length of the edid structure
2759 * @return EINA_TRUE, if the checksum is valid. Else EINA_FALSE.
2762 ecore_x_randr_edid_info_has_valid_checksum(unsigned char *edid,
2763 unsigned long edid_length);
2766 * @brief Get the encoded version from raw EDID data.
2768 * The return value has the minor version in the lowest 8 bits, and the major
2769 * version in all the rest of the bits. i.e.
2771 * minor = (version & 0x000000ff);
2772 * major = (version & 0xffffff00) >> 8;
2774 * @param edid the edid structure
2775 * @param edid_length length of the edid structure
2776 * @return The encoded major and minor version encasuplated an int.
2779 ecore_x_randr_edid_version_get(unsigned char *edid,
2780 unsigned long edid_length);
2783 * @brief Get the encoded manufacturer from raw EDID data.
2785 * @param edid the edid structure
2786 * @param edid_length length of the edid structure
2787 * @return The encoded manufacturer identifier.
2790 ecore_x_randr_edid_manufacturer_name_get(unsigned char *edid,
2791 unsigned long edid_length);
2794 * @brief Get the encoded name from raw EDID data.
2796 * @param edid the edid structure
2797 * @param edid_length length of the edid structure
2798 * @return The encoded manufacturer identifier.
2801 ecore_x_randr_edid_display_name_get(unsigned char *edid,
2802 unsigned long edid_length);
2805 * @brief Get the encoded ASCII from raw EDID data.
2807 * @param edid the edid structure
2808 * @param edid_length length of the edid structure
2809 * @return The encoded ASCII display identifier.
2812 ecore_x_randr_edid_display_ascii_get(unsigned char *edid,
2813 unsigned long edid_length);
2816 * @brief Get the encoded serial identifier from raw EDID data.
2818 * @param edid the edid structure
2819 * @param edid_length length of the edid structure
2820 * @return The encoded serial identifier.
2823 ecore_x_randr_edid_display_serial_get(unsigned char *edid,
2824 unsigned long edid_length);
2827 * @brief Get the encoded model number from raw EDID data.
2829 * The manufacturer ID table is necessary for a useful description.
2831 * @param edid the edid structure
2832 * @param edid_length length of the edid structure
2833 * @return The encoded model number.
2836 ecore_x_randr_edid_model_get(unsigned char *edid,
2837 unsigned long edid_length);
2840 * @brief Get the manufacturer serial number from raw EDID data.
2842 * @param edid the edid structure
2843 * @param edid_length length of the edid structure
2844 * @return The encoded serial manufacturer serial number.
2847 ecore_x_randr_edid_manufacturer_serial_number_get(unsigned char *edid,
2848 unsigned long edid_length);
2851 * @brief Get the manufacturer model number from raw EDID data.
2853 * @param edid the edid structure
2854 * @param edid_length length of the edid structure
2855 * @return The manufacturer's model number.
2858 ecore_x_randr_edid_manufacturer_model_get(unsigned char *edid,
2859 unsigned long edid_length);
2862 * @brief Looks up the DPMS support from raw EDID data.
2864 * @param edid the edid structure
2865 * @param edid_length length of the edid structure
2866 * @return EINA_TRUE, if DPMS is supported in some way. Else EINA_FALSE.
2869 ecore_x_randr_edid_dpms_available_get(unsigned char *edid,
2870 unsigned long edid_length);
2873 * @brief Looks up the DPMS Standby support from raw EDID data.
2875 * @param edid the edid structure
2876 * @param edid_length length of the edid structure
2877 * @return EINA_TRUE, if DPMS Standby is supported. Else EINA_FALSE.
2880 ecore_x_randr_edid_dpms_standby_available_get(unsigned char *edid,
2881 unsigned long edid_length);
2884 * @brief Looks up the DPMS Suspend support from raw EDID data.
2886 * @param edid the edid structure
2887 * @param edid_length length of the edid structure
2888 * @return EINA_TRUE, if DPMS Suspend is supported. Else EINA_FALSE.
2891 ecore_x_randr_edid_dpms_suspend_available_get(unsigned char *edid,
2892 unsigned long edid_length);
2895 * @brief Looks up the DPMS Off support from raw EDID data.
2897 * @param edid the edid structure
2898 * @param edid_length length of the edid structure
2899 * @return EINA_TRUE, if DPMS Off is supported. Else EINA_FALSE.
2902 ecore_x_randr_edid_dpms_off_available_get(unsigned char *edid,
2903 unsigned long edid_length);
2906 * @brief Get the preferred aspect ratio from raw EDID data.
2908 * @param edid the edid structure
2909 * @param edid_length length of the edid structure
2910 * @return The preferred aspect ratio.
2912 EAPI Ecore_X_Randr_Edid_Aspect_Ratio
2913 ecore_x_randr_edid_display_aspect_ratio_preferred_get(unsigned char *edid,
2914 unsigned long edid_length);
2917 * @brief Get the supported aspect ratios from raw EDID data.
2919 * @param edid the edid structure
2920 * @param edid_length length of the edid structure
2921 * @return The supported aspect ratios.
2923 EAPI Ecore_X_Randr_Edid_Aspect_Ratio
2924 ecore_x_randr_edid_display_aspect_ratios_get(unsigned char *edid,
2925 unsigned long edid_length);
2928 * @brief Get the supported colorschemes from raw EDID data.
2930 * @param edid the edid structure
2931 * @param edid_length length of the edid structure
2932 * @return The supported colorschemes.
2934 EAPI Ecore_X_Randr_Edid_Display_Colorscheme
2935 ecore_x_randr_edid_display_colorscheme_get(unsigned char *edid,
2936 unsigned long edid_length);
2939 * @brief Get the display type from raw EDID data.
2941 * @param edid the edid structure
2942 * @param edid_length length of the edid structure
2943 * @return EINA_TRUE, if the display is a digital one. Else EINA_FALSE.
2946 ecore_x_randr_edid_display_type_digital_get(unsigned char *edid,
2947 unsigned long edid_length);
2950 * @brief Get the display interface type from raw EDID data.
2952 * @param edid the edid structure
2953 * @param edid_length length of the edid structure
2954 * @return The interface type.
2956 EAPI Ecore_X_Randr_Edid_Display_Interface_Type
2957 ecore_x_randr_edid_display_interface_type_get(unsigned char *edid,
2958 unsigned long edid_length);
2960 /* ecore_x_randr_13.c */
2962 ecore_x_randr_screen_backlight_level_set(Ecore_X_Window root, double level);
2964 ecore_x_randr_output_backlight_level_get(Ecore_X_Window root,
2965 Ecore_X_Randr_Output output);
2967 ecore_x_randr_output_backlight_level_set(Ecore_X_Window root,
2968 Ecore_X_Randr_Output output,
2970 EAPI Ecore_X_Randr_Output
2971 ecore_x_randr_primary_output_get(Ecore_X_Window root);
2973 ecore_x_randr_primary_output_set(Ecore_X_Window root,
2974 Ecore_X_Randr_Output output);
2975 EAPI Ecore_X_Render_Subpixel_Order
2976 ecore_x_randr_output_subpixel_order_get(Ecore_X_Window root,
2977 Ecore_X_Randr_Output output);
2978 EAPI unsigned char *
2979 ecore_x_randr_output_edid_get(Ecore_X_Window root,
2980 Ecore_X_Randr_Output output,
2981 unsigned long *length);
2982 EAPI Ecore_X_Randr_Output *
2983 ecore_x_randr_output_wired_clones_get(Ecore_X_Window root,
2984 Ecore_X_Randr_Output output,
2986 EAPI Ecore_X_Randr_Output **
2987 ecore_x_randr_output_compatibility_list_get(Ecore_X_Window root,
2988 Ecore_X_Randr_Output output,
2990 EAPI Ecore_X_Randr_Signal_Format *
2991 ecore_x_randr_output_signal_formats_get(Ecore_X_Window root,
2992 Ecore_X_Randr_Output output,
2995 ecore_x_randr_output_signal_format_set(Ecore_X_Window root,
2996 Ecore_X_Randr_Output output,
2997 Ecore_X_Randr_Signal_Format *signal);
2998 EAPI Ecore_X_Randr_Signal_Property *
2999 ecore_x_randr_output_signal_properties_get(Ecore_X_Window root,
3000 Ecore_X_Randr_Output output,
3003 ecore_x_randr_output_connector_number_get(Ecore_X_Window root,
3004 Ecore_X_Randr_Output output);
3005 EAPI Ecore_X_Randr_Connector_Type
3006 ecore_x_randr_output_connector_type_get(Ecore_X_Window root,
3007 Ecore_X_Randr_Output output);
3008 EAPI Eina_Rectangle *
3009 ecore_x_randr_crtc_panning_area_get(Ecore_X_Window root,
3010 Ecore_X_Randr_Crtc crtc,
3016 ecore_x_randr_crtc_panning_area_set(Ecore_X_Window root,
3017 Ecore_X_Randr_Crtc crtc,
3022 EAPI Eina_Rectangle *
3023 ecore_x_randr_crtc_tracking_area_get(Ecore_X_Window root,
3024 Ecore_X_Randr_Crtc crtc,
3030 ecore_x_randr_crtc_tracking_area_set(Ecore_X_Window root,
3031 Ecore_X_Randr_Crtc crtc,
3036 EAPI Eina_Rectangle *
3037 ecore_x_randr_crtc_border_area_get(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc);
3039 ecore_x_randr_crtc_border_area_set(Ecore_X_Window root,
3040 Ecore_X_Randr_Crtc crtc,
3046 /* XRender Support (horrendously incomplete) */
3047 typedef Ecore_X_ID Ecore_X_Picture;
3049 /* XFixes Extension Support */
3050 typedef Ecore_X_ID Ecore_X_Region;
3052 typedef enum _Ecore_X_Region_Type {
3053 ECORE_X_REGION_BOUNDING,
3055 } Ecore_X_Region_Type;
3057 EAPI Ecore_X_Region ecore_x_region_new(Ecore_X_Rectangle *rects, int num);
3058 EAPI Ecore_X_Region ecore_x_region_new_from_bitmap(Ecore_X_Pixmap bitmap);
3059 EAPI Ecore_X_Region ecore_x_region_new_from_window(Ecore_X_Window win,
3060 Ecore_X_Region_Type type);
3061 EAPI Ecore_X_Region ecore_x_region_new_from_gc(Ecore_X_GC gc);
3062 EAPI Ecore_X_Region ecore_x_region_new_from_picture(Ecore_X_Picture picture);
3063 EAPI void ecore_x_region_free(Ecore_X_Region region);
3064 EAPI void ecore_x_region_set(Ecore_X_Region region,
3065 Ecore_X_Rectangle *rects,
3067 EAPI void ecore_x_region_copy(Ecore_X_Region dest,
3068 Ecore_X_Region source);
3069 EAPI void ecore_x_region_combine(Ecore_X_Region dest,
3070 Ecore_X_Region source1,
3071 Ecore_X_Region source2);
3072 EAPI void ecore_x_region_intersect(Ecore_X_Region dest,
3073 Ecore_X_Region source1,
3074 Ecore_X_Region source2);
3075 EAPI void ecore_x_region_subtract(Ecore_X_Region dest,
3076 Ecore_X_Region source1,
3077 Ecore_X_Region source2);
3078 EAPI void ecore_x_region_invert(Ecore_X_Region dest,
3079 Ecore_X_Rectangle *bounds,
3080 Ecore_X_Region source);
3081 EAPI void ecore_x_region_translate(Ecore_X_Region region,
3084 EAPI void ecore_x_region_extents(Ecore_X_Region dest,
3085 Ecore_X_Region source);
3086 EAPI Ecore_X_Rectangle * ecore_x_region_fetch(Ecore_X_Region region,
3088 Ecore_X_Rectangle *bounds);
3089 EAPI void ecore_x_region_expand(Ecore_X_Region dest,
3090 Ecore_X_Region source,
3094 unsigned int bottom);
3095 EAPI void ecore_x_region_gc_clip_set(Ecore_X_Region region,
3099 EAPI void ecore_x_region_window_shape_set(Ecore_X_Region region,
3101 Ecore_X_Shape_Type type,
3104 EAPI void ecore_x_region_picture_clip_set(Ecore_X_Region region,
3105 Ecore_X_Picture picture,
3110 * xfixes selection notification request.
3112 * This lets you choose which selections you want to get notifications for.
3113 * @param selection the selection atom.
3114 * @return EINA_TRUE on success, EINA_FALSE otherwise.
3117 EAPI Eina_Bool ecore_x_fixes_selection_notification_request(Ecore_X_Atom selection);
3119 /* XComposite Extension Support */
3120 EAPI Eina_Bool ecore_x_composite_query(void);
3121 EAPI void ecore_x_composite_redirect_window(Ecore_X_Window win,
3122 Ecore_X_Composite_Update_Type type);
3123 EAPI void ecore_x_composite_redirect_subwindows(Ecore_X_Window win,
3124 Ecore_X_Composite_Update_Type type);
3125 EAPI void ecore_x_composite_unredirect_window(Ecore_X_Window win,
3126 Ecore_X_Composite_Update_Type type);
3127 EAPI void ecore_x_composite_unredirect_subwindows(Ecore_X_Window win,
3128 Ecore_X_Composite_Update_Type type);
3129 EAPI Ecore_X_Pixmap ecore_x_composite_name_window_pixmap_get(Ecore_X_Window win);
3130 EAPI void ecore_x_composite_window_events_disable(Ecore_X_Window win);
3131 EAPI void ecore_x_composite_window_events_enable(Ecore_X_Window win);
3132 EAPI Ecore_X_Window ecore_x_composite_render_window_enable(Ecore_X_Window root);
3133 EAPI void ecore_x_composite_render_window_disable(Ecore_X_Window root);
3135 /* XDamage Extension Support */
3136 typedef Ecore_X_ID Ecore_X_Damage;
3138 typedef enum _Ecore_X_Damage_Report_Level {
3139 ECORE_X_DAMAGE_REPORT_RAW_RECTANGLES,
3140 ECORE_X_DAMAGE_REPORT_DELTA_RECTANGLES,
3141 ECORE_X_DAMAGE_REPORT_BOUNDING_BOX,
3142 ECORE_X_DAMAGE_REPORT_NON_EMPTY
3143 } Ecore_X_Damage_Report_Level;
3145 struct _Ecore_X_Event_Damage
3147 Ecore_X_Damage_Report_Level level;
3148 Ecore_X_Drawable drawable;
3149 Ecore_X_Damage damage;
3152 Ecore_X_Rectangle area;
3153 Ecore_X_Rectangle geometry;
3156 typedef struct _Ecore_X_Event_Damage Ecore_X_Event_Damage;
3158 EAPI Eina_Bool ecore_x_damage_query(void);
3159 EAPI Ecore_X_Damage ecore_x_damage_new(Ecore_X_Drawable d,
3160 Ecore_X_Damage_Report_Level level);
3161 EAPI void ecore_x_damage_free(Ecore_X_Damage damage);
3162 EAPI void ecore_x_damage_subtract(Ecore_X_Damage damage,
3163 Ecore_X_Region repair,
3164 Ecore_X_Region parts);
3166 EAPI Eina_Bool ecore_x_screen_is_composited(int screen);
3167 EAPI void ecore_x_screen_is_composited_set(int screen,
3168 Ecore_X_Window win);
3170 EAPI Eina_Bool ecore_x_dpms_query(void);
3171 EAPI Eina_Bool ecore_x_dpms_capable_get(void);
3172 EAPI Eina_Bool ecore_x_dpms_enabled_get(void);
3173 EAPI void ecore_x_dpms_enabled_set(int enabled);
3174 EAPI void ecore_x_dpms_timeouts_get(unsigned int *standby,
3175 unsigned int *suspend,
3177 EAPI Eina_Bool ecore_x_dpms_timeouts_set(unsigned int standby,
3178 unsigned int suspend,
3180 EAPI unsigned int ecore_x_dpms_timeout_standby_get(void);
3181 EAPI unsigned int ecore_x_dpms_timeout_suspend_get(void);
3182 EAPI unsigned int ecore_x_dpms_timeout_off_get(void);
3183 EAPI void ecore_x_dpms_timeout_standby_set(unsigned int new_timeout);
3184 EAPI void ecore_x_dpms_timeout_suspend_set(unsigned int new_timeout);
3185 EAPI void ecore_x_dpms_timeout_off_set(unsigned int new_timeout);
3187 EAPI Eina_Bool ecore_x_test_fake_key_down(const char *key);
3188 EAPI Eina_Bool ecore_x_test_fake_key_up(const char *key);
3189 EAPI Eina_Bool ecore_x_test_fake_key_press(const char *key);
3190 EAPI const char * ecore_x_keysym_string_get(int keysym);
3192 typedef struct _Ecore_X_Image Ecore_X_Image;
3194 EAPI Ecore_X_Image * ecore_x_image_new(int w,
3198 EAPI void ecore_x_image_free(Ecore_X_Image *im);
3199 EAPI Eina_Bool ecore_x_image_get(Ecore_X_Image *im,
3200 Ecore_X_Drawable draw,
3207 EAPI void ecore_x_image_put(Ecore_X_Image *im,
3208 Ecore_X_Drawable draw,
3216 EAPI void * ecore_x_image_data_get(Ecore_X_Image *im,
3220 EAPI Eina_Bool ecore_x_image_is_argb32_get(Ecore_X_Image *im);
3222 EAPI Eina_Bool ecore_x_image_to_argb_convert(void *src, int sbpp,
3226 int x, int y, int w, int h,
3231 EAPI Eina_Bool ecore_x_input_multi_select(Ecore_X_Window win);
3233 EAPI Eina_Bool ecore_x_vsync_animator_tick_source_set(Ecore_X_Window win);
3237 #endif // ifdef __cplusplus
3239 #include <Ecore_X_Atoms.h>
3240 #include <Ecore_X_Cursor.h>
3242 #endif // ifndef _ECORE_X_H