7 #endif /* ifdef HAVE_CONFIG_H */
10 #include "ecore_x_private.h"
12 #include "Ecore_X_Atoms.h"
17 } /* ecore_x_e_init */
20 ecore_x_e_frame_size_set(Ecore_X_Window win, int fl, int fr, int ft, int fb)
22 unsigned int frames[4];
24 LOGFN(__FILE__, __LINE__, __FUNCTION__);
29 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_FRAME_SIZE, frames, 4);
30 } /* ecore_x_e_frame_size_set */
33 ecore_x_e_virtual_keyboard_set(Ecore_X_Window win, unsigned int is_keyboard)
35 LOGFN(__FILE__, __LINE__, __FUNCTION__);
36 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD,
38 } /* ecore_x_e_virtual_keyboard_set */
41 ecore_x_e_virtual_keyboard_get(Ecore_X_Window win)
45 LOGFN(__FILE__, __LINE__, __FUNCTION__);
46 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD,
50 return val ? EINA_TRUE : EINA_FALSE;
51 } /* ecore_x_e_virtual_keyboard_get */
53 static Ecore_X_Virtual_Keyboard_State
54 _ecore_x_e_vkbd_state_get(Ecore_X_Atom atom)
56 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON)
57 return ECORE_X_VIRTUAL_KEYBOARD_STATE_ON;
59 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF)
60 return ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF;
62 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA)
63 return ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA;
65 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC)
66 return ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC;
68 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN)
69 return ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN;
71 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER)
72 return ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER;
74 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX)
75 return ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX;
77 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL)
78 return ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL;
80 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD)
81 return ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD;
83 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP)
84 return ECORE_X_VIRTUAL_KEYBOARD_STATE_IP;
86 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST)
87 return ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST;
89 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE)
90 return ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE;
92 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL)
93 return ECORE_X_VIRTUAL_KEYBOARD_STATE_URL;
95 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD)
96 return ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD;
98 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME)
99 return ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME;
101 return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN;
102 } /* _ecore_x_e_vkbd_state_get */
105 _ecore_x_e_vkbd_atom_get(Ecore_X_Virtual_Keyboard_State state)
109 case ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF:
110 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF;
112 case ECORE_X_VIRTUAL_KEYBOARD_STATE_ON:
113 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON;
115 case ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA:
116 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA;
118 case ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC:
119 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC;
121 case ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN:
122 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN;
124 case ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER:
125 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER;
127 case ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX:
128 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX;
130 case ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL:
131 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL;
133 case ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD:
134 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD;
136 case ECORE_X_VIRTUAL_KEYBOARD_STATE_IP:
137 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP;
139 case ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST:
140 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST;
142 case ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE:
143 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE;
145 case ECORE_X_VIRTUAL_KEYBOARD_STATE_URL:
146 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL;
148 case ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD:
149 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD;
151 case ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME:
152 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME;
157 } /* _ecore_x_e_vkbd_atom_get */
160 ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win,
161 Ecore_X_Virtual_Keyboard_State state)
163 Ecore_X_Atom atom = 0;
165 LOGFN(__FILE__, __LINE__, __FUNCTION__);
166 atom = _ecore_x_e_vkbd_atom_get(state);
167 ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
169 } /* ecore_x_e_virtual_keyboard_state_set */
171 EAPI Ecore_X_Virtual_Keyboard_State
172 ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win)
176 LOGFN(__FILE__, __LINE__, __FUNCTION__);
177 if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
179 return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN;
181 return _ecore_x_e_vkbd_state_get(atom);
182 } /* ecore_x_e_virtual_keyboard_state_get */
185 ecore_x_e_virtual_keyboard_state_send(Ecore_X_Window win,
186 Ecore_X_Virtual_Keyboard_State state)
188 LOGFN(__FILE__, __LINE__, __FUNCTION__);
189 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
190 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
191 _ecore_x_e_vkbd_atom_get(state),
193 } /* ecore_x_e_virtual_keyboard_state_send */
196 _ecore_x_e_illume_atom_get(Ecore_X_Illume_Mode mode)
200 case ECORE_X_ILLUME_MODE_SINGLE:
201 return ECORE_X_ATOM_E_ILLUME_MODE_SINGLE;
203 case ECORE_X_ILLUME_MODE_DUAL_TOP:
204 return ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP;
206 case ECORE_X_ILLUME_MODE_DUAL_LEFT:
207 return ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT;
210 return ECORE_X_ILLUME_MODE_UNKNOWN;
212 return ECORE_X_ILLUME_MODE_UNKNOWN;
213 } /* _ecore_x_e_illume_atom_get */
215 static Ecore_X_Illume_Mode
216 _ecore_x_e_illume_mode_get(Ecore_X_Atom atom)
218 if (atom == ECORE_X_ATOM_E_ILLUME_MODE_SINGLE)
219 return ECORE_X_ILLUME_MODE_SINGLE;
221 if (atom == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP)
222 return ECORE_X_ILLUME_MODE_DUAL_TOP;
224 if (atom == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT)
225 return ECORE_X_ILLUME_MODE_DUAL_LEFT;
227 return ECORE_X_ILLUME_MODE_UNKNOWN;
228 } /* _ecore_x_e_illume_mode_get */
231 ecore_x_e_illume_zone_set(Ecore_X_Window win, Ecore_X_Window zone)
233 LOGFN(__FILE__, __LINE__, __FUNCTION__);
234 ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE,
236 } /* ecore_x_e_illume_zone_set */
239 ecore_x_e_illume_zone_get(Ecore_X_Window win)
243 LOGFN(__FILE__, __LINE__, __FUNCTION__);
244 if (!ecore_x_window_prop_window_get(win, ECORE_X_ATOM_E_ILLUME_ZONE,
249 } /* ecore_x_e_illume_zone_get */
252 ecore_x_e_illume_zone_list_set(Ecore_X_Window win,
253 Ecore_X_Window *zones,
254 unsigned int n_zones)
256 LOGFN(__FILE__, __LINE__, __FUNCTION__);
257 ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE_LIST,
259 } /* ecore_x_e_illume_zone_list_set */
262 ecore_x_e_illume_conformant_set(Ecore_X_Window win, unsigned int is_conformant)
264 LOGFN(__FILE__, __LINE__, __FUNCTION__);
265 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT,
267 } /* ecore_x_e_illume_conformant_set */
270 ecore_x_e_illume_conformant_get(Ecore_X_Window win)
272 unsigned int val = 0;
274 LOGFN(__FILE__, __LINE__, __FUNCTION__);
275 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT,
279 return val ? EINA_TRUE : EINA_FALSE;
280 } /* ecore_x_e_illume_conformant_get */
283 ecore_x_e_illume_mode_set(Ecore_X_Window win, Ecore_X_Illume_Mode mode)
285 Ecore_X_Atom atom = 0;
287 LOGFN(__FILE__, __LINE__, __FUNCTION__);
288 atom = _ecore_x_e_illume_atom_get(mode);
289 ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_MODE,
291 } /* ecore_x_e_illume_mode_set */
293 EAPI Ecore_X_Illume_Mode
294 ecore_x_e_illume_mode_get(Ecore_X_Window win)
296 Ecore_X_Atom atom = 0;
298 LOGFN(__FILE__, __LINE__, __FUNCTION__);
299 if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_ILLUME_MODE, &atom, 1))
300 return ECORE_X_ILLUME_MODE_UNKNOWN;
302 return _ecore_x_e_illume_mode_get(atom);
303 } /* ecore_x_e_illume_mode_get */
306 ecore_x_e_illume_mode_send(Ecore_X_Window win, Ecore_X_Illume_Mode mode)
308 LOGFN(__FILE__, __LINE__, __FUNCTION__);
309 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_MODE,
310 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
311 _ecore_x_e_illume_atom_get(mode),
313 } /* ecore_x_e_illume_mode_send */
316 ecore_x_e_illume_focus_back_send(Ecore_X_Window win)
318 LOGFN(__FILE__, __LINE__, __FUNCTION__);
319 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_BACK,
320 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
322 } /* ecore_x_e_illume_focus_back_send */
325 ecore_x_e_illume_focus_forward_send(Ecore_X_Window win)
327 LOGFN(__FILE__, __LINE__, __FUNCTION__);
328 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_FORWARD,
329 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
331 } /* ecore_x_e_illume_focus_forward_send */
334 ecore_x_e_illume_focus_home_send(Ecore_X_Window win)
336 LOGFN(__FILE__, __LINE__, __FUNCTION__);
337 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_HOME,
338 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
340 } /* ecore_x_e_illume_focus_home_send */
343 ecore_x_e_illume_close_send(Ecore_X_Window win)
345 LOGFN(__FILE__, __LINE__, __FUNCTION__);
346 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_CLOSE,
347 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
349 } /* ecore_x_e_illume_close_send */
352 ecore_x_e_illume_home_new_send(Ecore_X_Window win)
354 LOGFN(__FILE__, __LINE__, __FUNCTION__);
355 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_HOME_NEW,
356 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
358 } /* ecore_x_e_illume_home_new_send */
361 ecore_x_e_illume_home_del_send(Ecore_X_Window win)
363 LOGFN(__FILE__, __LINE__, __FUNCTION__);
364 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_HOME_DEL,
365 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
367 } /* ecore_x_e_illume_home_del_send */
370 ecore_x_e_illume_drag_set(Ecore_X_Window win, unsigned int drag)
372 LOGFN(__FILE__, __LINE__, __FUNCTION__);
373 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_DRAG, &drag, 1);
374 } /* ecore_x_e_illume_drag_set */
377 ecore_x_e_illume_drag_get(Ecore_X_Window win)
379 unsigned int val = 0;
381 LOGFN(__FILE__, __LINE__, __FUNCTION__);
382 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG, &val, 1))
385 return val ? EINA_TRUE : EINA_FALSE;
386 } /* ecore_x_e_illume_drag_get */
389 ecore_x_e_illume_drag_locked_set(Ecore_X_Window win, unsigned int is_locked)
391 LOGFN(__FILE__, __LINE__, __FUNCTION__);
392 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED,
394 } /* ecore_x_e_illume_drag_locked_set */
397 ecore_x_e_illume_drag_locked_get(Ecore_X_Window win)
399 unsigned int val = 0;
401 LOGFN(__FILE__, __LINE__, __FUNCTION__);
402 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED,
406 return val ? EINA_TRUE : EINA_FALSE;
407 } /* ecore_x_e_illume_drag_locked_get */
410 ecore_x_e_illume_drag_start_send(Ecore_X_Window win)
412 LOGFN(__FILE__, __LINE__, __FUNCTION__);
413 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_DRAG_START,
414 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
416 } /* ecore_x_e_illume_drag_start_send */
419 ecore_x_e_illume_drag_end_send(Ecore_X_Window win)
421 LOGFN(__FILE__, __LINE__, __FUNCTION__);
422 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_DRAG_END,
423 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
425 } /* ecore_x_e_illume_drag_end_send */
428 ecore_x_e_illume_indicator_geometry_set(Ecore_X_Window win,
434 unsigned int geom[4];
436 LOGFN(__FILE__, __LINE__, __FUNCTION__);
441 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY,
443 } /* ecore_x_e_illume_indicator_geometry_set */
446 ecore_x_e_illume_indicator_geometry_get(Ecore_X_Window win,
453 unsigned int geom[4];
455 LOGFN(__FILE__, __LINE__, __FUNCTION__);
457 ecore_x_window_prop_card32_get(win,
458 ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY,
476 } /* ecore_x_e_illume_indicator_geometry_get */
479 ecore_x_e_illume_softkey_geometry_set(Ecore_X_Window win,
485 unsigned int geom[4];
487 LOGFN(__FILE__, __LINE__, __FUNCTION__);
492 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY,
494 } /* ecore_x_e_illume_softkey_geometry_set */
497 ecore_x_e_illume_softkey_geometry_get(Ecore_X_Window win,
504 unsigned int geom[4];
506 LOGFN(__FILE__, __LINE__, __FUNCTION__);
508 ecore_x_window_prop_card32_get(win,
509 ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY,
527 } /* ecore_x_e_illume_softkey_geometry_get */
530 ecore_x_e_illume_keyboard_geometry_set(Ecore_X_Window win,
536 unsigned int geom[4];
538 LOGFN(__FILE__, __LINE__, __FUNCTION__);
543 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY,
545 } /* ecore_x_e_illume_keyboard_geometry_set */
548 ecore_x_e_illume_keyboard_geometry_get(Ecore_X_Window win,
555 unsigned int geom[4];
557 LOGFN(__FILE__, __LINE__, __FUNCTION__);
559 ecore_x_window_prop_card32_get(win,
560 ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY,
578 } /* ecore_x_e_illume_keyboard_geometry_get */
581 _ecore_x_e_quickpanel_atom_get(Ecore_X_Illume_Quickpanel_State state)
585 case ECORE_X_ILLUME_QUICKPANEL_STATE_ON:
586 return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON;
588 case ECORE_X_ILLUME_QUICKPANEL_STATE_OFF:
589 return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF;
595 } /* _ecore_x_e_quickpanel_atom_get */
597 static Ecore_X_Illume_Quickpanel_State
598 _ecore_x_e_quickpanel_state_get(Ecore_X_Atom atom)
600 if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON)
601 return ECORE_X_ILLUME_QUICKPANEL_STATE_ON;
603 if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF)
604 return ECORE_X_ILLUME_QUICKPANEL_STATE_OFF;
606 return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN;
607 } /* _ecore_x_e_quickpanel_state_get */
610 ecore_x_e_illume_quickpanel_set(Ecore_X_Window win, unsigned int is_quickpanel)
612 LOGFN(__FILE__, __LINE__, __FUNCTION__);
613 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL,
615 } /* ecore_x_e_illume_quickpanel_set */
618 ecore_x_e_illume_quickpanel_get(Ecore_X_Window win)
620 unsigned int val = 0;
622 LOGFN(__FILE__, __LINE__, __FUNCTION__);
623 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL,
627 return val ? EINA_TRUE : EINA_FALSE;
628 } /* ecore_x_e_illume_quickpanel_get */
631 ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win,
632 Ecore_X_Illume_Quickpanel_State state)
634 Ecore_X_Atom atom = 0;
636 LOGFN(__FILE__, __LINE__, __FUNCTION__);
637 atom = _ecore_x_e_quickpanel_atom_get(state);
638 ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
640 } /* ecore_x_e_illume_quickpanel_state_set */
642 EAPI Ecore_X_Illume_Quickpanel_State
643 ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win)
647 LOGFN(__FILE__, __LINE__, __FUNCTION__);
648 if (!ecore_x_window_prop_atom_get(win,
649 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
651 return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN;
653 return _ecore_x_e_quickpanel_state_get(atom);
654 } /* ecore_x_e_illume_quickpanel_state_get */
657 ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win,
658 Ecore_X_Illume_Quickpanel_State state)
660 LOGFN(__FILE__, __LINE__, __FUNCTION__);
661 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
662 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
663 _ecore_x_e_quickpanel_atom_get(state),
665 } /* ecore_x_e_illume_quickpanel_state_send */
668 ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win)
670 LOGFN(__FILE__, __LINE__, __FUNCTION__);
671 ecore_x_client_message32_send(win,
672 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE_TOGGLE,
673 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
675 } /* ecore_x_e_illume_quickpanel_state_toggle */
678 ecore_x_e_illume_quickpanel_priority_major_set(Ecore_X_Window win,
679 unsigned int priority)
681 LOGFN(__FILE__, __LINE__, __FUNCTION__);
682 ecore_x_window_prop_card32_set(win,
683 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR,
685 } /* ecore_x_e_illume_quickpanel_priority_major_set */
688 ecore_x_e_illume_quickpanel_priority_major_get(Ecore_X_Window win)
690 unsigned int val = 0;
692 LOGFN(__FILE__, __LINE__, __FUNCTION__);
693 if (!ecore_x_window_prop_card32_get(win,
694 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR,
699 } /* ecore_x_e_illume_quickpanel_priority_major_get */
702 ecore_x_e_illume_quickpanel_priority_minor_set(Ecore_X_Window win,
703 unsigned int priority)
705 LOGFN(__FILE__, __LINE__, __FUNCTION__);
706 ecore_x_window_prop_card32_set(win,
707 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR,
709 } /* ecore_x_e_illume_quickpanel_priority_minor_set */
712 ecore_x_e_illume_quickpanel_priority_minor_get(Ecore_X_Window win)
714 unsigned int val = 0;
716 LOGFN(__FILE__, __LINE__, __FUNCTION__);
717 if (!ecore_x_window_prop_card32_get(win,
718 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR,
723 } /* ecore_x_e_illume_quickpanel_priority_minor_get */
726 ecore_x_e_illume_quickpanel_zone_set(Ecore_X_Window win, unsigned int zone)
728 LOGFN(__FILE__, __LINE__, __FUNCTION__);
729 ecore_x_window_prop_card32_set(win,
730 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE,
732 } /* ecore_x_e_illume_quickpanel_zone_set */
735 ecore_x_e_illume_quickpanel_zone_get(Ecore_X_Window win)
737 unsigned int val = 0;
739 LOGFN(__FILE__, __LINE__, __FUNCTION__);
740 if (!ecore_x_window_prop_card32_get(win,
741 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE,
746 } /* ecore_x_e_illume_quickpanel_zone_get */
749 ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win)
751 LOGFN(__FILE__, __LINE__, __FUNCTION__);
752 ecore_x_client_message32_send(win,
753 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE,
754 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
756 } /* ecore_x_e_illume_quickpanel_position_update_send */
758 /* added by doyoun.kang - for sliding window */
760 ecore_x_e_illume_sliding_win_state_set(Ecore_X_Window win,
761 unsigned int is_visible)
763 LOGFN(__FILE__, __LINE__, __FUNCTION__);
764 ecore_x_window_prop_card32_set(win,
765 ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE,
767 } /* ecore_x_e_illume_sliding_win_state_set */
770 ecore_x_e_illume_sliding_win_state_get(Ecore_X_Window win)
772 unsigned int is_visible = 0;
774 LOGFN(__FILE__, __LINE__, __FUNCTION__);
775 if (!ecore_x_window_prop_card32_get(win,
776 ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE,
784 ecore_x_e_illume_sliding_win_geometry_set(Ecore_X_Window win,
790 unsigned int geom[4];
792 LOGFN(__FILE__, __LINE__, __FUNCTION__);
797 ecore_x_window_prop_card32_set(win,
798 ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY,
800 } /* ecore_x_e_illume_sliding_win_geometry_set */
803 ecore_x_e_illume_sliding_win_geometry_get(Ecore_X_Window win,
810 unsigned int geom[4];
812 LOGFN(__FILE__, __LINE__, __FUNCTION__);
814 ecore_x_window_prop_card32_get(win,
815 ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY,
833 }/* ecore_x_e_illume_sliding_win_geometry_get */
836 ecore_x_e_comp_sync_counter_set(Ecore_X_Window win,
837 Ecore_X_Sync_Counter counter)
839 LOGFN(__FILE__, __LINE__, __FUNCTION__);
841 ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER,
842 ECORE_X_ATOM_CARDINAL, &counter, 1);
844 ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER);
845 } /* ecore_x_e_comp_sync_counter_set */
847 EAPI Ecore_X_Sync_Counter
848 ecore_x_e_comp_sync_counter_get(Ecore_X_Window win)
851 Ecore_X_Sync_Counter counter = 0;
853 LOGFN(__FILE__, __LINE__, __FUNCTION__);
855 ecore_x_window_prop_xid_get(win,
856 ECORE_X_ATOM_E_COMP_SYNC_COUNTER,
857 ECORE_X_ATOM_CARDINAL,
863 } /* ecore_x_e_comp_sync_counter_get */
866 ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root, Ecore_X_Window win)
870 LOGFN(__FILE__, __LINE__, __FUNCTION__);
872 root = DefaultRootWindow(_ecore_x_disp);
874 xev.xclient.type = ClientMessage;
875 xev.xclient.display = _ecore_x_disp;
876 xev.xclient.window = win;
877 xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE;
878 xev.xclient.format = 32;
879 xev.xclient.data.l[0] = win;
880 xev.xclient.data.l[1] = 0; // later
881 xev.xclient.data.l[2] = 0; // later
882 xev.xclient.data.l[3] = 0; // later
883 xev.xclient.data.l[4] = 0; // later
885 XSendEvent(_ecore_x_disp, root, False,
886 SubstructureRedirectMask | SubstructureNotifyMask,
888 } /* ecore_x_e_comp_sync_draw_done_send */
891 ecore_x_e_comp_sync_supported_set(Ecore_X_Window root, Eina_Bool enabled)
896 root = DefaultRootWindow(_ecore_x_disp);
898 LOGFN(__FILE__, __LINE__, __FUNCTION__);
901 win = ecore_x_window_new(root, 1, 2, 3, 4);
902 ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
903 ECORE_X_ATOM_WINDOW, &win, 1);
904 ecore_x_window_prop_xid_set(root, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
905 ECORE_X_ATOM_WINDOW, &win, 1);
912 ecore_x_window_prop_xid_get(root,
913 ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
916 if ((ret == 1) && (win))
918 ecore_x_window_prop_property_del(
920 ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED);
921 ecore_x_window_free(win);
924 } /* ecore_x_e_comp_sync_supported_set */
927 ecore_x_e_comp_sync_supported_get(Ecore_X_Window root)
929 Ecore_X_Window win, win2;
932 LOGFN(__FILE__, __LINE__, __FUNCTION__);
934 root = DefaultRootWindow(_ecore_x_disp);
937 ecore_x_window_prop_xid_get(root,
938 ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
941 if ((ret == 1) && (win))
944 ecore_x_window_prop_xid_get(win,
945 ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
948 if ((ret == 1) && (win2 == win))
953 } /* ecore_x_e_comp_sync_supported_get */
956 ecore_x_e_comp_sync_begin_send(Ecore_X_Window win)
960 LOGFN(__FILE__, __LINE__, __FUNCTION__);
961 xev.xclient.type = ClientMessage;
962 xev.xclient.display = _ecore_x_disp;
963 xev.xclient.window = win;
964 xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_BEGIN;
965 xev.xclient.format = 32;
966 xev.xclient.data.l[0] = win;
967 xev.xclient.data.l[1] = 0; // later
968 xev.xclient.data.l[2] = 0; // later
969 xev.xclient.data.l[3] = 0; // later
970 xev.xclient.data.l[4] = 0; // later
972 XSendEvent(_ecore_x_disp, win, False,
973 NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
975 } /* ecore_x_e_comp_sync_begin_send */
978 ecore_x_e_comp_sync_end_send(Ecore_X_Window win)
982 LOGFN(__FILE__, __LINE__, __FUNCTION__);
983 xev.xclient.type = ClientMessage;
984 xev.xclient.display = _ecore_x_disp;
985 xev.xclient.window = win;
986 xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_END;
987 xev.xclient.format = 32;
988 xev.xclient.data.l[0] = win;
989 xev.xclient.data.l[1] = 0; // later
990 xev.xclient.data.l[2] = 0; // later
991 xev.xclient.data.l[3] = 0; // later
992 xev.xclient.data.l[4] = 0; // later
994 XSendEvent(_ecore_x_disp, win, False,
995 NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
997 } /* ecore_x_e_comp_sync_end_send */
1000 ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win)
1004 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1005 xev.xclient.type = ClientMessage;
1006 xev.xclient.display = _ecore_x_disp;
1007 xev.xclient.window = win;
1008 xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_CANCEL;
1009 xev.xclient.format = 32;
1010 xev.xclient.data.l[0] = win;
1011 xev.xclient.data.l[1] = 0; // later
1012 xev.xclient.data.l[2] = 0; // later
1013 xev.xclient.data.l[3] = 0; // later
1014 xev.xclient.data.l[4] = 0; // later
1016 XSendEvent(_ecore_x_disp, win, False,
1017 NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
1019 } /* ecore_x_e_comp_sync_cancel_send */
1022 ecore_x_e_comp_flush_send(Ecore_X_Window win)
1026 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1027 xev.xclient.type = ClientMessage;
1028 xev.xclient.display = _ecore_x_disp;
1029 xev.xclient.window = win;
1030 xev.xclient.message_type = ECORE_X_ATOM_E_COMP_FLUSH;
1031 xev.xclient.format = 32;
1032 xev.xclient.data.l[0] = win;
1033 xev.xclient.data.l[1] = 0; // later
1034 xev.xclient.data.l[2] = 0; // later
1035 xev.xclient.data.l[3] = 0; // later
1036 xev.xclient.data.l[4] = 0; // later
1038 XSendEvent(_ecore_x_disp, win, False,
1039 NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
1041 } /* ecore_x_e_comp_flush_send */
1044 ecore_x_e_comp_dump_send(Ecore_X_Window win)
1048 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1049 xev.xclient.type = ClientMessage;
1050 xev.xclient.display = _ecore_x_disp;
1051 xev.xclient.window = win;
1052 xev.xclient.message_type = ECORE_X_ATOM_E_COMP_DUMP;
1053 xev.xclient.format = 32;
1054 xev.xclient.data.l[0] = win;
1055 xev.xclient.data.l[1] = 0; // later
1056 xev.xclient.data.l[2] = 0; // later
1057 xev.xclient.data.l[3] = 0; // later
1058 xev.xclient.data.l[4] = 0; // later
1060 XSendEvent(_ecore_x_disp, win, False,
1061 NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
1063 } /* ecore_x_e_comp_dump_send */
1066 ecore_x_e_comp_pixmap_set(Ecore_X_Window win, Ecore_X_Pixmap pixmap)
1068 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1070 ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_DUMP,
1071 ECORE_X_ATOM_PIXMAP, &pixmap, 1);
1073 ecore_x_window_prop_property_del(win, pixmap);
1074 } /* ecore_x_e_comp_pixmap_set */
1077 ecore_x_e_comp_pixmap_get(Ecore_X_Window win)
1080 Ecore_X_Pixmap pixmap = 0;
1082 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1084 ecore_x_window_prop_xid_get(win,
1085 ECORE_X_ATOM_E_COMP_DUMP,
1086 ECORE_X_ATOM_PIXMAP,
1092 } /* ecore_x_e_comp_pixmap_get */
1095 ecore_x_e_comp_dri_buff_flip_supported_set(Ecore_X_Window root, Eina_Bool enabled)
1099 if (!root) root = DefaultRootWindow(_ecore_x_disp);
1100 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1103 win = ecore_x_window_new(root, 1, 2, 3, 4);
1104 ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_DRI_BUFF_FLIP_SUPPORTED,
1105 ECORE_X_ATOM_WINDOW, &win, 1);
1106 ecore_x_window_prop_xid_set(root, ECORE_X_ATOM_E_COMP_DRI_BUFF_FLIP_SUPPORTED,
1107 ECORE_X_ATOM_WINDOW, &win, 1);
1112 ecore_x_window_prop_xid_get(root,
1113 ECORE_X_ATOM_E_COMP_DRI_BUFF_FLIP_SUPPORTED,
1114 ECORE_X_ATOM_WINDOW,
1116 if ((ret == 1) && (win))
1118 ecore_x_window_prop_property_del(root, ECORE_X_ATOM_E_COMP_DRI_BUFF_FLIP_SUPPORTED);
1119 ecore_x_window_free(win);
1125 ecore_x_e_comp_dri_buff_flip_supported_get(Ecore_X_Window root)
1127 Ecore_X_Window win, win2;
1130 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1131 if (!root) root = DefaultRootWindow(_ecore_x_disp);
1133 ecore_x_window_prop_xid_get(root,
1134 ECORE_X_ATOM_E_COMP_DRI_BUFF_FLIP_SUPPORTED,
1135 ECORE_X_ATOM_WINDOW,
1137 if ((ret == 1) && (win))
1140 ecore_x_window_prop_xid_get(win,
1141 ECORE_X_ATOM_E_COMP_DRI_BUFF_FLIP_SUPPORTED,
1142 ECORE_X_ATOM_WINDOW,
1144 if ((ret == 1) && (win2 == win)) return EINA_TRUE;