diff options
Diffstat (limited to 'libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c')
-rw-r--r-- | libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c | 1307 |
1 files changed, 0 insertions, 1307 deletions
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c deleted file mode 100644 index 60bfc9c..0000000 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c +++ /dev/null | |||
@@ -1,1307 +0,0 @@ | |||
1 | #include "ecore_xcb_private.h" | ||
2 | |||
3 | /* local function prototypes */ | ||
4 | static Ecore_X_Atom _ecore_xcb_e_vkbd_atom_get(Ecore_X_Virtual_Keyboard_State state); | ||
5 | static Ecore_X_Virtual_Keyboard_State _ecore_xcb_e_vkbd_state_get(Ecore_X_Atom atom); | ||
6 | static Ecore_X_Atom _ecore_xcb_e_quickpanel_atom_get(Ecore_X_Illume_Quickpanel_State state); | ||
7 | static Ecore_X_Illume_Quickpanel_State _ecore_xcb_e_quickpanel_state_get(Ecore_X_Atom atom); | ||
8 | static Ecore_X_Atom _ecore_xcb_e_illume_atom_get(Ecore_X_Illume_Mode mode); | ||
9 | static Ecore_X_Illume_Mode _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom); | ||
10 | static Ecore_X_Atom _ecore_xcb_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state); | ||
11 | static Ecore_X_Illume_Indicator_State _ecore_xcb_e_indicator_state_get(Ecore_X_Atom atom); | ||
12 | |||
13 | EAPI void | ||
14 | ecore_x_e_init(void) | ||
15 | { | ||
16 | } | ||
17 | |||
18 | EAPI void | ||
19 | ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root, | ||
20 | Ecore_X_Window win) | ||
21 | { | ||
22 | xcb_client_message_event_t ev; | ||
23 | |||
24 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
25 | CHECK_XCB_CONN; | ||
26 | |||
27 | if (!root) root = ((xcb_screen_t *)_ecore_xcb_screen)->root; | ||
28 | |||
29 | memset(&ev, 0, sizeof(xcb_client_message_event_t)); | ||
30 | |||
31 | ev.response_type = XCB_CLIENT_MESSAGE; | ||
32 | ev.format = 32; | ||
33 | ev.window = win; | ||
34 | ev.type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE; | ||
35 | ev.data.data32[0] = win; | ||
36 | ev.data.data32[1] = 0; | ||
37 | ev.data.data32[2] = 0; | ||
38 | ev.data.data32[3] = 0; | ||
39 | ev.data.data32[4] = 0; | ||
40 | |||
41 | xcb_send_event(_ecore_xcb_conn, 0, root, | ||
42 | (XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | | ||
43 | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY), (const char *)&ev); | ||
44 | // ecore_x_flush(); | ||
45 | } | ||
46 | |||
47 | EAPI void | ||
48 | ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root, | ||
49 | Ecore_X_Window win, | ||
50 | int w, | ||
51 | int h) | ||
52 | { | ||
53 | xcb_client_message_event_t ev; | ||
54 | |||
55 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
56 | CHECK_XCB_CONN; | ||
57 | |||
58 | if (!root) root = ((xcb_screen_t *)_ecore_xcb_screen)->root; | ||
59 | |||
60 | memset(&ev, 0, sizeof(xcb_client_message_event_t)); | ||
61 | |||
62 | ev.response_type = XCB_CLIENT_MESSAGE; | ||
63 | ev.format = 32; | ||
64 | ev.window = win; | ||
65 | ev.type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE; | ||
66 | ev.data.data32[0] = win; | ||
67 | ev.data.data32[1] = 1; | ||
68 | ev.data.data32[2] = w; | ||
69 | ev.data.data32[3] = h; | ||
70 | ev.data.data32[4] = 0; | ||
71 | |||
72 | xcb_send_event(_ecore_xcb_conn, 0, root, | ||
73 | (XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | | ||
74 | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY), (const char *)&ev); | ||
75 | // ecore_x_flush(); | ||
76 | } | ||
77 | |||
78 | EAPI void | ||
79 | ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, | ||
80 | Ecore_X_Sync_Counter counter) | ||
81 | { | ||
82 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
83 | |||
84 | if (counter) | ||
85 | ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER, | ||
86 | ECORE_X_ATOM_CARDINAL, &counter, 1); | ||
87 | else | ||
88 | ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER); | ||
89 | } | ||
90 | |||
91 | EAPI Ecore_X_Sync_Counter | ||
92 | ecore_x_e_comp_sync_counter_get(Ecore_X_Window win) | ||
93 | { | ||
94 | Ecore_X_Sync_Counter counter = 0; | ||
95 | int ret = 0; | ||
96 | |||
97 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
98 | |||
99 | ret = ecore_x_window_prop_xid_get(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER, | ||
100 | ECORE_X_ATOM_CARDINAL, &counter, 1); | ||
101 | if (ret != 1) return 0; | ||
102 | return counter; | ||
103 | } | ||
104 | |||
105 | EAPI Eina_Bool | ||
106 | ecore_x_e_comp_sync_supported_get(Ecore_X_Window root) | ||
107 | { | ||
108 | Ecore_X_Window win, win2; | ||
109 | int ret = 0; | ||
110 | |||
111 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
112 | |||
113 | if (!root) root = ((xcb_screen_t *)_ecore_xcb_screen)->root; | ||
114 | ret = | ||
115 | ecore_x_window_prop_xid_get(root, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED, | ||
116 | ECORE_X_ATOM_WINDOW, &win, 1); | ||
117 | if ((ret == 1) && (win)) | ||
118 | { | ||
119 | ret = | ||
120 | ecore_x_window_prop_xid_get(win, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED, | ||
121 | ECORE_X_ATOM_WINDOW, &win2, 1); | ||
122 | if ((ret == 1) && (win2 == win)) | ||
123 | return EINA_TRUE; | ||
124 | } | ||
125 | return EINA_FALSE; | ||
126 | } | ||
127 | |||
128 | EAPI void | ||
129 | ecore_x_e_comp_sync_supported_set(Ecore_X_Window root, | ||
130 | Eina_Bool enabled) | ||
131 | { | ||
132 | Ecore_X_Window win; | ||
133 | |||
134 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
135 | |||
136 | if (!root) root = ((xcb_screen_t *)_ecore_xcb_screen)->root; | ||
137 | if (enabled) | ||
138 | { | ||
139 | win = ecore_x_window_new(root, 1, 2, 3, 4); | ||
140 | ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED, | ||
141 | ECORE_X_ATOM_WINDOW, &win, 1); | ||
142 | ecore_x_window_prop_xid_set(root, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED, | ||
143 | ECORE_X_ATOM_WINDOW, &win, 1); | ||
144 | } | ||
145 | else | ||
146 | { | ||
147 | int ret = 0; | ||
148 | |||
149 | ret = ecore_x_window_prop_xid_get(root, | ||
150 | ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED, | ||
151 | ECORE_X_ATOM_WINDOW, &win, 1); | ||
152 | if ((ret == 1) && (win)) | ||
153 | { | ||
154 | ecore_x_window_prop_property_del(root, | ||
155 | ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED); | ||
156 | ecore_x_window_free(win); | ||
157 | } | ||
158 | } | ||
159 | } | ||
160 | |||
161 | EAPI void | ||
162 | ecore_x_e_comp_sync_begin_send(Ecore_X_Window win) | ||
163 | { | ||
164 | xcb_client_message_event_t ev; | ||
165 | |||
166 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
167 | CHECK_XCB_CONN; | ||
168 | |||
169 | memset(&ev, 0, sizeof(xcb_client_message_event_t)); | ||
170 | |||
171 | ev.response_type = XCB_CLIENT_MESSAGE; | ||
172 | ev.format = 32; | ||
173 | ev.window = win; | ||
174 | ev.type = ECORE_X_ATOM_E_COMP_SYNC_BEGIN; | ||
175 | ev.data.data32[0] = win; | ||
176 | ev.data.data32[1] = 0; | ||
177 | ev.data.data32[2] = 0; | ||
178 | ev.data.data32[3] = 0; | ||
179 | ev.data.data32[4] = 0; | ||
180 | |||
181 | xcb_send_event(_ecore_xcb_conn, 0, win, | ||
182 | XCB_EVENT_MASK_NO_EVENT, (const char *)&ev); | ||
183 | // ecore_x_flush(); | ||
184 | } | ||
185 | |||
186 | EAPI void | ||
187 | ecore_x_e_comp_sync_end_send(Ecore_X_Window win) | ||
188 | { | ||
189 | xcb_client_message_event_t ev; | ||
190 | |||
191 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
192 | CHECK_XCB_CONN; | ||
193 | |||
194 | memset(&ev, 0, sizeof(xcb_client_message_event_t)); | ||
195 | |||
196 | ev.response_type = XCB_CLIENT_MESSAGE; | ||
197 | ev.format = 32; | ||
198 | ev.window = win; | ||
199 | ev.type = ECORE_X_ATOM_E_COMP_SYNC_END; | ||
200 | ev.data.data32[0] = win; | ||
201 | ev.data.data32[1] = 0; | ||
202 | ev.data.data32[2] = 0; | ||
203 | ev.data.data32[3] = 0; | ||
204 | ev.data.data32[4] = 0; | ||
205 | |||
206 | xcb_send_event(_ecore_xcb_conn, 0, win, | ||
207 | XCB_EVENT_MASK_NO_EVENT, (const char *)&ev); | ||
208 | // ecore_x_flush(); | ||
209 | } | ||
210 | |||
211 | EAPI void | ||
212 | ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win) | ||
213 | { | ||
214 | xcb_client_message_event_t ev; | ||
215 | |||
216 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
217 | CHECK_XCB_CONN; | ||
218 | |||
219 | memset(&ev, 0, sizeof(xcb_client_message_event_t)); | ||
220 | |||
221 | ev.response_type = XCB_CLIENT_MESSAGE; | ||
222 | ev.format = 32; | ||
223 | ev.window = win; | ||
224 | ev.type = ECORE_X_ATOM_E_COMP_SYNC_CANCEL; | ||
225 | ev.data.data32[0] = win; | ||
226 | ev.data.data32[1] = 0; | ||
227 | ev.data.data32[2] = 0; | ||
228 | ev.data.data32[3] = 0; | ||
229 | ev.data.data32[4] = 0; | ||
230 | |||
231 | xcb_send_event(_ecore_xcb_conn, 0, win, | ||
232 | XCB_EVENT_MASK_NO_EVENT, (const char *)&ev); | ||
233 | // ecore_x_flush(); | ||
234 | } | ||
235 | |||
236 | EAPI void | ||
237 | ecore_x_e_comp_flush_send(Ecore_X_Window win) | ||
238 | { | ||
239 | xcb_client_message_event_t ev; | ||
240 | |||
241 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
242 | CHECK_XCB_CONN; | ||
243 | |||
244 | memset(&ev, 0, sizeof(xcb_client_message_event_t)); | ||
245 | |||
246 | ev.response_type = XCB_CLIENT_MESSAGE; | ||
247 | ev.format = 32; | ||
248 | ev.window = win; | ||
249 | ev.type = ECORE_X_ATOM_E_COMP_FLUSH; | ||
250 | ev.data.data32[0] = win; | ||
251 | ev.data.data32[1] = 0; | ||
252 | ev.data.data32[2] = 0; | ||
253 | ev.data.data32[3] = 0; | ||
254 | ev.data.data32[4] = 0; | ||
255 | |||
256 | xcb_send_event(_ecore_xcb_conn, 0, win, | ||
257 | XCB_EVENT_MASK_NO_EVENT, (const char *)&ev); | ||
258 | // ecore_x_flush(); | ||
259 | } | ||
260 | |||
261 | EAPI void | ||
262 | ecore_x_e_comp_dump_send(Ecore_X_Window win) | ||
263 | { | ||
264 | xcb_client_message_event_t ev; | ||
265 | |||
266 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
267 | CHECK_XCB_CONN; | ||
268 | |||
269 | memset(&ev, 0, sizeof(xcb_client_message_event_t)); | ||
270 | |||
271 | ev.response_type = XCB_CLIENT_MESSAGE; | ||
272 | ev.format = 32; | ||
273 | ev.window = win; | ||
274 | ev.type = ECORE_X_ATOM_E_COMP_DUMP; | ||
275 | ev.data.data32[0] = win; | ||
276 | ev.data.data32[1] = 0; | ||
277 | ev.data.data32[2] = 0; | ||
278 | ev.data.data32[3] = 0; | ||
279 | ev.data.data32[4] = 0; | ||
280 | |||
281 | xcb_send_event(_ecore_xcb_conn, 0, win, | ||
282 | XCB_EVENT_MASK_NO_EVENT, (const char *)&ev); | ||
283 | // ecore_x_flush(); | ||
284 | } | ||
285 | |||
286 | EAPI void | ||
287 | ecore_x_e_comp_pixmap_set(Ecore_X_Window win, | ||
288 | Ecore_X_Pixmap pixmap) | ||
289 | { | ||
290 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
291 | |||
292 | if (pixmap) | ||
293 | ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_PIXMAP, | ||
294 | ECORE_X_ATOM_PIXMAP, &pixmap, 1); | ||
295 | else | ||
296 | ecore_x_window_prop_property_del(win, pixmap); | ||
297 | } | ||
298 | |||
299 | EAPI Ecore_X_Pixmap | ||
300 | ecore_x_e_comp_pixmap_get(Ecore_X_Window win) | ||
301 | { | ||
302 | Ecore_X_Pixmap pixmap = 0; | ||
303 | int ret = 0; | ||
304 | |||
305 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
306 | |||
307 | ret = ecore_x_window_prop_xid_get(win, ECORE_X_ATOM_E_COMP_PIXMAP, | ||
308 | ECORE_X_ATOM_PIXMAP, &pixmap, 1); | ||
309 | if (ret != 1) return 0; | ||
310 | return pixmap; | ||
311 | } | ||
312 | |||
313 | EAPI void | ||
314 | ecore_x_e_frame_size_set(Ecore_X_Window win, | ||
315 | int fl, | ||
316 | int fr, | ||
317 | int ft, | ||
318 | int fb) | ||
319 | { | ||
320 | uint32_t frames[4]; | ||
321 | |||
322 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
323 | |||
324 | frames[0] = fl; | ||
325 | frames[1] = fr; | ||
326 | frames[2] = ft; | ||
327 | frames[3] = fb; | ||
328 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_FRAME_SIZE, frames, 4); | ||
329 | } | ||
330 | |||
331 | EAPI Ecore_X_Virtual_Keyboard_State | ||
332 | ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win) | ||
333 | { | ||
334 | Ecore_X_Atom atom = 0; | ||
335 | |||
336 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
337 | |||
338 | if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE, | ||
339 | &atom, 1)) | ||
340 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN; | ||
341 | |||
342 | return _ecore_xcb_e_vkbd_state_get(atom); | ||
343 | } | ||
344 | |||
345 | EAPI void | ||
346 | ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win, | ||
347 | Ecore_X_Virtual_Keyboard_State state) | ||
348 | { | ||
349 | Ecore_X_Atom atom = 0; | ||
350 | |||
351 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
352 | |||
353 | atom = _ecore_xcb_e_vkbd_atom_get(state); | ||
354 | ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE, | ||
355 | &atom, 1); | ||
356 | } | ||
357 | |||
358 | EAPI void | ||
359 | ecore_x_e_virtual_keyboard_state_send(Ecore_X_Window win, | ||
360 | Ecore_X_Virtual_Keyboard_State state) | ||
361 | { | ||
362 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
363 | |||
364 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE, | ||
365 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
366 | _ecore_xcb_e_vkbd_atom_get(state), | ||
367 | 0, 0, 0, 0); | ||
368 | } | ||
369 | |||
370 | EAPI void | ||
371 | ecore_x_e_virtual_keyboard_set(Ecore_X_Window win, | ||
372 | unsigned int is_keyboard) | ||
373 | { | ||
374 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
375 | |||
376 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD, | ||
377 | &is_keyboard, 1); | ||
378 | } | ||
379 | |||
380 | EAPI Eina_Bool | ||
381 | ecore_x_e_virtual_keyboard_get(Ecore_X_Window win) | ||
382 | { | ||
383 | unsigned int val = 0; | ||
384 | |||
385 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
386 | |||
387 | if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD, | ||
388 | &val, 1)) | ||
389 | return EINA_FALSE; | ||
390 | |||
391 | return val ? EINA_TRUE : EINA_FALSE; | ||
392 | } | ||
393 | |||
394 | EAPI int | ||
395 | ecore_x_e_illume_quickpanel_priority_major_get(Ecore_X_Window win) | ||
396 | { | ||
397 | unsigned int val = 0; | ||
398 | |||
399 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
400 | |||
401 | if (!ecore_x_window_prop_card32_get(win, | ||
402 | ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR, | ||
403 | &val, 1)) | ||
404 | return 0; | ||
405 | |||
406 | return val; | ||
407 | } | ||
408 | |||
409 | EAPI void | ||
410 | ecore_x_e_illume_quickpanel_priority_major_set(Ecore_X_Window win, | ||
411 | unsigned int priority) | ||
412 | { | ||
413 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
414 | |||
415 | ecore_x_window_prop_card32_set(win, | ||
416 | ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR, | ||
417 | &priority, 1); | ||
418 | } | ||
419 | |||
420 | EAPI int | ||
421 | ecore_x_e_illume_quickpanel_priority_minor_get(Ecore_X_Window win) | ||
422 | { | ||
423 | unsigned int val = 0; | ||
424 | |||
425 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
426 | |||
427 | if (!ecore_x_window_prop_card32_get(win, | ||
428 | ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR, | ||
429 | &val, 1)) | ||
430 | return 0; | ||
431 | |||
432 | return val; | ||
433 | } | ||
434 | |||
435 | EAPI void | ||
436 | ecore_x_e_illume_quickpanel_priority_minor_set(Ecore_X_Window win, | ||
437 | unsigned int priority) | ||
438 | { | ||
439 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
440 | |||
441 | ecore_x_window_prop_card32_set(win, | ||
442 | ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR, | ||
443 | &priority, 1); | ||
444 | } | ||
445 | |||
446 | EAPI void | ||
447 | ecore_x_e_illume_quickpanel_zone_set(Ecore_X_Window win, | ||
448 | unsigned int zone) | ||
449 | { | ||
450 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
451 | |||
452 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE, | ||
453 | &zone, 1); | ||
454 | } | ||
455 | |||
456 | EAPI int | ||
457 | ecore_x_e_illume_quickpanel_zone_get(Ecore_X_Window win) | ||
458 | { | ||
459 | unsigned int val = 0; | ||
460 | |||
461 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
462 | |||
463 | if (!ecore_x_window_prop_card32_get(win, | ||
464 | ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE, | ||
465 | &val, 1)) | ||
466 | return 0; | ||
467 | |||
468 | return val; | ||
469 | } | ||
470 | |||
471 | EAPI void | ||
472 | ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win) | ||
473 | { | ||
474 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
475 | |||
476 | ecore_x_client_message32_send(win, | ||
477 | ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE, | ||
478 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
479 | 1, 0, 0, 0, 0); | ||
480 | } | ||
481 | |||
482 | EAPI Eina_Bool | ||
483 | ecore_x_e_illume_conformant_get(Ecore_X_Window win) | ||
484 | { | ||
485 | unsigned int val = 0; | ||
486 | |||
487 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
488 | |||
489 | if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT, | ||
490 | &val, 1)) | ||
491 | return EINA_FALSE; | ||
492 | |||
493 | return val ? EINA_TRUE : EINA_FALSE; | ||
494 | } | ||
495 | |||
496 | EAPI void | ||
497 | ecore_x_e_illume_conformant_set(Ecore_X_Window win, | ||
498 | unsigned int is_conformant) | ||
499 | { | ||
500 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
501 | |||
502 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT, | ||
503 | &is_conformant, 1); | ||
504 | } | ||
505 | |||
506 | EAPI void | ||
507 | ecore_x_e_illume_softkey_geometry_set(Ecore_X_Window win, | ||
508 | int x, | ||
509 | int y, | ||
510 | int w, | ||
511 | int h) | ||
512 | { | ||
513 | unsigned int geom[4]; | ||
514 | |||
515 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
516 | |||
517 | geom[0] = x; | ||
518 | geom[1] = y; | ||
519 | geom[2] = w; | ||
520 | geom[3] = h; | ||
521 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY, | ||
522 | geom, 4); | ||
523 | } | ||
524 | |||
525 | EAPI Eina_Bool | ||
526 | ecore_x_e_illume_softkey_geometry_get(Ecore_X_Window win, | ||
527 | int *x, | ||
528 | int *y, | ||
529 | int *w, | ||
530 | int *h) | ||
531 | { | ||
532 | unsigned int geom[4]; | ||
533 | |||
534 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
535 | |||
536 | if (x) *x = 0; | ||
537 | if (y) *y = 0; | ||
538 | if (w) *w = 0; | ||
539 | if (h) *h = 0; | ||
540 | |||
541 | if (ecore_x_window_prop_card32_get(win, | ||
542 | ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY, | ||
543 | geom, 4) != 4) | ||
544 | return EINA_FALSE; | ||
545 | |||
546 | if (x) *x = geom[0]; | ||
547 | if (y) *y = geom[1]; | ||
548 | if (w) *w = geom[2]; | ||
549 | if (h) *h = geom[3]; | ||
550 | |||
551 | return EINA_TRUE; | ||
552 | } | ||
553 | |||
554 | EAPI void | ||
555 | ecore_x_e_illume_indicator_geometry_set(Ecore_X_Window win, | ||
556 | int x, | ||
557 | int y, | ||
558 | int w, | ||
559 | int h) | ||
560 | { | ||
561 | unsigned int geom[4]; | ||
562 | |||
563 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
564 | |||
565 | geom[0] = x; | ||
566 | geom[1] = y; | ||
567 | geom[2] = w; | ||
568 | geom[3] = h; | ||
569 | ecore_x_window_prop_card32_set(win, | ||
570 | ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY, | ||
571 | geom, 4); | ||
572 | } | ||
573 | |||
574 | EAPI Eina_Bool | ||
575 | ecore_x_e_illume_indicator_geometry_get(Ecore_X_Window win, | ||
576 | int *x, | ||
577 | int *y, | ||
578 | int *w, | ||
579 | int *h) | ||
580 | { | ||
581 | unsigned int geom[4]; | ||
582 | |||
583 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
584 | |||
585 | if (x) *x = 0; | ||
586 | if (y) *y = 0; | ||
587 | if (w) *w = 0; | ||
588 | if (h) *h = 0; | ||
589 | |||
590 | if (ecore_x_window_prop_card32_get(win, | ||
591 | ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY, | ||
592 | geom, 4) != 4) | ||
593 | return EINA_FALSE; | ||
594 | |||
595 | if (x) *x = geom[0]; | ||
596 | if (y) *y = geom[1]; | ||
597 | if (w) *w = geom[2]; | ||
598 | if (h) *h = geom[3]; | ||
599 | |||
600 | return EINA_TRUE; | ||
601 | } | ||
602 | |||
603 | EAPI void | ||
604 | ecore_x_e_illume_keyboard_geometry_set(Ecore_X_Window win, | ||
605 | int x, | ||
606 | int y, | ||
607 | int w, | ||
608 | int h) | ||
609 | { | ||
610 | unsigned int geom[4]; | ||
611 | |||
612 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
613 | |||
614 | geom[0] = x; | ||
615 | geom[1] = y; | ||
616 | geom[2] = w; | ||
617 | geom[3] = h; | ||
618 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY, | ||
619 | geom, 4); | ||
620 | } | ||
621 | |||
622 | EAPI Eina_Bool | ||
623 | ecore_x_e_illume_keyboard_geometry_get(Ecore_X_Window win, | ||
624 | int *x, | ||
625 | int *y, | ||
626 | int *w, | ||
627 | int *h) | ||
628 | { | ||
629 | unsigned int geom[4]; | ||
630 | |||
631 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
632 | |||
633 | if (x) *x = 0; | ||
634 | if (y) *y = 0; | ||
635 | if (w) *w = 0; | ||
636 | if (h) *h = 0; | ||
637 | |||
638 | if (ecore_x_window_prop_card32_get(win, | ||
639 | ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY, | ||
640 | geom, 4) != 4) | ||
641 | return EINA_FALSE; | ||
642 | |||
643 | if (x) *x = geom[0]; | ||
644 | if (y) *y = geom[1]; | ||
645 | if (w) *w = geom[2]; | ||
646 | if (h) *h = geom[3]; | ||
647 | |||
648 | return EINA_TRUE; | ||
649 | } | ||
650 | |||
651 | EAPI void | ||
652 | ecore_x_e_illume_quickpanel_set(Ecore_X_Window win, | ||
653 | unsigned int is_quickpanel) | ||
654 | { | ||
655 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
656 | |||
657 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL, | ||
658 | &is_quickpanel, 1); | ||
659 | } | ||
660 | |||
661 | EAPI Eina_Bool | ||
662 | ecore_x_e_illume_quickpanel_get(Ecore_X_Window win) | ||
663 | { | ||
664 | unsigned int val = 0; | ||
665 | |||
666 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
667 | |||
668 | if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL, | ||
669 | &val, 1)) | ||
670 | return EINA_FALSE; | ||
671 | |||
672 | return val ? EINA_TRUE : EINA_FALSE; | ||
673 | } | ||
674 | |||
675 | EAPI void | ||
676 | ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win, | ||
677 | Ecore_X_Illume_Quickpanel_State state) | ||
678 | { | ||
679 | Ecore_X_Atom atom = 0; | ||
680 | |||
681 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
682 | |||
683 | atom = _ecore_xcb_e_quickpanel_atom_get(state); | ||
684 | ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE, | ||
685 | &atom, 1); | ||
686 | } | ||
687 | |||
688 | EAPI Ecore_X_Illume_Quickpanel_State | ||
689 | ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win) | ||
690 | { | ||
691 | Ecore_X_Atom atom = 0; | ||
692 | |||
693 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
694 | |||
695 | if (!ecore_x_window_prop_atom_get(win, | ||
696 | ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE, | ||
697 | &atom, 1)) | ||
698 | return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN; | ||
699 | |||
700 | return _ecore_xcb_e_quickpanel_state_get(atom); | ||
701 | } | ||
702 | |||
703 | EAPI void | ||
704 | ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win, | ||
705 | Ecore_X_Illume_Quickpanel_State state) | ||
706 | { | ||
707 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
708 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE, | ||
709 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
710 | _ecore_xcb_e_quickpanel_atom_get(state), | ||
711 | 0, 0, 0, 0); | ||
712 | } | ||
713 | |||
714 | EAPI void | ||
715 | ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win) | ||
716 | { | ||
717 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
718 | ecore_x_client_message32_send(win, | ||
719 | ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE_TOGGLE, | ||
720 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
721 | 0, 0, 0, 0, 0); | ||
722 | } | ||
723 | |||
724 | static Ecore_X_Atom | ||
725 | _ecore_xcb_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state) | ||
726 | { | ||
727 | switch (state) | ||
728 | { | ||
729 | case ECORE_X_ILLUME_CLIPBOARD_STATE_ON: | ||
730 | return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; | ||
731 | case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF: | ||
732 | return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; | ||
733 | default: | ||
734 | break; | ||
735 | } | ||
736 | return 0; | ||
737 | } | ||
738 | |||
739 | static Ecore_X_Illume_Clipboard_State | ||
740 | _ecore_xcb_e_clipboard_state_get(Ecore_X_Atom atom) | ||
741 | { | ||
742 | if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON) | ||
743 | return ECORE_X_ILLUME_CLIPBOARD_STATE_ON; | ||
744 | |||
745 | if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF) | ||
746 | return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF; | ||
747 | |||
748 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
749 | } | ||
750 | |||
751 | EAPI void | ||
752 | ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, | ||
753 | Ecore_X_Illume_Clipboard_State state) | ||
754 | { | ||
755 | Ecore_X_Atom atom = 0; | ||
756 | |||
757 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
758 | atom = _ecore_xcb_e_clipboard_atom_get(state); | ||
759 | |||
760 | ecore_x_window_prop_atom_set(win, | ||
761 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, | ||
762 | &atom, 1); | ||
763 | } | ||
764 | |||
765 | EAPI Ecore_X_Illume_Clipboard_State | ||
766 | ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win) | ||
767 | { | ||
768 | Ecore_X_Atom atom = 0; | ||
769 | |||
770 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
771 | |||
772 | if (!ecore_x_window_prop_atom_get(win, | ||
773 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, | ||
774 | &atom, 1)) | ||
775 | return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN; | ||
776 | return _ecore_xcb_e_clipboard_state_get(atom); | ||
777 | } | ||
778 | |||
779 | EAPI void | ||
780 | ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, | ||
781 | int x, int y, int w, int h) | ||
782 | { | ||
783 | unsigned int geom[4]; | ||
784 | |||
785 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
786 | geom[0] = x; | ||
787 | geom[1] = y; | ||
788 | geom[2] = w; | ||
789 | geom[3] = h; | ||
790 | ecore_x_window_prop_card32_set(win, | ||
791 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, | ||
792 | geom, 4); | ||
793 | } | ||
794 | |||
795 | EAPI Eina_Bool | ||
796 | ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, | ||
797 | int *x, int *y, int *w, int *h) | ||
798 | { | ||
799 | int ret = 0; | ||
800 | unsigned int geom[4]; | ||
801 | |||
802 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
803 | ret = | ||
804 | ecore_x_window_prop_card32_get(win, | ||
805 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, | ||
806 | geom, 4); | ||
807 | if (ret != 4) return EINA_FALSE; | ||
808 | |||
809 | if (x) *x = geom[0]; | ||
810 | if (y) *y = geom[1]; | ||
811 | if (w) *w = geom[2]; | ||
812 | if (h) *h = geom[3]; | ||
813 | |||
814 | return EINA_TRUE; | ||
815 | } | ||
816 | |||
817 | EAPI void | ||
818 | ecore_x_e_illume_mode_set(Ecore_X_Window win, | ||
819 | Ecore_X_Illume_Mode mode) | ||
820 | { | ||
821 | Ecore_X_Atom atom = 0; | ||
822 | |||
823 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
824 | |||
825 | atom = _ecore_xcb_e_illume_atom_get(mode); | ||
826 | ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_MODE, &atom, 1); | ||
827 | } | ||
828 | |||
829 | EAPI Ecore_X_Illume_Mode | ||
830 | ecore_x_e_illume_mode_get(Ecore_X_Window win) | ||
831 | { | ||
832 | Ecore_X_Atom atom = 0; | ||
833 | |||
834 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
835 | |||
836 | if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_ILLUME_MODE, &atom, 1)) | ||
837 | return ECORE_X_ILLUME_MODE_UNKNOWN; | ||
838 | |||
839 | return _ecore_xcb_e_illume_mode_get(atom); | ||
840 | } | ||
841 | |||
842 | EAPI void | ||
843 | ecore_x_e_illume_mode_send(Ecore_X_Window win, | ||
844 | Ecore_X_Illume_Mode mode) | ||
845 | { | ||
846 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
847 | |||
848 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_MODE, | ||
849 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
850 | _ecore_xcb_e_illume_atom_get(mode), | ||
851 | 0, 0, 0, 0); | ||
852 | } | ||
853 | |||
854 | EAPI void | ||
855 | ecore_x_e_illume_focus_back_send(Ecore_X_Window win) | ||
856 | { | ||
857 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
858 | |||
859 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_BACK, | ||
860 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
861 | 1, 0, 0, 0, 0); | ||
862 | } | ||
863 | |||
864 | EAPI void | ||
865 | ecore_x_e_illume_focus_forward_send(Ecore_X_Window win) | ||
866 | { | ||
867 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
868 | |||
869 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_FORWARD, | ||
870 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
871 | 1, 0, 0, 0, 0); | ||
872 | } | ||
873 | |||
874 | EAPI void | ||
875 | ecore_x_e_illume_focus_home_send(Ecore_X_Window win) | ||
876 | { | ||
877 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
878 | |||
879 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_HOME, | ||
880 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
881 | 1, 0, 0, 0, 0); | ||
882 | } | ||
883 | |||
884 | EAPI void | ||
885 | ecore_x_e_illume_close_send(Ecore_X_Window win) | ||
886 | { | ||
887 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
888 | |||
889 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_CLOSE, | ||
890 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
891 | 1, 0, 0, 0, 0); | ||
892 | } | ||
893 | |||
894 | EAPI void | ||
895 | ecore_x_e_illume_home_new_send(Ecore_X_Window win) | ||
896 | { | ||
897 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
898 | |||
899 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_HOME_NEW, | ||
900 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
901 | 1, 0, 0, 0, 0); | ||
902 | } | ||
903 | |||
904 | EAPI void | ||
905 | ecore_x_e_illume_home_del_send(Ecore_X_Window win) | ||
906 | { | ||
907 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
908 | |||
909 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_HOME_DEL, | ||
910 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
911 | 1, 0, 0, 0, 0); | ||
912 | } | ||
913 | |||
914 | EAPI void | ||
915 | ecore_x_e_illume_drag_set(Ecore_X_Window win, | ||
916 | unsigned int drag) | ||
917 | { | ||
918 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
919 | |||
920 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_DRAG, &drag, 1); | ||
921 | } | ||
922 | |||
923 | EAPI void | ||
924 | ecore_x_e_illume_drag_locked_set(Ecore_X_Window win, | ||
925 | unsigned int is_locked) | ||
926 | { | ||
927 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
928 | |||
929 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED, | ||
930 | &is_locked, 1); | ||
931 | } | ||
932 | |||
933 | EAPI Eina_Bool | ||
934 | ecore_x_e_illume_drag_locked_get(Ecore_X_Window win) | ||
935 | { | ||
936 | unsigned int val = 0; | ||
937 | |||
938 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
939 | |||
940 | if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED, | ||
941 | &val, 1)) | ||
942 | return EINA_FALSE; | ||
943 | |||
944 | return val ? EINA_TRUE : EINA_FALSE; | ||
945 | } | ||
946 | |||
947 | EAPI Eina_Bool | ||
948 | ecore_x_e_illume_drag_get(Ecore_X_Window win) | ||
949 | { | ||
950 | unsigned int val = 0; | ||
951 | |||
952 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
953 | |||
954 | if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG, &val, 1)) | ||
955 | return EINA_FALSE; | ||
956 | |||
957 | return val ? EINA_TRUE : EINA_FALSE; | ||
958 | } | ||
959 | |||
960 | EAPI void | ||
961 | ecore_x_e_illume_drag_start_send(Ecore_X_Window win) | ||
962 | { | ||
963 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
964 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_DRAG_START, | ||
965 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
966 | 1, 0, 0, 0, 0); | ||
967 | } | ||
968 | |||
969 | EAPI void | ||
970 | ecore_x_e_illume_drag_end_send(Ecore_X_Window win) | ||
971 | { | ||
972 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
973 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_DRAG_END, | ||
974 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
975 | 1, 0, 0, 0, 0); | ||
976 | } | ||
977 | |||
978 | EAPI void | ||
979 | ecore_x_e_illume_zone_set(Ecore_X_Window win, | ||
980 | Ecore_X_Window zone) | ||
981 | { | ||
982 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
983 | |||
984 | ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE, &zone, 1); | ||
985 | } | ||
986 | |||
987 | EAPI Ecore_X_Window | ||
988 | ecore_x_e_illume_zone_get(Ecore_X_Window win) | ||
989 | { | ||
990 | Ecore_X_Window zone; | ||
991 | |||
992 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
993 | |||
994 | if (!ecore_x_window_prop_window_get(win, ECORE_X_ATOM_E_ILLUME_ZONE, | ||
995 | &zone, 1)) | ||
996 | return 0; | ||
997 | |||
998 | return zone; | ||
999 | } | ||
1000 | |||
1001 | EAPI void | ||
1002 | ecore_x_e_illume_zone_list_set(Ecore_X_Window win, | ||
1003 | Ecore_X_Window *zones, | ||
1004 | unsigned int num) | ||
1005 | { | ||
1006 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1007 | |||
1008 | ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE_LIST, | ||
1009 | zones, num); | ||
1010 | } | ||
1011 | |||
1012 | /* local functions */ | ||
1013 | static Ecore_X_Atom | ||
1014 | _ecore_xcb_e_vkbd_atom_get(Ecore_X_Virtual_Keyboard_State state) | ||
1015 | { | ||
1016 | switch (state) | ||
1017 | { | ||
1018 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF: | ||
1019 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF; | ||
1020 | |||
1021 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_ON: | ||
1022 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON; | ||
1023 | |||
1024 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA: | ||
1025 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA; | ||
1026 | |||
1027 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC: | ||
1028 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC; | ||
1029 | |||
1030 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN: | ||
1031 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN; | ||
1032 | |||
1033 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER: | ||
1034 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER; | ||
1035 | |||
1036 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX: | ||
1037 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX; | ||
1038 | |||
1039 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL: | ||
1040 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL; | ||
1041 | |||
1042 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD: | ||
1043 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD; | ||
1044 | |||
1045 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_IP: | ||
1046 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP; | ||
1047 | |||
1048 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST: | ||
1049 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST; | ||
1050 | |||
1051 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE: | ||
1052 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE; | ||
1053 | |||
1054 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_URL: | ||
1055 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL; | ||
1056 | |||
1057 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD: | ||
1058 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD; | ||
1059 | |||
1060 | case ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME: | ||
1061 | return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME; | ||
1062 | |||
1063 | default: | ||
1064 | break; | ||
1065 | } | ||
1066 | return 0; | ||
1067 | } | ||
1068 | |||
1069 | static Ecore_X_Virtual_Keyboard_State | ||
1070 | _ecore_xcb_e_vkbd_state_get(Ecore_X_Atom atom) | ||
1071 | { | ||
1072 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON) | ||
1073 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_ON; | ||
1074 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF) | ||
1075 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF; | ||
1076 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA) | ||
1077 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA; | ||
1078 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC) | ||
1079 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC; | ||
1080 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN) | ||
1081 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN; | ||
1082 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER) | ||
1083 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER; | ||
1084 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX) | ||
1085 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX; | ||
1086 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL) | ||
1087 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL; | ||
1088 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD) | ||
1089 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD; | ||
1090 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP) | ||
1091 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_IP; | ||
1092 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST) | ||
1093 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST; | ||
1094 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE) | ||
1095 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE; | ||
1096 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL) | ||
1097 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_URL; | ||
1098 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD) | ||
1099 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD; | ||
1100 | if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME) | ||
1101 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME; | ||
1102 | |||
1103 | return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN; | ||
1104 | } | ||
1105 | |||
1106 | static Ecore_X_Atom | ||
1107 | _ecore_xcb_e_quickpanel_atom_get(Ecore_X_Illume_Quickpanel_State state) | ||
1108 | { | ||
1109 | switch (state) | ||
1110 | { | ||
1111 | case ECORE_X_ILLUME_QUICKPANEL_STATE_ON: | ||
1112 | return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON; | ||
1113 | |||
1114 | case ECORE_X_ILLUME_QUICKPANEL_STATE_OFF: | ||
1115 | return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF; | ||
1116 | |||
1117 | default: | ||
1118 | break; | ||
1119 | } | ||
1120 | return 0; | ||
1121 | } | ||
1122 | |||
1123 | static Ecore_X_Illume_Quickpanel_State | ||
1124 | _ecore_xcb_e_quickpanel_state_get(Ecore_X_Atom atom) | ||
1125 | { | ||
1126 | if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON) | ||
1127 | return ECORE_X_ILLUME_QUICKPANEL_STATE_ON; | ||
1128 | if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF) | ||
1129 | return ECORE_X_ILLUME_QUICKPANEL_STATE_OFF; | ||
1130 | |||
1131 | return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN; | ||
1132 | } | ||
1133 | |||
1134 | static Ecore_X_Atom | ||
1135 | _ecore_xcb_e_illume_atom_get(Ecore_X_Illume_Mode mode) | ||
1136 | { | ||
1137 | switch (mode) | ||
1138 | { | ||
1139 | case ECORE_X_ILLUME_MODE_SINGLE: | ||
1140 | return ECORE_X_ATOM_E_ILLUME_MODE_SINGLE; | ||
1141 | |||
1142 | case ECORE_X_ILLUME_MODE_DUAL_TOP: | ||
1143 | return ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP; | ||
1144 | |||
1145 | case ECORE_X_ILLUME_MODE_DUAL_LEFT: | ||
1146 | return ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT; | ||
1147 | |||
1148 | default: | ||
1149 | break; | ||
1150 | } | ||
1151 | return ECORE_X_ILLUME_MODE_UNKNOWN; | ||
1152 | } | ||
1153 | |||
1154 | static Ecore_X_Illume_Mode | ||
1155 | _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom) | ||
1156 | { | ||
1157 | if (atom == ECORE_X_ATOM_E_ILLUME_MODE_SINGLE) | ||
1158 | return ECORE_X_ILLUME_MODE_SINGLE; | ||
1159 | if (atom == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP) | ||
1160 | return ECORE_X_ILLUME_MODE_DUAL_TOP; | ||
1161 | if (atom == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT) | ||
1162 | return ECORE_X_ILLUME_MODE_DUAL_LEFT; | ||
1163 | |||
1164 | return ECORE_X_ILLUME_MODE_UNKNOWN; | ||
1165 | } | ||
1166 | |||
1167 | static Ecore_X_Atom | ||
1168 | _ecore_xcb_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state) | ||
1169 | { | ||
1170 | switch (state) | ||
1171 | { | ||
1172 | case ECORE_X_ILLUME_INDICATOR_STATE_ON: | ||
1173 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_ON; | ||
1174 | |||
1175 | case ECORE_X_ILLUME_INDICATOR_STATE_OFF: | ||
1176 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF; | ||
1177 | |||
1178 | default: | ||
1179 | break; | ||
1180 | } | ||
1181 | return 0; | ||
1182 | } | ||
1183 | |||
1184 | static Ecore_X_Illume_Indicator_State | ||
1185 | _ecore_xcb_e_indicator_state_get(Ecore_X_Atom atom) | ||
1186 | { | ||
1187 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_ON) | ||
1188 | return ECORE_X_ILLUME_INDICATOR_STATE_ON; | ||
1189 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF) | ||
1190 | return ECORE_X_ILLUME_INDICATOR_STATE_OFF; | ||
1191 | |||
1192 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
1193 | } | ||
1194 | |||
1195 | EAPI void | ||
1196 | ecore_x_e_illume_indicator_state_set(Ecore_X_Window win, | ||
1197 | Ecore_X_Illume_Indicator_State state) | ||
1198 | { | ||
1199 | Ecore_X_Atom atom = 0; | ||
1200 | |||
1201 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1202 | |||
1203 | atom = _ecore_xcb_e_indicator_atom_get(state); | ||
1204 | ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1205 | &atom, 1); | ||
1206 | } | ||
1207 | |||
1208 | EAPI Ecore_X_Illume_Indicator_State | ||
1209 | ecore_x_e_illume_indicator_state_get(Ecore_X_Window win) | ||
1210 | { | ||
1211 | Ecore_X_Atom atom = 0; | ||
1212 | |||
1213 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1214 | |||
1215 | if (!ecore_x_window_prop_atom_get(win, | ||
1216 | ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1217 | &atom, 1)) | ||
1218 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
1219 | |||
1220 | return _ecore_xcb_e_indicator_state_get(atom); | ||
1221 | } | ||
1222 | |||
1223 | EAPI void | ||
1224 | ecore_x_e_illume_indicator_state_send(Ecore_X_Window win, | ||
1225 | Ecore_X_Illume_Indicator_State state) | ||
1226 | { | ||
1227 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1228 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1229 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
1230 | _ecore_xcb_e_indicator_atom_get(state), | ||
1231 | 0, 0, 0, 0); | ||
1232 | } | ||
1233 | |||
1234 | static Ecore_X_Atom | ||
1235 | _ecore_x_e_indicator_opacity_atom_get(Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1236 | { | ||
1237 | switch (mode) | ||
1238 | { | ||
1239 | case ECORE_X_ILLUME_INDICATOR_OPAQUE: | ||
1240 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE; | ||
1241 | |||
1242 | case ECORE_X_ILLUME_INDICATOR_TRANSLUCENT: | ||
1243 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT; | ||
1244 | |||
1245 | case ECORE_X_ILLUME_INDICATOR_TRANSPARENT: | ||
1246 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT; | ||
1247 | |||
1248 | default: | ||
1249 | break; | ||
1250 | } | ||
1251 | return 0; | ||
1252 | } | ||
1253 | |||
1254 | static Ecore_X_Illume_Indicator_Opacity_Mode | ||
1255 | _ecore_x_e_indicator_opacity_get(Ecore_X_Atom atom) | ||
1256 | { | ||
1257 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE) | ||
1258 | return ECORE_X_ILLUME_INDICATOR_OPAQUE; | ||
1259 | |||
1260 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT) | ||
1261 | return ECORE_X_ILLUME_INDICATOR_TRANSLUCENT; | ||
1262 | |||
1263 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT) | ||
1264 | return ECORE_X_ILLUME_INDICATOR_TRANSPARENT; | ||
1265 | |||
1266 | return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; | ||
1267 | } | ||
1268 | |||
1269 | EAPI void | ||
1270 | ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win, | ||
1271 | Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1272 | { | ||
1273 | Ecore_X_Atom atom = 0; | ||
1274 | |||
1275 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1276 | atom = _ecore_x_e_indicator_opacity_atom_get(mode); | ||
1277 | ecore_x_window_prop_atom_set(win, | ||
1278 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1279 | &atom, 1); | ||
1280 | } | ||
1281 | |||
1282 | EAPI Ecore_X_Illume_Indicator_Opacity_Mode | ||
1283 | ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win) | ||
1284 | { | ||
1285 | Ecore_X_Atom atom; | ||
1286 | |||
1287 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1288 | if (!ecore_x_window_prop_atom_get(win, | ||
1289 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1290 | &atom, 1)) | ||
1291 | return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; | ||
1292 | |||
1293 | return _ecore_x_e_indicator_opacity_get(atom); | ||
1294 | } | ||
1295 | |||
1296 | EAPI void | ||
1297 | ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, | ||
1298 | Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1299 | { | ||
1300 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1301 | ecore_x_client_message32_send(win, | ||
1302 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1303 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
1304 | _ecore_x_e_indicator_opacity_atom_get(mode), | ||
1305 | 0, 0, 0, 0); | ||
1306 | } | ||
1307 | |||