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