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
1161 ecore_x_init(const char *name);
1163 ecore_x_shutdown(void);
1165 ecore_x_disconnect(void);
1166 EAPI Ecore_X_Display *
1167 ecore_x_display_get(void);
1168 EAPI Ecore_X_Connection *
1169 ecore_x_connection_get(void);
1171 ecore_x_fd_get(void);
1172 EAPI Ecore_X_Screen *
1173 ecore_x_default_screen_get(void);
1175 ecore_x_screen_size_get(const Ecore_X_Screen *screen,
1179 ecore_x_screen_count_get(void);
1181 ecore_x_screen_index_get(const Ecore_X_Screen *screen);
1182 EAPI Ecore_X_Screen *
1183 ecore_x_screen_get(int index);
1186 ecore_x_double_click_time_set(double t);
1188 ecore_x_double_click_time_get(void);
1190 ecore_x_flush(void);
1194 ecore_x_killall(Ecore_X_Window root);
1196 ecore_x_kill(Ecore_X_Window win);
1198 ecore_x_dpi_get(void);
1200 ecore_x_bell(int percent);
1202 ecore_x_visual_id_get(Ecore_X_Visual visual);
1205 ecore_x_default_visual_get(Ecore_X_Display *disp,
1206 Ecore_X_Screen *screen);
1207 EAPI Ecore_X_Colormap
1208 ecore_x_default_colormap_get(Ecore_X_Display *disp,
1209 Ecore_X_Screen *screen);
1211 ecore_x_default_depth_get(Ecore_X_Display *disp,
1212 Ecore_X_Screen *screen);
1215 ecore_x_current_time_get(void);
1218 ecore_x_error_handler_set(void (*func)(void *data),
1221 ecore_x_io_error_handler_set(void (*func)(void *data),
1224 ecore_x_error_request_get(void);
1226 ecore_x_error_code_get(void);
1229 ecore_x_event_mask_set(Ecore_X_Window w,
1230 Ecore_X_Event_Mask mask);
1232 ecore_x_event_mask_unset(Ecore_X_Window w,
1233 Ecore_X_Event_Mask mask);
1236 ecore_x_selection_notify_send(Ecore_X_Window requestor,
1237 Ecore_X_Atom selection,
1238 Ecore_X_Atom target,
1239 Ecore_X_Atom property,
1242 ecore_x_selection_primary_set(Ecore_X_Window w,
1246 ecore_x_selection_primary_clear(void);
1248 ecore_x_selection_secondary_set(Ecore_X_Window w,
1252 ecore_x_selection_secondary_clear(void);
1254 ecore_x_selection_xdnd_set(Ecore_X_Window w,
1258 ecore_x_selection_xdnd_clear(void);
1260 ecore_x_selection_clipboard_set(Ecore_X_Window w,
1264 ecore_x_selection_clipboard_clear(void);
1266 ecore_x_selection_primary_request(Ecore_X_Window w,
1267 const char *target);
1269 ecore_x_selection_secondary_request(Ecore_X_Window w,
1270 const char *target);
1272 ecore_x_selection_xdnd_request(Ecore_X_Window w,
1273 const char *target);
1275 ecore_x_selection_clipboard_request(Ecore_X_Window w,
1276 const char *target);
1278 ecore_x_selection_convert(Ecore_X_Atom selection,
1279 Ecore_X_Atom target,
1282 Ecore_X_Atom *targprop,
1285 ecore_x_selection_converter_add(char *target,
1286 Eina_Bool (*func)(char *target,
1294 ecore_x_selection_converter_atom_add(Ecore_X_Atom target,
1295 Eina_Bool (*func)(char *target,
1300 Ecore_X_Atom *tprop,
1303 ecore_x_selection_converter_del(char *target);
1305 ecore_x_selection_converter_atom_del(Ecore_X_Atom target);
1307 ecore_x_selection_parser_add(const char *target,
1308 void *(*func)(const char *target, void *data, int size, int format));
1310 ecore_x_selection_parser_del(const char *target);
1312 ecore_x_selection_owner_set(Ecore_X_Window win,
1316 ecore_x_selection_owner_get(Ecore_X_Atom atom);
1319 ecore_x_dnd_aware_set(Ecore_X_Window win,
1322 ecore_x_dnd_version_get(Ecore_X_Window win);
1324 ecore_x_dnd_type_isset(Ecore_X_Window win,
1327 ecore_x_dnd_type_set(Ecore_X_Window win,
1331 ecore_x_dnd_types_set(Ecore_X_Window win,
1333 unsigned int num_types);
1335 ecore_x_dnd_actions_set(Ecore_X_Window win,
1336 Ecore_X_Atom *actions,
1337 unsigned int num_actions);
1339 ecore_x_dnd_begin(Ecore_X_Window source,
1340 unsigned char *data,
1343 ecore_x_dnd_drop(void);
1345 ecore_x_dnd_send_status(Eina_Bool will_accept,
1347 Ecore_X_Rectangle rectangle,
1348 Ecore_X_Atom action);
1350 ecore_x_dnd_send_finished(void);
1352 ecore_x_dnd_source_action_set(Ecore_X_Atom action);
1354 ecore_x_dnd_source_action_get(void);
1356 ecore_x_dnd_callback_pos_update_set(void (*cb)(void *,
1357 Ecore_X_Xdnd_Position *data),
1361 ecore_x_window_new(Ecore_X_Window parent,
1367 ecore_x_window_override_new(Ecore_X_Window parent,
1373 ecore_x_window_argb_get(Ecore_X_Window win);
1375 ecore_x_window_manager_argb_new(Ecore_X_Window parent,
1381 ecore_x_window_argb_new(Ecore_X_Window parent,
1387 ecore_x_window_override_argb_new(Ecore_X_Window parent,
1393 ecore_x_window_input_new(Ecore_X_Window parent,
1399 ecore_x_window_configure(Ecore_X_Window win,
1400 Ecore_X_Window_Configure_Mask mask,
1406 Ecore_X_Window sibling,
1409 ecore_x_window_cursor_set(Ecore_X_Window win,
1412 ecore_x_window_free(Ecore_X_Window win);
1414 ecore_x_window_ignore_set(Ecore_X_Window win,
1416 EAPI Ecore_X_Window *
1417 ecore_x_window_ignore_list(int *num);
1420 ecore_x_window_delete_request_send(Ecore_X_Window win);
1422 ecore_x_window_show(Ecore_X_Window win);
1424 ecore_x_window_hide(Ecore_X_Window win);
1426 ecore_x_window_move(Ecore_X_Window win,
1430 ecore_x_window_resize(Ecore_X_Window win,
1434 ecore_x_window_move_resize(Ecore_X_Window win,
1440 ecore_x_window_focus(Ecore_X_Window win);
1442 ecore_x_window_focus_at_time(Ecore_X_Window win,
1445 ecore_x_window_focus_get(void);
1447 ecore_x_window_raise(Ecore_X_Window win);
1449 ecore_x_window_lower(Ecore_X_Window win);
1451 ecore_x_window_reparent(Ecore_X_Window win,
1452 Ecore_X_Window new_parent,
1456 ecore_x_window_size_get(Ecore_X_Window win,
1460 ecore_x_window_geometry_get(Ecore_X_Window win,
1466 ecore_x_window_border_width_get(Ecore_X_Window win);
1468 ecore_x_window_border_width_set(Ecore_X_Window win,
1471 ecore_x_window_depth_get(Ecore_X_Window win);
1473 ecore_x_window_cursor_show(Ecore_X_Window win,
1476 ecore_x_window_defaults_set(Ecore_X_Window win);
1478 ecore_x_window_visible_get(Ecore_X_Window win);
1480 ecore_x_window_shadow_tree_at_xy_with_skip_get(Ecore_X_Window base,
1483 Ecore_X_Window *skip,
1486 ecore_x_window_shadow_parent_get(Ecore_X_Window root,
1487 Ecore_X_Window win);
1489 ecore_x_window_shadow_tree_flush(void);
1491 ecore_x_window_root_get(Ecore_X_Window win);
1493 ecore_x_window_at_xy_get(int x,
1496 ecore_x_window_at_xy_with_skip_get(int x,
1498 Ecore_X_Window *skip,
1501 ecore_x_window_at_xy_begin_get(Ecore_X_Window begin,
1505 ecore_x_window_parent_get(Ecore_X_Window win);
1508 ecore_x_window_background_color_set(Ecore_X_Window win,
1513 ecore_x_window_gravity_set(Ecore_X_Window win,
1514 Ecore_X_Gravity grav);
1516 ecore_x_window_pixel_gravity_set(Ecore_X_Window win,
1517 Ecore_X_Gravity grav);
1519 ecore_x_window_pixmap_set(Ecore_X_Window win,
1520 Ecore_X_Pixmap pmap);
1522 ecore_x_window_area_clear(Ecore_X_Window win,
1528 ecore_x_window_area_expose(Ecore_X_Window win,
1534 ecore_x_window_override_set(Ecore_X_Window win,
1535 Eina_Bool override);
1538 ecore_x_window_prop_card32_set(Ecore_X_Window win,
1543 ecore_x_window_prop_card32_get(Ecore_X_Window win,
1548 ecore_x_window_prop_card32_list_get(Ecore_X_Window win,
1550 unsigned int **plst);
1553 ecore_x_window_prop_xid_set(Ecore_X_Window win,
1559 ecore_x_window_prop_xid_get(Ecore_X_Window win,
1565 ecore_x_window_prop_xid_list_get(Ecore_X_Window win,
1570 ecore_x_window_prop_xid_list_change(Ecore_X_Window win,
1576 ecore_x_window_prop_atom_set(Ecore_X_Window win,
1581 ecore_x_window_prop_atom_get(Ecore_X_Window win,
1586 ecore_x_window_prop_atom_list_get(Ecore_X_Window win,
1588 Ecore_X_Atom **plst);
1590 ecore_x_window_prop_atom_list_change(Ecore_X_Window win,
1595 ecore_x_window_prop_window_set(Ecore_X_Window win,
1597 Ecore_X_Window *val,
1600 ecore_x_window_prop_window_get(Ecore_X_Window win,
1602 Ecore_X_Window *val,
1605 ecore_x_window_prop_window_list_get(Ecore_X_Window win,
1607 Ecore_X_Window **plst);
1610 ecore_x_window_prop_any_type(void);
1612 ecore_x_window_prop_property_set(Ecore_X_Window win,
1614 Ecore_X_Atom format,
1619 ecore_x_window_prop_property_get(Ecore_X_Window win,
1620 Ecore_X_Atom property,
1623 unsigned char **data,
1626 ecore_x_window_prop_property_del(Ecore_X_Window win,
1627 Ecore_X_Atom property);
1629 ecore_x_window_prop_list(Ecore_X_Window win,
1632 ecore_x_window_prop_string_set(Ecore_X_Window win,
1636 ecore_x_window_prop_string_get(Ecore_X_Window win,
1639 ecore_x_window_prop_protocol_isset(Ecore_X_Window win,
1640 Ecore_X_WM_Protocol protocol);
1641 EAPI Ecore_X_WM_Protocol *
1642 ecore_x_window_prop_protocol_list_get(Ecore_X_Window win,
1646 ecore_x_window_shape_mask_set(Ecore_X_Window win,
1647 Ecore_X_Pixmap mask);
1649 ecore_x_window_shape_window_set(Ecore_X_Window win,
1650 Ecore_X_Window shape_win);
1652 ecore_x_window_shape_window_set_xy(Ecore_X_Window win,
1653 Ecore_X_Window shape_win,
1657 ecore_x_window_shape_rectangle_set(Ecore_X_Window win,
1663 ecore_x_window_shape_rectangles_set(Ecore_X_Window win,
1664 Ecore_X_Rectangle *rects,
1667 ecore_x_window_shape_input_rectangle_set(Ecore_X_Window win,
1673 ecore_x_window_shape_input_rectangles_set(Ecore_X_Window win,
1674 Ecore_X_Rectangle *rects,
1677 ecore_x_window_shape_input_rectangle_add(Ecore_X_Window win,
1683 ecore_x_window_shape_rectangle_subtract(Ecore_X_Window win,
1689 ecore_x_window_shape_input_rectangle_subtract(Ecore_X_Window win,
1695 ecore_x_window_shape_input_window_set_xy(Ecore_X_Window win,
1696 Ecore_X_Window shape_win,
1700 ecore_x_window_shape_input_window_set(Ecore_X_Window win,
1701 Ecore_X_Window shape_win);
1703 ecore_x_window_shape_window_add(Ecore_X_Window win,
1704 Ecore_X_Window shape_win);
1706 ecore_x_window_shape_window_add_xy(Ecore_X_Window win,
1707 Ecore_X_Window shape_win,
1711 ecore_x_window_shape_input_window_add_xy(Ecore_X_Window win,
1712 Ecore_X_Window shape_win,
1716 ecore_x_window_shape_rectangle_add(Ecore_X_Window win,
1722 ecore_x_window_shape_rectangle_clip(Ecore_X_Window win,
1728 ecore_x_window_shape_input_rectangle_clip(Ecore_X_Window win,
1734 ecore_x_window_shape_rectangles_add(Ecore_X_Window win,
1735 Ecore_X_Rectangle *rects,
1738 ecore_x_window_shape_input_rectangles_add(Ecore_X_Window win,
1739 Ecore_X_Rectangle *rects,
1741 EAPI Ecore_X_Rectangle *
1742 ecore_x_window_shape_rectangles_get(Ecore_X_Window win,
1744 EAPI Ecore_X_Rectangle *
1745 ecore_x_window_shape_input_rectangles_get(Ecore_X_Window win,
1748 ecore_x_window_shape_events_select(Ecore_X_Window win,
1751 ecore_x_window_shape_input_mask_set(Ecore_X_Window win,
1752 Ecore_X_Pixmap mask);
1755 ecore_x_pixmap_new(Ecore_X_Window win,
1760 ecore_x_pixmap_free(Ecore_X_Pixmap pmap);
1762 ecore_x_pixmap_paste(Ecore_X_Pixmap pmap,
1763 Ecore_X_Drawable dest,
1772 ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap,
1778 ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap);
1781 ecore_x_gc_new(Ecore_X_Drawable draw,
1782 Ecore_X_GC_Value_Mask value_mask,
1783 const unsigned int *value_list);
1785 ecore_x_gc_free(Ecore_X_GC gc);
1787 ecore_x_gc_foreground_set(Ecore_X_GC gc,
1788 unsigned long foreground);
1790 ecore_x_gc_background_set(Ecore_X_GC gc,
1791 unsigned long background);
1794 ecore_x_client_message32_send(Ecore_X_Window win,
1796 Ecore_X_Event_Mask mask,
1803 ecore_x_client_message8_send(Ecore_X_Window win,
1808 ecore_x_mouse_move_send(Ecore_X_Window win,
1812 ecore_x_mouse_down_send(Ecore_X_Window win,
1817 ecore_x_mouse_up_send(Ecore_X_Window win,
1823 ecore_x_drawable_geometry_get(Ecore_X_Drawable d,
1829 ecore_x_drawable_border_width_get(Ecore_X_Drawable d);
1831 ecore_x_drawable_depth_get(Ecore_X_Drawable d);
1833 ecore_x_drawable_rectangle_fill(Ecore_X_Drawable d,
1841 ecore_x_cursor_color_supported_get(void);
1843 ecore_x_cursor_new(Ecore_X_Window win,
1850 ecore_x_cursor_free(Ecore_X_Cursor c);
1852 ecore_x_cursor_shape_get(int shape);
1854 ecore_x_cursor_size_set(int size);
1856 ecore_x_cursor_size_get(void);
1858 /* FIXME: these funcs need categorising */
1859 EAPI Ecore_X_Window *
1860 ecore_x_window_root_list(int *num_ret);
1862 ecore_x_window_root_first_get(void);
1864 ecore_x_window_manage(Ecore_X_Window win);
1866 ecore_x_window_container_manage(Ecore_X_Window win);
1868 ecore_x_window_client_manage(Ecore_X_Window win);
1870 ecore_x_window_sniff(Ecore_X_Window win);
1872 ecore_x_window_client_sniff(Ecore_X_Window win);
1875 ecore_x_atom_get(const char *name);
1877 ecore_x_atoms_get(const char **names,
1879 Ecore_X_Atom *atoms);
1881 ecore_x_atom_name_get(Ecore_X_Atom atom);
1884 ecore_x_icccm_init(void);
1886 ecore_x_icccm_state_set(Ecore_X_Window win,
1887 Ecore_X_Window_State_Hint state);
1888 EAPI Ecore_X_Window_State_Hint
1889 ecore_x_icccm_state_get(Ecore_X_Window win);
1891 ecore_x_icccm_delete_window_send(Ecore_X_Window win,
1894 ecore_x_icccm_take_focus_send(Ecore_X_Window win,
1897 ecore_x_icccm_save_yourself_send(Ecore_X_Window win,
1900 ecore_x_icccm_move_resize_send(Ecore_X_Window win,
1906 ecore_x_icccm_hints_set(Ecore_X_Window win,
1907 Eina_Bool accepts_focus,
1908 Ecore_X_Window_State_Hint initial_state,
1909 Ecore_X_Pixmap icon_pixmap,
1910 Ecore_X_Pixmap icon_mask,
1911 Ecore_X_Window icon_window,
1912 Ecore_X_Window window_group,
1913 Eina_Bool is_urgent);
1915 ecore_x_icccm_hints_get(Ecore_X_Window win,
1916 Eina_Bool *accepts_focus,
1917 Ecore_X_Window_State_Hint *initial_state,
1918 Ecore_X_Pixmap *icon_pixmap,
1919 Ecore_X_Pixmap *icon_mask,
1920 Ecore_X_Window *icon_window,
1921 Ecore_X_Window *window_group,
1922 Eina_Bool *is_urgent);
1924 ecore_x_icccm_size_pos_hints_set(Ecore_X_Window win,
1925 Eina_Bool request_pos,
1926 Ecore_X_Gravity gravity,
1938 ecore_x_icccm_size_pos_hints_get(Ecore_X_Window win,
1939 Eina_Bool *request_pos,
1940 Ecore_X_Gravity *gravity,
1950 double *max_aspect);
1952 ecore_x_icccm_title_set(Ecore_X_Window win,
1955 ecore_x_icccm_title_get(Ecore_X_Window win);
1957 ecore_x_icccm_protocol_atoms_set(Ecore_X_Window win,
1958 Ecore_X_Atom *protos,
1961 ecore_x_icccm_protocol_set(Ecore_X_Window win,
1962 Ecore_X_WM_Protocol protocol,
1965 ecore_x_icccm_protocol_isset(Ecore_X_Window win,
1966 Ecore_X_WM_Protocol protocol);
1968 ecore_x_icccm_name_class_set(Ecore_X_Window win,
1972 ecore_x_icccm_name_class_get(Ecore_X_Window win,
1976 ecore_x_icccm_client_machine_get(Ecore_X_Window win);
1978 ecore_x_icccm_command_set(Ecore_X_Window win,
1982 ecore_x_icccm_command_get(Ecore_X_Window win,
1986 ecore_x_icccm_icon_name_get(Ecore_X_Window win);
1988 ecore_x_icccm_icon_name_set(Ecore_X_Window win,
1991 ecore_x_icccm_colormap_window_set(Ecore_X_Window win,
1992 Ecore_X_Window subwin);
1994 ecore_x_icccm_colormap_window_unset(Ecore_X_Window win,
1995 Ecore_X_Window subwin);
1997 ecore_x_icccm_transient_for_set(Ecore_X_Window win,
1998 Ecore_X_Window forwin);
2000 ecore_x_icccm_transient_for_unset(Ecore_X_Window win);
2002 ecore_x_icccm_transient_for_get(Ecore_X_Window win);
2004 ecore_x_icccm_window_role_set(Ecore_X_Window win,
2007 ecore_x_icccm_window_role_get(Ecore_X_Window win);
2009 ecore_x_icccm_client_leader_set(Ecore_X_Window win,
2012 ecore_x_icccm_client_leader_get(Ecore_X_Window win);
2014 ecore_x_icccm_iconic_request_send(Ecore_X_Window win,
2015 Ecore_X_Window root);
2017 typedef enum _Ecore_X_MWM_Hint_Func
2019 ECORE_X_MWM_HINT_FUNC_ALL = (1 << 0),
2020 ECORE_X_MWM_HINT_FUNC_RESIZE = (1 << 1),
2021 ECORE_X_MWM_HINT_FUNC_MOVE = (1 << 2),
2022 ECORE_X_MWM_HINT_FUNC_MINIMIZE = (1 << 3),
2023 ECORE_X_MWM_HINT_FUNC_MAXIMIZE = (1 << 4),
2024 ECORE_X_MWM_HINT_FUNC_CLOSE = (1 << 5)
2025 } Ecore_X_MWM_Hint_Func;
2027 typedef enum _Ecore_X_MWM_Hint_Decor
2029 ECORE_X_MWM_HINT_DECOR_ALL = (1 << 0),
2030 ECORE_X_MWM_HINT_DECOR_BORDER = (1 << 1),
2031 ECORE_X_MWM_HINT_DECOR_RESIZEH = (1 << 2),
2032 ECORE_X_MWM_HINT_DECOR_TITLE = (1 << 3),
2033 ECORE_X_MWM_HINT_DECOR_MENU = (1 << 4),
2034 ECORE_X_MWM_HINT_DECOR_MINIMIZE = (1 << 5),
2035 ECORE_X_MWM_HINT_DECOR_MAXIMIZE = (1 << 6)
2036 } Ecore_X_MWM_Hint_Decor;
2038 typedef enum _Ecore_X_MWM_Hint_Input
2040 ECORE_X_MWM_HINT_INPUT_MODELESS = 0,
2041 ECORE_X_MWM_HINT_INPUT_PRIMARY_APPLICATION_MODAL = 1,
2042 ECORE_X_MWM_HINT_INPUT_SYSTEM_MODAL = 2,
2043 ECORE_X_MWM_HINT_INPUT_FULL_APPLICATION_MODAL = 3
2044 } Ecore_X_MWM_Hint_Input;
2047 ecore_x_mwm_hints_get(Ecore_X_Window win,
2048 Ecore_X_MWM_Hint_Func *fhint,
2049 Ecore_X_MWM_Hint_Decor *dhint,
2050 Ecore_X_MWM_Hint_Input *ihint);
2052 ecore_x_mwm_borderless_set(Ecore_X_Window win,
2053 Eina_Bool borderless);
2057 ecore_x_netwm_init(void);
2059 ecore_x_netwm_shutdown(void);
2061 ecore_x_netwm_wm_identify(Ecore_X_Window root,
2062 Ecore_X_Window check,
2063 const char *wm_name);
2065 ecore_x_netwm_supported_set(Ecore_X_Window root,
2066 Ecore_X_Atom *supported,
2069 ecore_x_netwm_supported_get(Ecore_X_Window root,
2070 Ecore_X_Atom **supported,
2073 ecore_x_netwm_desk_count_set(Ecore_X_Window root,
2074 unsigned int n_desks);
2076 ecore_x_netwm_desk_roots_set(Ecore_X_Window root,
2077 Ecore_X_Window *vroots,
2078 unsigned int n_desks);
2080 ecore_x_netwm_desk_names_set(Ecore_X_Window root,
2082 unsigned int n_desks);
2084 ecore_x_netwm_desk_size_set(Ecore_X_Window root,
2086 unsigned int height);
2088 ecore_x_netwm_desk_workareas_set(Ecore_X_Window root,
2089 unsigned int *areas,
2090 unsigned int n_desks);
2092 ecore_x_netwm_desk_current_set(Ecore_X_Window root,
2095 ecore_x_netwm_desk_viewports_set(Ecore_X_Window root,
2096 unsigned int *origins,
2097 unsigned int n_desks);
2099 ecore_x_netwm_desk_layout_set(Ecore_X_Window root,
2103 int starting_corner);
2105 ecore_x_netwm_showing_desktop_set(Ecore_X_Window root,
2108 ecore_x_netwm_client_list_set(Ecore_X_Window root,
2109 Ecore_X_Window *p_clients,
2110 unsigned int n_clients);
2112 ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root,
2113 Ecore_X_Window *p_clients,
2114 unsigned int n_clients);
2116 ecore_x_netwm_client_active_set(Ecore_X_Window root,
2117 Ecore_X_Window win);
2119 ecore_x_netwm_client_active_request(Ecore_X_Window root,
2122 Ecore_X_Window current_win);
2124 ecore_x_netwm_name_set(Ecore_X_Window win,
2127 ecore_x_netwm_name_get(Ecore_X_Window win,
2130 ecore_x_netwm_startup_id_set(Ecore_X_Window win,
2133 ecore_x_netwm_startup_id_get(Ecore_X_Window win,
2136 ecore_x_netwm_visible_name_set(Ecore_X_Window win,
2139 ecore_x_netwm_visible_name_get(Ecore_X_Window win,
2142 ecore_x_netwm_icon_name_set(Ecore_X_Window win,
2145 ecore_x_netwm_icon_name_get(Ecore_X_Window win,
2148 ecore_x_netwm_visible_icon_name_set(Ecore_X_Window win,
2151 ecore_x_netwm_visible_icon_name_get(Ecore_X_Window win,
2154 ecore_x_netwm_desktop_set(Ecore_X_Window win,
2157 ecore_x_netwm_desktop_get(Ecore_X_Window win,
2158 unsigned int *desk);
2160 ecore_x_netwm_strut_set(Ecore_X_Window win,
2166 ecore_x_netwm_strut_get(Ecore_X_Window win,
2172 ecore_x_netwm_strut_partial_set(Ecore_X_Window win,
2186 ecore_x_netwm_strut_partial_get(Ecore_X_Window win,
2197 int *bottom_start_x,
2201 ecore_x_netwm_icons_get(Ecore_X_Window win,
2202 Ecore_X_Icon **icon,
2205 ecore_x_netwm_icon_geometry_set(Ecore_X_Window win,
2211 ecore_x_netwm_icon_geometry_get(Ecore_X_Window win,
2217 ecore_x_netwm_pid_set(Ecore_X_Window win,
2220 ecore_x_netwm_pid_get(Ecore_X_Window win,
2223 ecore_x_netwm_handled_icons_set(Ecore_X_Window win);
2225 ecore_x_netwm_handled_icons_get(Ecore_X_Window win);
2227 ecore_x_netwm_user_time_set(Ecore_X_Window win,
2230 ecore_x_netwm_user_time_get(Ecore_X_Window win,
2231 unsigned int *time);
2233 ecore_x_netwm_window_state_set(Ecore_X_Window win,
2234 Ecore_X_Window_State *state,
2237 ecore_x_netwm_window_state_get(Ecore_X_Window win,
2238 Ecore_X_Window_State **state,
2241 ecore_x_netwm_window_type_set(Ecore_X_Window win,
2242 Ecore_X_Window_Type type);
2244 ecore_x_netwm_window_type_get(Ecore_X_Window win,
2245 Ecore_X_Window_Type *type);
2247 ecore_x_netwm_window_types_get(Ecore_X_Window win,
2248 Ecore_X_Window_Type **types);
2250 ecore_x_netwm_allowed_action_isset(Ecore_X_Window win,
2251 Ecore_X_Action action);
2253 ecore_x_netwm_allowed_action_set(Ecore_X_Window win,
2254 Ecore_X_Action *action,
2257 ecore_x_netwm_allowed_action_get(Ecore_X_Window win,
2258 Ecore_X_Action **action,
2261 ecore_x_netwm_opacity_set(Ecore_X_Window win,
2262 unsigned int opacity);
2264 ecore_x_netwm_opacity_get(Ecore_X_Window win,
2265 unsigned int *opacity);
2267 ecore_x_netwm_frame_size_set(Ecore_X_Window win,
2273 ecore_x_netwm_frame_size_get(Ecore_X_Window win,
2279 ecore_x_netwm_sync_counter_get(Ecore_X_Window win,
2280 Ecore_X_Sync_Counter *counter);
2282 ecore_x_netwm_ping_send(Ecore_X_Window win);
2284 ecore_x_netwm_sync_request_send(Ecore_X_Window win,
2285 unsigned int serial);
2287 ecore_x_netwm_state_request_send(Ecore_X_Window win,
2288 Ecore_X_Window root,
2289 Ecore_X_Window_State s1,
2290 Ecore_X_Window_State s2,
2293 ecore_x_netwm_desktop_request_send(Ecore_X_Window win,
2294 Ecore_X_Window root,
2295 unsigned int desktop);
2298 ecore_x_e_init(void);
2300 ecore_x_e_frame_size_set(Ecore_X_Window win,
2306 ecore_x_e_virtual_keyboard_set(Ecore_X_Window win,
2307 unsigned int is_keyboard);
2309 ecore_x_e_virtual_keyboard_get(Ecore_X_Window win);
2311 ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win,
2312 Ecore_X_Virtual_Keyboard_State state);
2313 EAPI Ecore_X_Virtual_Keyboard_State
2314 ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win);
2316 ecore_x_e_virtual_keyboard_state_send(Ecore_X_Window win,
2317 Ecore_X_Virtual_Keyboard_State state);
2319 /* Illume functions */
2321 ecore_x_e_illume_zone_set(Ecore_X_Window win,
2322 Ecore_X_Window zone);
2324 ecore_x_e_illume_zone_get(Ecore_X_Window win);
2326 ecore_x_e_illume_zone_list_set(Ecore_X_Window win,
2327 Ecore_X_Window *zones,
2328 unsigned int n_zones);
2330 ecore_x_e_illume_conformant_set(Ecore_X_Window win,
2331 unsigned int is_conformant);
2333 ecore_x_e_illume_conformant_get(Ecore_X_Window win);
2335 ecore_x_e_illume_mode_set(Ecore_X_Window win,
2336 Ecore_X_Illume_Mode mode);
2337 EAPI Ecore_X_Illume_Mode
2338 ecore_x_e_illume_mode_get(Ecore_X_Window win);
2340 ecore_x_e_illume_mode_send(Ecore_X_Window win,
2341 Ecore_X_Illume_Mode mode);
2343 ecore_x_e_illume_focus_back_send(Ecore_X_Window win);
2345 ecore_x_e_illume_focus_forward_send(Ecore_X_Window win);
2347 ecore_x_e_illume_focus_home_send(Ecore_X_Window win);
2349 ecore_x_e_illume_close_send(Ecore_X_Window win);
2351 ecore_x_e_illume_home_new_send(Ecore_X_Window win);
2353 ecore_x_e_illume_home_del_send(Ecore_X_Window win);
2355 ecore_x_e_illume_drag_set(Ecore_X_Window win,
2358 ecore_x_e_illume_drag_get(Ecore_X_Window win);
2360 ecore_x_e_illume_drag_locked_set(Ecore_X_Window win,
2361 unsigned int is_locked);
2363 ecore_x_e_illume_drag_locked_get(Ecore_X_Window win);
2365 ecore_x_e_illume_drag_start_send(Ecore_X_Window win);
2367 ecore_x_e_illume_drag_end_send(Ecore_X_Window win);
2369 ecore_x_e_illume_indicator_geometry_set(Ecore_X_Window win,
2375 ecore_x_e_illume_indicator_geometry_get(Ecore_X_Window win,
2381 ecore_x_e_illume_softkey_geometry_set(Ecore_X_Window win,
2387 ecore_x_e_illume_softkey_geometry_get(Ecore_X_Window win,
2393 ecore_x_e_illume_keyboard_geometry_set(Ecore_X_Window win,
2399 ecore_x_e_illume_keyboard_geometry_get(Ecore_X_Window win,
2405 ecore_x_e_illume_quickpanel_set(Ecore_X_Window win,
2406 unsigned int is_quickpanel);
2408 ecore_x_e_illume_quickpanel_get(Ecore_X_Window win);
2410 ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win,
2411 Ecore_X_Illume_Quickpanel_State state);
2412 EAPI Ecore_X_Illume_Quickpanel_State
2413 ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win);
2415 ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win,
2416 Ecore_X_Illume_Quickpanel_State state);
2418 ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win);
2420 ecore_x_e_illume_quickpanel_priority_major_set(Ecore_X_Window win,
2421 unsigned int priority);
2423 ecore_x_e_illume_quickpanel_priority_major_get(Ecore_X_Window win);
2425 ecore_x_e_illume_quickpanel_priority_minor_set(Ecore_X_Window win,
2426 unsigned int priority);
2428 ecore_x_e_illume_quickpanel_priority_minor_get(Ecore_X_Window win);
2430 ecore_x_e_illume_quickpanel_zone_set(Ecore_X_Window win,
2433 ecore_x_e_illume_quickpanel_zone_get(Ecore_X_Window win);
2435 ecore_x_e_illume_quickpanel_zone_request_send(Ecore_X_Window win);
2437 ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win);
2439 /* added by doyoun.kang - for sliding window */
2441 ecore_x_e_illume_sliding_win_state_set(Ecore_X_Window win,
2442 unsigned int is_visible);
2444 ecore_x_e_illume_sliding_win_state_get(Ecore_X_Window win);
2446 ecore_x_e_illume_sliding_win_geometry_set(Ecore_X_Window win,
2452 ecore_x_e_illume_sliding_win_geometry_get(Ecore_X_Window win,
2459 ecore_x_e_comp_sync_counter_set(Ecore_X_Window win,
2460 Ecore_X_Sync_Counter counter);
2461 EAPI Ecore_X_Sync_Counter
2462 ecore_x_e_comp_sync_counter_get(Ecore_X_Window win);
2464 ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root,
2465 Ecore_X_Window win);
2467 ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root,
2472 ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
2475 ecore_x_e_comp_sync_supported_get(Ecore_X_Window root);
2477 ecore_x_e_comp_sync_begin_send(Ecore_X_Window win);
2479 ecore_x_e_comp_sync_end_send(Ecore_X_Window win);
2481 ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win);
2484 ecore_x_e_comp_flush_send(Ecore_X_Window win);
2486 ecore_x_e_comp_dump_send(Ecore_X_Window win);
2488 ecore_x_e_comp_pixmap_set(Ecore_X_Window win,
2489 Ecore_X_Pixmap pixmap);
2491 ecore_x_e_comp_pixmap_get(Ecore_X_Window win);
2493 EAPI Ecore_X_Sync_Alarm
2494 ecore_x_sync_alarm_new(Ecore_X_Sync_Counter counter);
2496 ecore_x_sync_alarm_free(Ecore_X_Sync_Alarm alarm);
2498 ecore_x_sync_counter_query(Ecore_X_Sync_Counter counter,
2500 EAPI Ecore_X_Sync_Counter
2501 ecore_x_sync_counter_new(int val);
2503 ecore_x_sync_counter_free(Ecore_X_Sync_Counter counter);
2505 ecore_x_sync_counter_inc(Ecore_X_Sync_Counter counter,
2508 ecore_x_sync_counter_val_wait(Ecore_X_Sync_Counter counter,
2512 ecore_x_sync_counter_set(Ecore_X_Sync_Counter counter,
2515 ecore_x_sync_counter_2_set(Ecore_X_Sync_Counter counter,
2517 unsigned int val_lo);
2519 ecore_x_sync_counter_2_query(Ecore_X_Sync_Counter counter,
2521 unsigned int *val_lo);
2524 ecore_x_xinerama_screen_count_get(void);
2526 ecore_x_xinerama_screen_geometry_get(int screen,
2533 ecore_x_screensaver_event_available_get(void);
2535 ecore_x_screensaver_idle_time_get(void);
2537 ecore_x_screensaver_set(int timeout,
2539 int prefer_blanking,
2540 int allow_exposures);
2542 ecore_x_screensaver_timeout_set(int timeout);
2544 ecore_x_screensaver_timeout_get(void);
2546 ecore_x_screensaver_blank_set(int timeout);
2548 ecore_x_screensaver_blank_get(void);
2550 ecore_x_screensaver_expose_set(int timeout);
2552 ecore_x_screensaver_expose_get(void);
2554 ecore_x_screensaver_interval_set(int timeout);
2556 ecore_x_screensaver_interval_get(void);
2558 ecore_x_screensaver_event_listen_set(Eina_Bool on);
2560 /* FIXME: these funcs need categorising */
2562 typedef struct _Ecore_X_Window_Attributes
2564 Ecore_X_Window root;
2568 Eina_Bool visible : 1;
2569 Eina_Bool viewable : 1;
2570 Eina_Bool override : 1;
2571 Eina_Bool input_only : 1;
2572 Eina_Bool save_under : 1;
2575 Ecore_X_Event_Mask mine;
2576 Ecore_X_Event_Mask all;
2577 Ecore_X_Event_Mask no_propagate;
2579 Ecore_X_Gravity window_gravity;
2580 Ecore_X_Gravity pixel_gravity;
2581 Ecore_X_Colormap colormap;
2582 Ecore_X_Visual visual;
2584 * int map_installed;
2587 } Ecore_X_Window_Attributes;
2590 ecore_x_window_attributes_get(Ecore_X_Window win,
2591 Ecore_X_Window_Attributes *att_ret);
2593 ecore_x_window_save_set_add(Ecore_X_Window win);
2595 ecore_x_window_save_set_del(Ecore_X_Window win);
2596 EAPI Ecore_X_Window *
2597 ecore_x_window_children_get(Ecore_X_Window win,
2601 ecore_x_pointer_control_set(int accel_num,
2605 ecore_x_pointer_control_get(int *accel_num,
2609 ecore_x_pointer_mapping_set(unsigned char *map,
2612 ecore_x_pointer_mapping_get(unsigned char *map,
2615 ecore_x_pointer_grab(Ecore_X_Window win);
2617 ecore_x_pointer_confine_grab(Ecore_X_Window win);
2619 ecore_x_pointer_ungrab(void);
2621 ecore_x_pointer_warp(Ecore_X_Window win,
2625 ecore_x_keyboard_grab(Ecore_X_Window win);
2627 ecore_x_keyboard_ungrab(void);
2631 ecore_x_ungrab(void);
2633 ecore_x_passive_grab_replay_func_set(Eina_Bool (*func)(void *data,
2638 ecore_x_window_button_grab(Ecore_X_Window win,
2640 Ecore_X_Event_Mask event_mask,
2644 ecore_x_window_button_ungrab(Ecore_X_Window win,
2649 ecore_x_window_key_grab(Ecore_X_Window win,
2654 ecore_x_window_key_ungrab(Ecore_X_Window win,
2660 ecore_x_focus_reset(void);
2662 ecore_x_events_allow_all(void);
2664 ecore_x_pointer_last_xy_get(int *x,
2667 ecore_x_pointer_xy_get(Ecore_X_Window win,
2671 /* ecore_x_region.c */
2672 EAPI Ecore_X_XRegion *
2673 ecore_x_xregion_new(void);
2675 ecore_x_xregion_free(Ecore_X_XRegion *region);
2677 ecore_x_xregion_set(Ecore_X_XRegion *region,
2680 ecore_x_xregion_translate(Ecore_X_XRegion *region,
2684 ecore_x_xregion_intersect(Ecore_X_XRegion *dst,
2685 Ecore_X_XRegion *r1,
2686 Ecore_X_XRegion *r2);
2688 ecore_x_xregion_union(Ecore_X_XRegion *dst,
2689 Ecore_X_XRegion *r1,
2690 Ecore_X_XRegion *r2);
2692 ecore_x_xregion_union_rect(Ecore_X_XRegion *dst,
2693 Ecore_X_XRegion *src,
2694 Ecore_X_Rectangle *rect);
2696 ecore_x_xregion_subtract(Ecore_X_XRegion *dst,
2697 Ecore_X_XRegion *r1,
2698 Ecore_X_XRegion *r2);
2700 ecore_x_xregion_is_empty(Ecore_X_XRegion *region);
2702 ecore_x_xregion_is_equal(Ecore_X_XRegion *r1,
2703 Ecore_X_XRegion *r2);
2705 ecore_x_xregion_point_contain(Ecore_X_XRegion *region,
2709 ecore_x_xregion_rect_contain(Ecore_X_XRegion *region,
2710 Ecore_X_Rectangle *rect);
2712 /* ecore_x_randr.c */
2714 /* The usage of 'Ecore_X_Randr_None' or 'Ecore_X_Randr_Unset'
2715 * depends on the context. In most cases 'Ecore_X_Randr_Unset'
2716 * can be used, but in some cases -1 is a special value to
2717 * functions, thus 'Ecore_X_Randr_None' (=0) musst be used.
2720 typedef short Ecore_X_Randr_Refresh_Rate;
2721 typedef int Ecore_X_Randr_Crtc_Gamma;
2722 typedef int Ecore_X_Randr_Signal_Format;
2723 typedef int Ecore_X_Randr_Signal_Property;
2724 typedef int Ecore_X_Randr_Connector_Type;
2726 typedef struct _Ecore_X_Randr_Mode_Info
2730 unsigned int height;
2731 unsigned long dotClock;
2732 unsigned int hSyncStart;
2733 unsigned int hSyncEnd;
2734 unsigned int hTotal;
2736 unsigned int vSyncStart;
2737 unsigned int vSyncEnd;
2738 unsigned int vTotal;
2740 unsigned int nameLength;
2741 unsigned long modeFlags;
2742 } Ecore_X_Randr_Mode_Info;
2745 ecore_x_randr_version_get(void);
2747 ecore_x_randr_query(void);
2749 /* ecore_x_randr_11.c */
2750 EAPI Ecore_X_Randr_Orientation
2751 ecore_x_randr_screen_primary_output_orientations_get(Ecore_X_Window root);
2752 EAPI Ecore_X_Randr_Orientation
2753 ecore_x_randr_screen_primary_output_orientation_get(Ecore_X_Window root);
2755 ecore_x_randr_screen_primary_output_orientation_set(Ecore_X_Window root,
2756 Ecore_X_Randr_Orientation orientation);
2757 EAPI Ecore_X_Randr_Screen_Size_MM *
2758 ecore_x_randr_screen_primary_output_sizes_get(Ecore_X_Window root,
2761 ecore_x_randr_screen_primary_output_current_size_get(Ecore_X_Window root,
2768 ecore_x_randr_screen_primary_output_size_set(Ecore_X_Window root,
2770 EAPI Ecore_X_Randr_Refresh_Rate
2771 ecore_x_randr_screen_primary_output_current_refresh_rate_get(Ecore_X_Window root);
2772 EAPI Ecore_X_Randr_Refresh_Rate *
2773 ecore_x_randr_screen_primary_output_refresh_rates_get(Ecore_X_Window root,
2777 ecore_x_randr_screen_primary_output_refresh_rate_set(Ecore_X_Window root,
2779 Ecore_X_Randr_Refresh_Rate rate);
2781 /* ecore_x_randr_12.c */
2783 ecore_x_randr_events_select(Ecore_X_Window win,
2787 ecore_x_randr_screen_current_size_get(Ecore_X_Window root,
2793 ecore_x_randr_screen_size_range_get(Ecore_X_Window root,
2799 ecore_x_randr_screen_reset(Ecore_X_Window root);
2801 ecore_x_randr_screen_current_size_set(Ecore_X_Window root,
2806 EAPI Ecore_X_Randr_Mode_Info **
2807 ecore_x_randr_modes_info_get(Ecore_X_Window root,
2809 EAPI Ecore_X_Randr_Mode_Info *
2810 ecore_x_randr_mode_info_get(Ecore_X_Window root,
2811 Ecore_X_Randr_Mode mode);
2813 ecore_x_randr_mode_info_free(Ecore_X_Randr_Mode_Info *mode_info);
2814 EAPI Ecore_X_Randr_Crtc *
2815 ecore_x_randr_crtcs_get(Ecore_X_Window root,
2817 EAPI Ecore_X_Randr_Output *ecore_x_randr_outputs_get(Ecore_X_Window root,
2819 EAPI Ecore_X_Randr_Output *
2820 ecore_x_randr_window_outputs_get(Ecore_X_Window window,
2822 EINA_DEPRECATED EAPI Ecore_X_Randr_Output *
2823 ecore_x_randr_current_output_get(Ecore_X_Window window,
2825 EAPI Ecore_X_Randr_Crtc *
2826 ecore_x_randr_current_crtc_get(Ecore_X_Window window,
2828 EAPI Ecore_X_Randr_Output *
2829 ecore_x_randr_crtc_outputs_get(Ecore_X_Window root,
2830 Ecore_X_Randr_Crtc crtc,
2832 EAPI Ecore_X_Randr_Output *
2833 ecore_x_randr_crtc_possible_outputs_get(Ecore_X_Window root,
2834 Ecore_X_Randr_Crtc crtc,
2837 ecore_x_randr_crtc_geometry_get(Ecore_X_Window root,
2838 Ecore_X_Randr_Crtc crtc,
2844 ecore_x_randr_crtc_pos_get(Ecore_X_Window root,
2845 Ecore_X_Randr_Crtc crtc,
2849 ecore_x_randr_crtc_pos_set(Ecore_X_Window root,
2850 Ecore_X_Randr_Crtc crtc,
2853 EAPI Ecore_X_Randr_Mode
2854 ecore_x_randr_crtc_mode_get(Ecore_X_Window root,
2855 Ecore_X_Randr_Crtc crtc);
2857 ecore_x_randr_crtc_mode_set(Ecore_X_Window root,
2858 Ecore_X_Randr_Crtc crtc,
2859 Ecore_X_Randr_Output *outputs,
2861 Ecore_X_Randr_Mode mode);
2863 ecore_x_randr_crtc_size_get(Ecore_X_Window root,
2864 Ecore_X_Randr_Crtc crtc,
2867 EAPI Ecore_X_Randr_Refresh_Rate
2868 ecore_x_randr_crtc_refresh_rate_get(Ecore_X_Window root,
2869 Ecore_X_Randr_Crtc crtc,
2870 Ecore_X_Randr_Mode mode);
2871 EAPI Ecore_X_Randr_Orientation
2872 ecore_x_randr_crtc_orientations_get(Ecore_X_Window root,
2873 Ecore_X_Randr_Crtc crtc);
2874 EAPI Ecore_X_Randr_Orientation
2875 ecore_x_randr_crtc_orientation_get(Ecore_X_Window root,
2876 Ecore_X_Randr_Crtc crtc);
2878 ecore_x_randr_crtc_orientation_set(Ecore_X_Window root,
2879 Ecore_X_Randr_Crtc crtc,
2880 const Ecore_X_Randr_Orientation orientation);
2882 ecore_x_randr_crtc_clone_set(Ecore_X_Window root,
2883 Ecore_X_Randr_Crtc original,
2884 Ecore_X_Randr_Crtc clone);
2886 ecore_x_randr_crtc_settings_set(Ecore_X_Window root,
2887 Ecore_X_Randr_Crtc crtc,
2888 Ecore_X_Randr_Output *outputs,
2892 Ecore_X_Randr_Mode mode,
2893 Ecore_X_Randr_Orientation orientation);
2895 ecore_x_randr_crtc_pos_relative_set(Ecore_X_Window root,
2896 Ecore_X_Randr_Crtc crtc_r1,
2897 Ecore_X_Randr_Crtc crtc_r2,
2898 Ecore_X_Randr_Output_Policy policy,
2899 Ecore_X_Randr_Relative_Alignment alignment);
2900 EAPI Ecore_X_Randr_Mode *
2901 ecore_x_randr_output_modes_get(Ecore_X_Window root,
2902 Ecore_X_Randr_Output output,
2905 EAPI Ecore_X_Randr_Output *ecore_x_randr_output_clones_get(Ecore_X_Window root,
2906 Ecore_X_Randr_Output output,
2908 EAPI Ecore_X_Randr_Crtc *ecore_x_randr_output_possible_crtcs_get(Ecore_X_Window root,
2909 Ecore_X_Randr_Output output,
2911 EAPI Ecore_X_Randr_Crtc
2912 ecore_x_randr_output_crtc_get(Ecore_X_Window root,
2913 Ecore_X_Randr_Output output);
2915 ecore_x_randr_output_name_get(Ecore_X_Window root,
2916 Ecore_X_Randr_Output output,
2919 ecore_x_randr_crtc_gamma_ramp_size_get(Ecore_X_Randr_Crtc crtc);
2920 EAPI Ecore_X_Randr_Crtc_Gamma **
2921 ecore_x_randr_crtc_gamma_ramps_get(Ecore_X_Randr_Crtc crtc);
2923 ecore_x_randr_crtc_gamma_ramps_set(Ecore_X_Randr_Crtc crtc,
2924 const Ecore_X_Randr_Crtc_Gamma *red,
2925 const Ecore_X_Randr_Crtc_Gamma *green,
2926 const Ecore_X_Randr_Crtc_Gamma *blue);
2928 ecore_x_randr_move_all_crtcs_but(Ecore_X_Window root,
2929 const Ecore_X_Randr_Crtc *not_moved,
2934 ecore_x_randr_move_crtcs(Ecore_X_Window root,
2935 const Ecore_X_Randr_Crtc *crtcs,
2940 ecore_x_randr_mode_size_get(Ecore_X_Window root,
2941 Ecore_X_Randr_Mode mode,
2944 EAPI Ecore_X_Randr_Connection_Status
2945 ecore_x_randr_output_connection_status_get(Ecore_X_Window root,
2946 Ecore_X_Randr_Output output);
2948 ecore_x_randr_output_size_mm_get(Ecore_X_Window root,
2949 Ecore_X_Randr_Output output,
2953 ecore_x_randr_output_crtc_set(Ecore_X_Window root,
2954 Ecore_X_Randr_Output output,
2955 const Ecore_X_Randr_Crtc crtc);
2957 /* ecore_x_randr_12_edid.c */
2960 * @brief Validates the header from raw EDID data.
2962 * @param edid the edid structure
2963 * @param edid_length length of the edid structure
2964 * @return EINA_TRUE, if the header is valid. Else EINA_FALSE.
2967 ecore_x_randr_edid_has_valid_header(unsigned char *edid,
2968 unsigned long edid_length);
2971 * @brief Checks whether a display's EDID has a valid checksum.
2973 * @param edid the edid structure
2974 * @param edid_length length of the edid structure
2975 * @return EINA_TRUE, if the checksum is valid. Else EINA_FALSE.
2978 ecore_x_randr_edid_info_has_valid_checksum(unsigned char *edid,
2979 unsigned long edid_length);
2982 * @brief Get the encoded version from raw EDID data.
2984 * The return value has the minor version in the lowest 8 bits, and the major
2985 * version in all the rest of the bits. i.e.
2987 * minor = (version & 0x000000ff);
2988 * major = (version & 0xffffff00) >> 8;
2990 * @param edid the edid structure
2991 * @param edid_length length of the edid structure
2992 * @return The encoded major and minor version encasuplated an int.
2995 ecore_x_randr_edid_version_get(unsigned char *edid,
2996 unsigned long edid_length);
2999 * @brief Get the encoded manufacturer from raw EDID data.
3001 * @param edid the edid structure
3002 * @param edid_length length of the edid structure
3003 * @return The encoded manufacturer identifier.
3006 ecore_x_randr_edid_manufacturer_name_get(unsigned char *edid,
3007 unsigned long edid_length);
3010 * @brief Get the encoded name from raw EDID data.
3012 * @param edid the edid structure
3013 * @param edid_length length of the edid structure
3014 * @return The encoded manufacturer identifier.
3017 ecore_x_randr_edid_display_name_get(unsigned char *edid,
3018 unsigned long edid_length);
3021 * @brief Get the encoded ASCII from raw EDID data.
3023 * @param edid the edid structure
3024 * @param edid_length length of the edid structure
3025 * @return The encoded ASCII display identifier.
3028 ecore_x_randr_edid_display_ascii_get(unsigned char *edid,
3029 unsigned long edid_length);
3032 * @brief Get the encoded serial identifier from raw EDID data.
3034 * @param edid the edid structure
3035 * @param edid_length length of the edid structure
3036 * @return The encoded serial identifier.
3039 ecore_x_randr_edid_display_serial_get(unsigned char *edid,
3040 unsigned long edid_length);
3043 * @brief Get the encoded model number from raw EDID data.
3045 * The manufacturer ID table is necessary for a useful description.
3047 * @param edid the edid structure
3048 * @param edid_length length of the edid structure
3049 * @return The encoded model number.
3052 ecore_x_randr_edid_model_get(unsigned char *edid,
3053 unsigned long edid_length);
3056 * @brief Get the manufacturer serial number from raw EDID data.
3058 * @param edid the edid structure
3059 * @param edid_length length of the edid structure
3060 * @return The encoded serial manufacturer serial number.
3063 ecore_x_randr_edid_manufacturer_serial_number_get(unsigned char *edid,
3064 unsigned long edid_length);
3067 * @brief Get the manufacturer model number from raw EDID data.
3069 * @param edid the edid structure
3070 * @param edid_length length of the edid structure
3071 * @return The manufacturer's model number.
3074 ecore_x_randr_edid_manufacturer_model_get(unsigned char *edid,
3075 unsigned long edid_length);
3078 * @brief Looks up the DPMS support from raw EDID data.
3080 * @param edid the edid structure
3081 * @param edid_length length of the edid structure
3082 * @return EINA_TRUE, if DPMS is supported in some way. Else EINA_FALSE.
3085 ecore_x_randr_edid_dpms_available_get(unsigned char *edid,
3086 unsigned long edid_length);
3089 * @brief Looks up the DPMS Standby support from raw EDID data.
3091 * @param edid the edid structure
3092 * @param edid_length length of the edid structure
3093 * @return EINA_TRUE, if DPMS Standby is supported. Else EINA_FALSE.
3096 ecore_x_randr_edid_dpms_standby_available_get(unsigned char *edid,
3097 unsigned long edid_length);
3100 * @brief Looks up the DPMS Suspend support from raw EDID data.
3102 * @param edid the edid structure
3103 * @param edid_length length of the edid structure
3104 * @return EINA_TRUE, if DPMS Suspend is supported. Else EINA_FALSE.
3107 ecore_x_randr_edid_dpms_suspend_available_get(unsigned char *edid,
3108 unsigned long edid_length);
3111 * @brief Looks up the DPMS Off support from raw EDID data.
3113 * @param edid the edid structure
3114 * @param edid_length length of the edid structure
3115 * @return EINA_TRUE, if DPMS Off is supported. Else EINA_FALSE.
3118 ecore_x_randr_edid_dpms_off_available_get(unsigned char *edid,
3119 unsigned long edid_length);
3122 * @brief Get the preferred aspect ratio from raw EDID data.
3124 * @param edid the edid structure
3125 * @param edid_length length of the edid structure
3126 * @return The preferred aspect ratio.
3128 EAPI Ecore_X_Randr_Edid_Aspect_Ratio
3129 ecore_x_randr_edid_display_aspect_ratio_preferred_get(unsigned char *edid,
3130 unsigned long edid_length);
3133 * @brief Get the supported aspect ratios from raw EDID data.
3135 * @param edid the edid structure
3136 * @param edid_length length of the edid structure
3137 * @return The supported aspect ratios.
3139 EAPI Ecore_X_Randr_Edid_Aspect_Ratio
3140 ecore_x_randr_edid_display_aspect_ratios_get(unsigned char *edid,
3141 unsigned long edid_length);
3144 * @brief Get the supported colorschemes from raw EDID data.
3146 * @param edid the edid structure
3147 * @param edid_length length of the edid structure
3148 * @return The supported colorschemes.
3150 EAPI Ecore_X_Randr_Edid_Display_Colorscheme
3151 ecore_x_randr_edid_display_colorscheme_get(unsigned char *edid,
3152 unsigned long edid_length);
3155 * @brief Get the display type from raw EDID data.
3157 * @param edid the edid structure
3158 * @param edid_length length of the edid structure
3159 * @return EINA_TRUE, if the display is a digital one. Else EINA_FALSE.
3162 ecore_x_randr_edid_display_type_digital_get(unsigned char *edid,
3163 unsigned long edid_length);
3166 * @brief Get the display interface type from raw EDID data.
3168 * @param edid the edid structure
3169 * @param edid_length length of the edid structure
3170 * @return The interface type.
3172 EAPI Ecore_X_Randr_Edid_Display_Interface_Type
3173 ecore_x_randr_edid_display_interface_type_get(unsigned char *edid,
3174 unsigned long edid_length);
3176 /* ecore_x_randr_13.c */
3178 ecore_x_randr_screen_backlight_level_set(Ecore_X_Window root,
3181 ecore_x_randr_output_backlight_level_get(Ecore_X_Window root,
3182 Ecore_X_Randr_Output output);
3184 ecore_x_randr_output_backlight_level_set(Ecore_X_Window root,
3185 Ecore_X_Randr_Output output,
3187 EAPI Ecore_X_Randr_Output
3188 ecore_x_randr_primary_output_get(Ecore_X_Window root);
3190 ecore_x_randr_primary_output_set(Ecore_X_Window root,
3191 Ecore_X_Randr_Output output);
3192 EAPI Ecore_X_Render_Subpixel_Order
3193 ecore_x_randr_output_subpixel_order_get(Ecore_X_Window root,
3194 Ecore_X_Randr_Output output);
3195 EAPI unsigned char *
3196 ecore_x_randr_output_edid_get(Ecore_X_Window root,
3197 Ecore_X_Randr_Output output,
3198 unsigned long *length);
3199 EAPI Ecore_X_Randr_Output *
3200 ecore_x_randr_output_wired_clones_get(Ecore_X_Window root,
3201 Ecore_X_Randr_Output output,
3203 EAPI Ecore_X_Randr_Output **
3204 ecore_x_randr_output_compatibility_list_get(Ecore_X_Window root,
3205 Ecore_X_Randr_Output output,
3207 EAPI Ecore_X_Randr_Signal_Format *
3208 ecore_x_randr_output_signal_formats_get(Ecore_X_Window root,
3209 Ecore_X_Randr_Output output,
3212 ecore_x_randr_output_signal_format_set(Ecore_X_Window root,
3213 Ecore_X_Randr_Output output,
3214 Ecore_X_Randr_Signal_Format *signal);
3215 EAPI Ecore_X_Randr_Signal_Property *
3216 ecore_x_randr_output_signal_properties_get(Ecore_X_Window root,
3217 Ecore_X_Randr_Output output,
3220 ecore_x_randr_output_connector_number_get(Ecore_X_Window root,
3221 Ecore_X_Randr_Output output);
3222 EAPI Ecore_X_Randr_Connector_Type
3223 ecore_x_randr_output_connector_type_get(Ecore_X_Window root,
3224 Ecore_X_Randr_Output output);
3225 EAPI Eina_Rectangle *
3226 ecore_x_randr_crtc_panning_area_get(Ecore_X_Window root,
3227 Ecore_X_Randr_Crtc crtc,
3233 ecore_x_randr_crtc_panning_area_set(Ecore_X_Window root,
3234 Ecore_X_Randr_Crtc crtc,
3239 EAPI Eina_Rectangle *
3240 ecore_x_randr_crtc_tracking_area_get(Ecore_X_Window root,
3241 Ecore_X_Randr_Crtc crtc,
3247 ecore_x_randr_crtc_tracking_area_set(Ecore_X_Window root,
3248 Ecore_X_Randr_Crtc crtc,
3253 EAPI Eina_Rectangle *
3254 ecore_x_randr_crtc_border_area_get(Ecore_X_Window root,
3255 Ecore_X_Randr_Crtc crtc);
3257 ecore_x_randr_crtc_border_area_set(Ecore_X_Window root,
3258 Ecore_X_Randr_Crtc crtc,
3264 /* XRender Support (horrendously incomplete) */
3265 typedef Ecore_X_ID Ecore_X_Picture;
3267 /* XFixes Extension Support */
3268 typedef Ecore_X_ID Ecore_X_Region;
3270 typedef enum _Ecore_X_Region_Type
3272 ECORE_X_REGION_BOUNDING,
3274 } Ecore_X_Region_Type;
3277 ecore_x_region_new(Ecore_X_Rectangle *rects,
3280 ecore_x_region_new_from_bitmap(Ecore_X_Pixmap bitmap);
3282 ecore_x_region_new_from_window(Ecore_X_Window win,
3283 Ecore_X_Region_Type type);
3285 ecore_x_region_new_from_gc(Ecore_X_GC gc);
3287 ecore_x_region_new_from_picture(Ecore_X_Picture picture);
3289 ecore_x_region_free(Ecore_X_Region region);
3291 ecore_x_region_set(Ecore_X_Region region,
3292 Ecore_X_Rectangle *rects,
3295 ecore_x_region_copy(Ecore_X_Region dest,
3296 Ecore_X_Region source);
3298 ecore_x_region_combine(Ecore_X_Region dest,
3299 Ecore_X_Region source1,
3300 Ecore_X_Region source2);
3302 ecore_x_region_intersect(Ecore_X_Region dest,
3303 Ecore_X_Region source1,
3304 Ecore_X_Region source2);
3306 ecore_x_region_subtract(Ecore_X_Region dest,
3307 Ecore_X_Region source1,
3308 Ecore_X_Region source2);
3310 ecore_x_region_invert(Ecore_X_Region dest,
3311 Ecore_X_Rectangle *bounds,
3312 Ecore_X_Region source);
3314 ecore_x_region_translate(Ecore_X_Region region,
3318 ecore_x_region_extents(Ecore_X_Region dest,
3319 Ecore_X_Region source);
3320 EAPI Ecore_X_Rectangle *
3321 ecore_x_region_fetch(Ecore_X_Region region,
3323 Ecore_X_Rectangle *bounds);
3325 ecore_x_region_expand(Ecore_X_Region dest,
3326 Ecore_X_Region source,
3330 unsigned int bottom);
3332 ecore_x_region_gc_clip_set(Ecore_X_Region region,
3337 ecore_x_region_window_shape_set(Ecore_X_Region region,
3339 Ecore_X_Shape_Type type,
3343 ecore_x_region_picture_clip_set(Ecore_X_Region region,
3344 Ecore_X_Picture picture,
3349 * xfixes selection notification request.
3351 * This lets you choose which selections you want to get notifications for.
3352 * @param selection the selection atom.
3353 * @return EINA_TRUE on success, EINA_FALSE otherwise.
3357 ecore_x_fixes_selection_notification_request(Ecore_X_Atom selection);
3359 /* XComposite Extension Support */
3361 ecore_x_composite_query(void);
3363 ecore_x_composite_redirect_window(Ecore_X_Window win,
3364 Ecore_X_Composite_Update_Type type);
3366 ecore_x_composite_redirect_subwindows(Ecore_X_Window win,
3367 Ecore_X_Composite_Update_Type type);
3369 ecore_x_composite_unredirect_window(Ecore_X_Window win,
3370 Ecore_X_Composite_Update_Type type);
3372 ecore_x_composite_unredirect_subwindows(Ecore_X_Window win,
3373 Ecore_X_Composite_Update_Type type);
3375 ecore_x_composite_name_window_pixmap_get(Ecore_X_Window win);
3377 ecore_x_composite_window_events_disable(Ecore_X_Window win);
3379 ecore_x_composite_window_events_enable(Ecore_X_Window win);
3381 ecore_x_composite_render_window_enable(Ecore_X_Window root);
3383 ecore_x_composite_render_window_disable(Ecore_X_Window root);
3385 /* XDamage Extension Support */
3386 typedef Ecore_X_ID Ecore_X_Damage;
3388 typedef enum _Ecore_X_Damage_Report_Level
3390 ECORE_X_DAMAGE_REPORT_RAW_RECTANGLES,
3391 ECORE_X_DAMAGE_REPORT_DELTA_RECTANGLES,
3392 ECORE_X_DAMAGE_REPORT_BOUNDING_BOX,
3393 ECORE_X_DAMAGE_REPORT_NON_EMPTY
3394 } Ecore_X_Damage_Report_Level;
3396 struct _Ecore_X_Event_Damage
3398 Ecore_X_Damage_Report_Level level;
3399 Ecore_X_Drawable drawable;
3400 Ecore_X_Damage damage;
3403 Ecore_X_Rectangle area;
3404 Ecore_X_Rectangle geometry;
3407 typedef struct _Ecore_X_Event_Damage Ecore_X_Event_Damage;
3410 ecore_x_damage_query(void);
3412 ecore_x_damage_new(Ecore_X_Drawable d,
3413 Ecore_X_Damage_Report_Level level);
3415 ecore_x_damage_free(Ecore_X_Damage damage);
3417 ecore_x_damage_subtract(Ecore_X_Damage damage,
3418 Ecore_X_Region repair,
3419 Ecore_X_Region parts);
3422 ecore_x_screen_is_composited(int screen);
3424 ecore_x_screen_is_composited_set(int screen,
3425 Ecore_X_Window win);
3428 ecore_x_dpms_query(void);
3430 ecore_x_dpms_capable_get(void);
3432 ecore_x_dpms_enabled_get(void);
3434 ecore_x_dpms_enabled_set(int enabled);
3436 ecore_x_dpms_timeouts_get(unsigned int *standby,
3437 unsigned int *suspend,
3440 ecore_x_dpms_timeouts_set(unsigned int standby,
3441 unsigned int suspend,
3444 ecore_x_dpms_timeout_standby_get(void);
3446 ecore_x_dpms_timeout_suspend_get(void);
3448 ecore_x_dpms_timeout_off_get(void);
3450 ecore_x_dpms_timeout_standby_set(unsigned int new_timeout);
3452 ecore_x_dpms_timeout_suspend_set(unsigned int new_timeout);
3454 ecore_x_dpms_timeout_off_set(unsigned int new_timeout);
3457 ecore_x_test_fake_key_down(const char *key);
3459 ecore_x_test_fake_key_up(const char *key);
3461 ecore_x_test_fake_key_press(const char *key);
3463 ecore_x_keysym_string_get(int keysym);
3465 typedef struct _Ecore_X_Image Ecore_X_Image;
3467 EAPI Ecore_X_Image *
3468 ecore_x_image_new(int w,
3473 ecore_x_image_free(Ecore_X_Image *im);
3475 ecore_x_image_get(Ecore_X_Image *im,
3476 Ecore_X_Drawable draw,
3484 ecore_x_image_put(Ecore_X_Image *im,
3485 Ecore_X_Drawable draw,
3494 ecore_x_image_data_get(Ecore_X_Image *im,
3499 ecore_x_image_is_argb32_get(Ecore_X_Image *im);
3502 ecore_x_image_to_argb_convert(void *src,
3517 ecore_x_input_multi_select(Ecore_X_Window win);
3520 ecore_x_vsync_animator_tick_source_set(Ecore_X_Window win);
3524 #endif // ifdef __cplusplus
3526 #include <Ecore_X_Atoms.h>
3527 #include <Ecore_X_Cursor.h>
3529 #endif // ifndef _ECORE_X_H