2005-03-14 07:32:10 -08:00
|
|
|
/*
|
|
|
|
* OLD E hints
|
|
|
|
*/
|
2009-01-31 10:33:39 -08:00
|
|
|
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include <config.h>
|
2010-08-02 10:47:49 -07:00
|
|
|
#endif /* ifdef HAVE_CONFIG_H */
|
2009-01-31 10:33:39 -08:00
|
|
|
|
2012-11-23 14:38:23 -08:00
|
|
|
#ifdef STDC_HEADERS
|
|
|
|
# include <stdlib.h>
|
|
|
|
# include <stddef.h>
|
|
|
|
#else
|
|
|
|
# ifdef HAVE_STDLIB_H
|
|
|
|
# include <stdlib.h>
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
#ifdef HAVE_ALLOCA_H
|
|
|
|
# include <alloca.h>
|
|
|
|
#elif !defined alloca
|
|
|
|
# ifdef __GNUC__
|
|
|
|
# define alloca __builtin_alloca
|
|
|
|
# elif defined _AIX
|
|
|
|
# define alloca __alloca
|
|
|
|
# elif defined _MSC_VER
|
|
|
|
# include <malloc.h>
|
|
|
|
# define alloca _alloca
|
|
|
|
# elif !defined HAVE_ALLOCA
|
|
|
|
# ifdef __cplusplus
|
|
|
|
extern "C"
|
|
|
|
# endif
|
|
|
|
void *alloca (size_t);
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
2005-03-14 07:32:10 -08:00
|
|
|
#include "Ecore.h"
|
|
|
|
#include "ecore_x_private.h"
|
|
|
|
#include "Ecore_X.h"
|
|
|
|
#include "Ecore_X_Atoms.h"
|
|
|
|
|
2006-01-06 12:22:09 -08:00
|
|
|
EAPI void
|
2005-09-07 02:50:14 -07:00
|
|
|
ecore_x_e_init(void)
|
2005-03-14 07:32:10 -08:00
|
|
|
{
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2005-03-14 07:32:10 -08:00
|
|
|
|
2006-01-06 12:22:09 -08:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_frame_size_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
int fl,
|
|
|
|
int fr,
|
|
|
|
int ft,
|
|
|
|
int fb)
|
2005-03-14 07:32:10 -08:00
|
|
|
{
|
2005-05-16 05:59:26 -07:00
|
|
|
unsigned int frames[4];
|
2005-03-14 07:32:10 -08:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2005-03-14 07:32:10 -08:00
|
|
|
frames[0] = fl;
|
|
|
|
frames[1] = fr;
|
|
|
|
frames[2] = ft;
|
|
|
|
frames[3] = fb;
|
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_FRAME_SIZE, frames, 4);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2008-07-24 18:45:36 -07:00
|
|
|
|
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_virtual_keyboard_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int is_keyboard)
|
2008-07-24 18:45:36 -07:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2008-07-24 18:45:36 -07:00
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD,
|
2010-07-27 22:23:42 -07:00
|
|
|
&is_keyboard, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2008-07-24 18:45:36 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
EAPI Eina_Bool
|
2008-07-24 18:45:36 -07:00
|
|
|
ecore_x_e_virtual_keyboard_get(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
unsigned int val;
|
2009-12-06 09:31:04 -08:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD,
|
|
|
|
&val, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_FALSE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
return val ? EINA_TRUE : EINA_FALSE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2008-07-24 18:45:36 -07:00
|
|
|
|
|
|
|
static Ecore_X_Virtual_Keyboard_State
|
|
|
|
_ecore_x_e_vkbd_state_get(Ecore_X_Atom atom)
|
|
|
|
{
|
2010-07-27 22:23:42 -07:00
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_ON;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_IP;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_URL;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2008-07-24 19:21:03 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2008-07-24 18:45:36 -07:00
|
|
|
|
|
|
|
static Ecore_X_Atom
|
|
|
|
_ecore_x_e_vkbd_atom_get(Ecore_X_Virtual_Keyboard_State state)
|
|
|
|
{
|
|
|
|
switch (state)
|
|
|
|
{
|
2010-07-27 22:23:42 -07:00
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_ON:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_IP:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_URL:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
case ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2011-01-13 23:03:33 -08:00
|
|
|
default: break;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2008-07-24 18:45:36 -07:00
|
|
|
return 0;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2008-07-24 18:45:36 -07:00
|
|
|
|
|
|
|
EAPI void
|
2011-12-03 12:05:48 -08:00
|
|
|
ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win,
|
2010-07-27 22:23:42 -07:00
|
|
|
Ecore_X_Virtual_Keyboard_State state)
|
2008-07-24 18:45:36 -07:00
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2008-07-24 18:45:36 -07:00
|
|
|
atom = _ecore_x_e_vkbd_atom_get(state);
|
|
|
|
ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
|
2010-07-27 22:23:42 -07:00
|
|
|
&atom, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2008-07-24 18:45:36 -07:00
|
|
|
|
|
|
|
EAPI Ecore_X_Virtual_Keyboard_State
|
|
|
|
ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win)
|
|
|
|
{
|
2012-07-02 19:41:35 -07:00
|
|
|
Ecore_X_Atom atom = 0;
|
2009-12-27 18:13:20 -08:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2008-07-24 18:45:36 -07:00
|
|
|
if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
|
2010-07-27 22:23:42 -07:00
|
|
|
&atom, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2008-07-24 18:45:36 -07:00
|
|
|
return _ecore_x_e_vkbd_state_get(atom);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2008-07-24 18:45:36 -07:00
|
|
|
|
|
|
|
EAPI void
|
2011-12-03 12:05:48 -08:00
|
|
|
ecore_x_e_virtual_keyboard_state_send(Ecore_X_Window win,
|
2010-07-27 22:23:42 -07:00
|
|
|
Ecore_X_Virtual_Keyboard_State state)
|
2008-07-24 18:45:36 -07:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2008-07-24 18:45:36 -07:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
_ecore_x_e_vkbd_atom_get(state),
|
|
|
|
0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-06 09:31:04 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
static Ecore_X_Atom
|
|
|
|
_ecore_x_e_illume_atom_get(Ecore_X_Illume_Mode mode)
|
2009-12-11 11:51:47 -08:00
|
|
|
{
|
2010-07-27 22:23:42 -07:00
|
|
|
switch (mode)
|
2009-12-11 11:51:47 -08:00
|
|
|
{
|
|
|
|
case ECORE_X_ILLUME_MODE_SINGLE:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_ILLUME_MODE_SINGLE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-29 14:14:38 -08:00
|
|
|
case ECORE_X_ILLUME_MODE_DUAL_TOP:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-29 14:14:38 -08:00
|
|
|
case ECORE_X_ILLUME_MODE_DUAL_LEFT:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-11 11:51:47 -08:00
|
|
|
default:
|
2011-10-20 22:40:59 -07:00
|
|
|
break;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
return ECORE_X_ILLUME_MODE_UNKNOWN;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-11 11:51:47 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
static Ecore_X_Illume_Mode
|
|
|
|
_ecore_x_e_illume_mode_get(Ecore_X_Atom atom)
|
2009-12-11 11:51:47 -08:00
|
|
|
{
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_MODE_SINGLE)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ILLUME_MODE_SINGLE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-29 14:14:38 -08:00
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ILLUME_MODE_DUAL_TOP;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-29 14:14:38 -08:00
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ILLUME_MODE_DUAL_LEFT;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-11 11:51:47 -08:00
|
|
|
return ECORE_X_ILLUME_MODE_UNKNOWN;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-11 11:51:47 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_illume_zone_set(Ecore_X_Window win,
|
|
|
|
Ecore_X_Window zone)
|
2010-01-14 12:08:27 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE,
|
2010-02-18 18:27:18 -08:00
|
|
|
&zone, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI Ecore_X_Window
|
|
|
|
ecore_x_e_illume_zone_get(Ecore_X_Window win)
|
2010-02-18 18:27:18 -08:00
|
|
|
{
|
|
|
|
Ecore_X_Window zone;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_window_get(win, ECORE_X_ATOM_E_ILLUME_ZONE,
|
|
|
|
&zone, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return 0;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-18 18:27:18 -08:00
|
|
|
return zone;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-14 12:08:27 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-12-03 12:05:48 -08:00
|
|
|
ecore_x_e_illume_zone_list_set(Ecore_X_Window win,
|
2010-07-27 22:23:42 -07:00
|
|
|
Ecore_X_Window *zones,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int n_zones)
|
2010-02-22 09:12:24 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE_LIST,
|
2010-02-22 09:12:24 -08:00
|
|
|
zones, n_zones);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-22 09:12:24 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_illume_conformant_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int is_conformant)
|
2009-12-06 09:31:04 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-06 09:31:04 -08:00
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT,
|
2010-07-27 22:23:42 -07:00
|
|
|
&is_conformant, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-06 09:31:04 -08:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
EAPI Eina_Bool
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_conformant_get(Ecore_X_Window win)
|
2009-12-06 09:31:04 -08:00
|
|
|
{
|
2009-12-06 18:04:23 -08:00
|
|
|
unsigned int val = 0;
|
2009-12-06 09:31:04 -08:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT,
|
2009-12-23 07:26:19 -08:00
|
|
|
&val, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_FALSE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
return val ? EINA_TRUE : EINA_FALSE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-11 11:51:47 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-12-03 12:05:48 -08:00
|
|
|
ecore_x_e_illume_mode_set(Ecore_X_Window win,
|
2011-10-20 22:40:59 -07:00
|
|
|
Ecore_X_Illume_Mode mode)
|
2009-12-11 11:51:47 -08:00
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-11 11:51:47 -08:00
|
|
|
atom = _ecore_x_e_illume_atom_get(mode);
|
2010-02-18 18:27:18 -08:00
|
|
|
ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_MODE,
|
2010-07-27 22:23:42 -07:00
|
|
|
&atom, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-11 11:51:47 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI Ecore_X_Illume_Mode
|
|
|
|
ecore_x_e_illume_mode_get(Ecore_X_Window win)
|
2009-12-11 11:51:47 -08:00
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-18 18:27:18 -08:00
|
|
|
if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_ILLUME_MODE, &atom, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ILLUME_MODE_UNKNOWN;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-11 11:51:47 -08:00
|
|
|
return _ecore_x_e_illume_mode_get(atom);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-11 11:51:47 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-12-03 12:05:48 -08:00
|
|
|
ecore_x_e_illume_mode_send(Ecore_X_Window win,
|
2011-10-20 22:40:59 -07:00
|
|
|
Ecore_X_Illume_Mode mode)
|
2009-12-11 11:51:47 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-11 11:51:47 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_MODE,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
_ecore_x_e_illume_atom_get(mode),
|
|
|
|
0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-11 16:46:54 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_focus_back_send(Ecore_X_Window win)
|
2010-02-18 18:27:18 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-18 18:27:18 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_BACK,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_focus_forward_send(Ecore_X_Window win)
|
2010-02-18 18:27:18 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-18 18:27:18 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_FORWARD,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_focus_home_send(Ecore_X_Window win)
|
2009-12-11 16:46:54 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-18 18:27:18 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_HOME,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-11 16:46:54 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_close_send(Ecore_X_Window win)
|
2009-12-11 16:46:54 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-11 16:46:54 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_CLOSE,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-15 18:20:38 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_home_new_send(Ecore_X_Window win)
|
2010-02-18 18:27:18 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-18 18:27:18 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_HOME_NEW,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_home_del_send(Ecore_X_Window win)
|
2009-12-29 17:36:14 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-18 18:27:18 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_HOME_DEL,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-29 17:36:14 -08:00
|
|
|
|
2012-05-22 05:09:06 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_access_action_next_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
|
2012-05-24 01:57:58 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
2012-05-22 05:09:06 -07:00
|
|
|
win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_NEXT,
|
2012-05-24 01:57:58 -07:00
|
|
|
0, 0, 0);
|
2012-05-22 05:09:06 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_access_action_prev_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
|
2012-05-24 01:57:58 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
2012-05-22 05:09:06 -07:00
|
|
|
win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_PREV,
|
2012-05-24 01:57:58 -07:00
|
|
|
0, 0, 0);
|
2012-05-22 05:09:06 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_access_action_activate_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
|
2012-05-24 01:57:58 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
2012-05-22 05:09:06 -07:00
|
|
|
win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ACTIVATE,
|
2012-05-24 01:57:58 -07:00
|
|
|
0, 0, 0);
|
2012-05-22 05:09:06 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_access_action_read_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
|
2012-05-24 01:57:58 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
2012-05-22 05:09:06 -07:00
|
|
|
win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ,
|
2012-05-24 01:57:58 -07:00
|
|
|
0, 0, 0);
|
2012-05-22 05:09:06 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_access_action_read_next_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
|
2012-05-24 01:57:58 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
2012-05-22 05:09:06 -07:00
|
|
|
win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ_NEXT,
|
2012-05-24 01:57:58 -07:00
|
|
|
0, 0, 0);
|
2012-05-22 05:09:06 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_access_action_read_prev_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
|
2012-05-24 01:57:58 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
2012-05-22 05:09:06 -07:00
|
|
|
win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ_PREV,
|
2012-05-24 01:57:58 -07:00
|
|
|
0, 0, 0);
|
2012-05-22 05:09:06 -07:00
|
|
|
}
|
|
|
|
|
2012-09-03 02:42:18 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_access_action_up_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
|
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_UP,
|
|
|
|
0, 0, 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_access_action_down_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
|
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DOWN,
|
|
|
|
0, 0, 0);
|
|
|
|
}
|
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_illume_drag_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int drag)
|
2009-12-15 18:20:38 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-16 11:43:53 -08:00
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_DRAG, &drag, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-15 18:20:38 -08:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
EAPI Eina_Bool
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_drag_get(Ecore_X_Window win)
|
2009-12-15 18:20:38 -08:00
|
|
|
{
|
|
|
|
unsigned int val = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-15 18:20:38 -08:00
|
|
|
if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG, &val, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_FALSE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
return val ? EINA_TRUE : EINA_FALSE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-15 18:20:38 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_illume_drag_locked_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int is_locked)
|
2009-12-16 11:43:53 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED,
|
2009-12-16 11:43:53 -08:00
|
|
|
&is_locked, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-16 11:43:53 -08:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
EAPI Eina_Bool
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_drag_locked_get(Ecore_X_Window win)
|
2009-12-16 11:43:53 -08:00
|
|
|
{
|
|
|
|
unsigned int val = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED,
|
2009-12-16 11:43:53 -08:00
|
|
|
&val, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_FALSE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
return val ? EINA_TRUE : EINA_FALSE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-16 11:43:53 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_drag_start_send(Ecore_X_Window win)
|
2009-12-15 18:20:38 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-15 18:20:38 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_DRAG_START,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-15 18:20:38 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_drag_end_send(Ecore_X_Window win)
|
2009-12-15 18:20:38 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-15 18:20:38 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_DRAG_END,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-23 07:26:19 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_indicator_geometry_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
int x,
|
|
|
|
int y,
|
|
|
|
int w,
|
|
|
|
int h)
|
2010-02-18 18:27:18 -08:00
|
|
|
{
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-18 18:27:18 -08:00
|
|
|
geom[0] = x;
|
|
|
|
geom[1] = y;
|
|
|
|
geom[2] = w;
|
|
|
|
geom[3] = h;
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY,
|
2010-02-18 18:27:18 -08:00
|
|
|
geom, 4);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
EAPI Eina_Bool
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_indicator_geometry_get(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
int *x,
|
|
|
|
int *y,
|
|
|
|
int *w,
|
|
|
|
int *h)
|
2010-02-18 18:27:18 -08:00
|
|
|
{
|
|
|
|
int ret = 0;
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ret =
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY,
|
|
|
|
geom, 4);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (ret != 4)
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_FALSE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (x)
|
2011-10-20 22:40:59 -07:00
|
|
|
*x = geom[0];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (y)
|
2011-10-20 22:40:59 -07:00
|
|
|
*y = geom[1];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (w)
|
2011-10-20 22:40:59 -07:00
|
|
|
*w = geom[2];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (h)
|
2011-10-20 22:40:59 -07:00
|
|
|
*h = geom[3];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
return EINA_TRUE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_softkey_geometry_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
int x,
|
|
|
|
int y,
|
|
|
|
int w,
|
|
|
|
int h)
|
2010-02-18 18:27:18 -08:00
|
|
|
{
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-18 18:27:18 -08:00
|
|
|
geom[0] = x;
|
|
|
|
geom[1] = y;
|
|
|
|
geom[2] = w;
|
|
|
|
geom[3] = h;
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY,
|
2010-02-18 18:27:18 -08:00
|
|
|
geom, 4);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
EAPI Eina_Bool
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_softkey_geometry_get(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
int *x,
|
|
|
|
int *y,
|
|
|
|
int *w,
|
|
|
|
int *h)
|
2010-02-18 18:27:18 -08:00
|
|
|
{
|
|
|
|
int ret = 0;
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ret =
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY,
|
|
|
|
geom, 4);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (ret != 4)
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_FALSE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (x)
|
2011-10-20 22:40:59 -07:00
|
|
|
*x = geom[0];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (y)
|
2011-10-20 22:40:59 -07:00
|
|
|
*y = geom[1];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (w)
|
2011-10-20 22:40:59 -07:00
|
|
|
*w = geom[2];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (h)
|
2011-10-20 22:40:59 -07:00
|
|
|
*h = geom[3];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
return EINA_TRUE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-23 12:53:34 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_keyboard_geometry_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
int x,
|
|
|
|
int y,
|
|
|
|
int w,
|
|
|
|
int h)
|
2010-02-23 12:53:34 -08:00
|
|
|
{
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-23 12:53:34 -08:00
|
|
|
geom[0] = x;
|
|
|
|
geom[1] = y;
|
|
|
|
geom[2] = w;
|
|
|
|
geom[3] = h;
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY,
|
2010-02-23 12:53:34 -08:00
|
|
|
geom, 4);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-23 12:53:34 -08:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
EAPI Eina_Bool
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_keyboard_geometry_get(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
int *x,
|
|
|
|
int *y,
|
|
|
|
int *w,
|
|
|
|
int *h)
|
2010-02-23 12:53:34 -08:00
|
|
|
{
|
|
|
|
int ret = 0;
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ret =
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY,
|
|
|
|
geom, 4);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (ret != 4)
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_FALSE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (x)
|
2011-10-20 22:40:59 -07:00
|
|
|
*x = geom[0];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (y)
|
2011-10-20 22:40:59 -07:00
|
|
|
*y = geom[1];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (w)
|
2011-10-20 22:40:59 -07:00
|
|
|
*w = geom[2];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
if (h)
|
2011-10-20 22:40:59 -07:00
|
|
|
*h = geom[3];
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
return EINA_TRUE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-18 18:27:18 -08:00
|
|
|
|
2009-12-27 18:13:20 -08:00
|
|
|
static Ecore_X_Atom
|
|
|
|
_ecore_x_e_quickpanel_atom_get(Ecore_X_Illume_Quickpanel_State state)
|
|
|
|
{
|
2010-07-27 22:23:42 -07:00
|
|
|
switch (state)
|
2009-12-27 18:13:20 -08:00
|
|
|
{
|
|
|
|
case ECORE_X_ILLUME_QUICKPANEL_STATE_ON:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-27 18:13:20 -08:00
|
|
|
case ECORE_X_ILLUME_QUICKPANEL_STATE_OFF:
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-27 18:13:20 -08:00
|
|
|
default:
|
2011-10-20 22:40:59 -07:00
|
|
|
break;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-27 18:13:20 -08:00
|
|
|
return 0;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-27 18:13:20 -08:00
|
|
|
|
|
|
|
static Ecore_X_Illume_Quickpanel_State
|
|
|
|
_ecore_x_e_quickpanel_state_get(Ecore_X_Atom atom)
|
|
|
|
{
|
2010-07-27 22:23:42 -07:00
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ILLUME_QUICKPANEL_STATE_ON;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-27 18:13:20 -08:00
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF)
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ILLUME_QUICKPANEL_STATE_OFF;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-27 18:13:20 -08:00
|
|
|
return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-27 18:13:20 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_illume_quickpanel_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int is_quickpanel)
|
2009-12-23 07:26:19 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-23 07:26:19 -08:00
|
|
|
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL,
|
2010-07-27 22:23:42 -07:00
|
|
|
&is_quickpanel, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-23 07:26:19 -08:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
EAPI Eina_Bool
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_quickpanel_get(Ecore_X_Window win)
|
2009-12-23 07:26:19 -08:00
|
|
|
{
|
|
|
|
unsigned int val = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL,
|
2009-12-23 07:26:19 -08:00
|
|
|
&val, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_FALSE;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:49:05 -07:00
|
|
|
return val ? EINA_TRUE : EINA_FALSE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-27 18:13:20 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-12-03 12:05:48 -08:00
|
|
|
ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win,
|
2010-07-27 22:23:42 -07:00
|
|
|
Ecore_X_Illume_Quickpanel_State state)
|
2009-12-27 18:13:20 -08:00
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-27 18:13:20 -08:00
|
|
|
atom = _ecore_x_e_quickpanel_atom_get(state);
|
|
|
|
ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
|
2010-07-27 22:23:42 -07:00
|
|
|
&atom, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-27 18:13:20 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI Ecore_X_Illume_Quickpanel_State
|
|
|
|
ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win)
|
2009-12-27 18:13:20 -08:00
|
|
|
{
|
2012-07-02 19:41:35 -07:00
|
|
|
Ecore_X_Atom atom = 0;
|
2009-12-27 18:13:20 -08:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_atom_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
|
|
|
|
&atom, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2009-12-27 18:13:20 -08:00
|
|
|
return _ecore_x_e_quickpanel_state_get(atom);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-27 18:13:20 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-12-03 12:05:48 -08:00
|
|
|
ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win,
|
2010-07-27 22:23:42 -07:00
|
|
|
Ecore_X_Illume_Quickpanel_State state)
|
2009-12-27 18:13:20 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2009-12-27 18:13:20 -08:00
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
_ecore_x_e_quickpanel_atom_get(state),
|
|
|
|
0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-29 17:17:04 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win)
|
2010-04-11 13:37:11 -07:00
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_client_message32_send(win,
|
2010-04-11 13:37:11 -07:00
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE_TOGGLE,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
0, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-04-11 13:37:11 -07:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_quickpanel_priority_major_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int priority)
|
2009-12-29 17:17:04 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-09-26 10:58:44 -07:00
|
|
|
ecore_x_window_prop_card32_set(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR,
|
|
|
|
&priority, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-29 17:17:04 -08:00
|
|
|
|
2011-04-20 07:15:33 -07:00
|
|
|
EAPI int
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_quickpanel_priority_major_get(Ecore_X_Window win)
|
2009-12-29 17:17:04 -08:00
|
|
|
{
|
|
|
|
unsigned int val = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR,
|
2009-12-29 17:17:04 -08:00
|
|
|
&val, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return 0;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:58:44 -07:00
|
|
|
return val;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-29 17:17:04 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_quickpanel_priority_minor_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int priority)
|
2009-12-29 17:17:04 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-09-26 10:58:44 -07:00
|
|
|
ecore_x_window_prop_card32_set(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR,
|
|
|
|
&priority, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2009-12-29 17:17:04 -08:00
|
|
|
|
2011-04-20 07:15:33 -07:00
|
|
|
EAPI int
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_e_illume_quickpanel_priority_minor_get(Ecore_X_Window win)
|
2009-12-29 17:17:04 -08:00
|
|
|
{
|
|
|
|
unsigned int val = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR,
|
2009-12-29 17:17:04 -08:00
|
|
|
&val, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return 0;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-09-26 10:58:44 -07:00
|
|
|
return val;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-08 08:16:05 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_illume_quickpanel_zone_set(Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
unsigned int zone)
|
2010-01-16 09:02:33 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_window_prop_card32_set(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE,
|
2010-02-18 18:27:18 -08:00
|
|
|
&zone, 1);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-16 09:02:33 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI int
|
|
|
|
ecore_x_e_illume_quickpanel_zone_get(Ecore_X_Window win)
|
2010-01-16 09:02:33 -08:00
|
|
|
{
|
2010-02-18 18:27:18 -08:00
|
|
|
unsigned int val = 0;
|
2010-01-16 09:02:33 -08:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE,
|
2010-02-18 18:27:18 -08:00
|
|
|
&val, 1))
|
2011-10-20 22:40:59 -07:00
|
|
|
return 0;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-18 18:27:18 -08:00
|
|
|
return val;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-16 09:02:33 -08:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win)
|
2010-01-22 14:48:59 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-09-26 10:58:44 -07:00
|
|
|
ecore_x_client_message32_send(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE,
|
2011-04-20 07:15:33 -07:00
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
2010-09-26 10:58:44 -07:00
|
|
|
1, 0, 0, 0, 0);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-22 14:48:59 -08:00
|
|
|
|
2012-03-07 02:13:24 -08:00
|
|
|
static Ecore_X_Atom
|
|
|
|
_ecore_x_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state)
|
|
|
|
{
|
|
|
|
switch (state)
|
|
|
|
{
|
|
|
|
case ECORE_X_ILLUME_CLIPBOARD_STATE_ON:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON;
|
|
|
|
case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static Ecore_X_Illume_Clipboard_State
|
|
|
|
_ecore_x_e_clipboard_state_get(Ecore_X_Atom atom)
|
|
|
|
{
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON)
|
|
|
|
return ECORE_X_ILLUME_CLIPBOARD_STATE_ON;
|
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF)
|
|
|
|
return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF;
|
|
|
|
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN;
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win,
|
|
|
|
Ecore_X_Illume_Clipboard_State state)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
atom = _ecore_x_e_clipboard_atom_get(state);
|
|
|
|
|
|
|
|
ecore_x_window_prop_atom_set(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE,
|
|
|
|
&atom, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI Ecore_X_Illume_Clipboard_State
|
|
|
|
ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
|
|
|
|
if (!ecore_x_window_prop_atom_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE,
|
|
|
|
&atom, 1))
|
|
|
|
return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN;
|
|
|
|
return _ecore_x_e_clipboard_state_get(atom);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win,
|
|
|
|
int x, int y, int w, int h)
|
|
|
|
{
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
geom[0] = x;
|
|
|
|
geom[1] = y;
|
|
|
|
geom[2] = w;
|
|
|
|
geom[3] = h;
|
|
|
|
ecore_x_window_prop_card32_set(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY,
|
|
|
|
geom, 4);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI Eina_Bool
|
|
|
|
ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win,
|
|
|
|
int *x, int *y, int *w, int *h)
|
|
|
|
{
|
|
|
|
int ret = 0;
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ret =
|
|
|
|
ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY,
|
|
|
|
geom, 4);
|
|
|
|
if (ret != 4) return EINA_FALSE;
|
|
|
|
|
|
|
|
if (x) *x = geom[0];
|
|
|
|
if (y) *y = geom[1];
|
|
|
|
if (w) *w = geom[2];
|
|
|
|
if (h) *h = geom[3];
|
|
|
|
|
|
|
|
return EINA_TRUE;
|
|
|
|
}
|
|
|
|
|
2012-07-03 00:36:55 -07:00
|
|
|
/* for sliding window */
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_sliding_win_state_set(Ecore_X_Window win,
|
|
|
|
unsigned int is_visible)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_window_prop_card32_set(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE,
|
|
|
|
&is_visible, 1);
|
|
|
|
} /* ecore_x_e_illume_sliding_win_state_set */
|
|
|
|
|
|
|
|
EAPI int
|
|
|
|
ecore_x_e_illume_sliding_win_state_get(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
unsigned int is_visible = 0;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE,
|
|
|
|
&is_visible, 1))
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
return is_visible;
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_sliding_win_geometry_set(Ecore_X_Window win,
|
|
|
|
int x,
|
|
|
|
int y,
|
|
|
|
int w,
|
|
|
|
int h)
|
|
|
|
{
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
geom[0] = x;
|
|
|
|
geom[1] = y;
|
|
|
|
geom[2] = w;
|
|
|
|
geom[3] = h;
|
|
|
|
ecore_x_window_prop_card32_set(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY,
|
|
|
|
geom, 4);
|
|
|
|
} /* ecore_x_e_illume_sliding_win_geometry_set */
|
|
|
|
|
|
|
|
EAPI int
|
|
|
|
ecore_x_e_illume_sliding_win_geometry_get(Ecore_X_Window win,
|
|
|
|
int *x,
|
|
|
|
int *y,
|
|
|
|
int *w,
|
|
|
|
int *h)
|
|
|
|
{
|
|
|
|
int ret = 0;
|
|
|
|
unsigned int geom[4];
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ret =
|
|
|
|
ecore_x_window_prop_card32_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY,
|
|
|
|
geom, 4);
|
|
|
|
if (ret != 4)
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
if (x)
|
|
|
|
*x = geom[0];
|
|
|
|
|
|
|
|
if (y)
|
|
|
|
*y = geom[1];
|
|
|
|
|
|
|
|
if (w)
|
|
|
|
*w = geom[2];
|
|
|
|
|
|
|
|
if (h)
|
|
|
|
*h = geom[3];
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}/* ecore_x_e_illume_sliding_win_geometry_get */
|
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-12-03 12:05:48 -08:00
|
|
|
ecore_x_e_comp_sync_counter_set(Ecore_X_Window win,
|
2010-07-27 22:23:42 -07:00
|
|
|
Ecore_X_Sync_Counter counter)
|
2010-01-30 02:42:22 -08:00
|
|
|
{
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-01-30 02:42:22 -08:00
|
|
|
if (counter)
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER,
|
|
|
|
ECORE_X_ATOM_CARDINAL, &counter, 1);
|
2010-01-30 02:42:22 -08:00
|
|
|
else
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-30 02:42:22 -08:00
|
|
|
|
|
|
|
EAPI Ecore_X_Sync_Counter
|
|
|
|
ecore_x_e_comp_sync_counter_get(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
int ret = 0;
|
|
|
|
Ecore_X_Sync_Counter counter = 0;
|
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ret =
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_xid_get(win,
|
|
|
|
ECORE_X_ATOM_E_COMP_SYNC_COUNTER,
|
|
|
|
ECORE_X_ATOM_CARDINAL,
|
|
|
|
&counter, 1);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (ret != 1)
|
2011-10-20 22:40:59 -07:00
|
|
|
return 0;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-01-30 02:42:22 -08:00
|
|
|
return counter;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-30 02:42:22 -08:00
|
|
|
|
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root,
|
|
|
|
Ecore_X_Window win)
|
2010-01-30 02:42:22 -08:00
|
|
|
{
|
|
|
|
XEvent xev;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!root)
|
2011-10-20 22:40:59 -07:00
|
|
|
root = DefaultRootWindow(_ecore_x_disp);
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-01-30 02:42:22 -08:00
|
|
|
xev.xclient.type = ClientMessage;
|
|
|
|
xev.xclient.display = _ecore_x_disp;
|
|
|
|
xev.xclient.window = win;
|
|
|
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE;
|
|
|
|
xev.xclient.format = 32;
|
|
|
|
xev.xclient.data.l[0] = win;
|
2011-03-31 01:13:14 -07:00
|
|
|
xev.xclient.data.l[1] = 0; // version
|
2010-01-30 02:42:22 -08:00
|
|
|
xev.xclient.data.l[2] = 0; // later
|
|
|
|
xev.xclient.data.l[3] = 0; // later
|
|
|
|
xev.xclient.data.l[4] = 0; // later
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-01 06:13:48 -08:00
|
|
|
XSendEvent(_ecore_x_disp, root, False,
|
2010-07-27 22:23:42 -07:00
|
|
|
SubstructureRedirectMask | SubstructureNotifyMask,
|
2010-02-01 06:13:48 -08:00
|
|
|
&xev);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-30 02:42:22 -08:00
|
|
|
|
2011-03-31 01:13:14 -07:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root,
|
|
|
|
Ecore_X_Window win,
|
2011-12-03 12:05:48 -08:00
|
|
|
int w,
|
|
|
|
int h)
|
2011-03-31 01:13:14 -07:00
|
|
|
{
|
|
|
|
XEvent xev;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!root)
|
2011-10-20 22:40:59 -07:00
|
|
|
root = DefaultRootWindow(_ecore_x_disp);
|
2011-03-31 01:13:14 -07:00
|
|
|
|
|
|
|
xev.xclient.type = ClientMessage;
|
|
|
|
xev.xclient.display = _ecore_x_disp;
|
|
|
|
xev.xclient.window = win;
|
|
|
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE;
|
|
|
|
xev.xclient.format = 32;
|
|
|
|
xev.xclient.data.l[0] = win;
|
|
|
|
xev.xclient.data.l[1] = 1; // version
|
|
|
|
xev.xclient.data.l[2] = w; // win width at draw time
|
|
|
|
xev.xclient.data.l[3] = h; // win height at draw time
|
|
|
|
xev.xclient.data.l[4] = 0; // later
|
|
|
|
|
|
|
|
XSendEvent(_ecore_x_disp, root, False,
|
|
|
|
SubstructureRedirectMask | SubstructureNotifyMask,
|
|
|
|
&xev);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2011-03-31 01:13:14 -07:00
|
|
|
|
2012-07-03 02:43:56 -07:00
|
|
|
/*
|
|
|
|
* @since 1.3
|
|
|
|
*
|
|
|
|
*/
|
2012-07-03 00:36:55 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_window_profile_list_set(Ecore_X_Window win,
|
|
|
|
const char **profiles,
|
|
|
|
unsigned int num_profiles)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom *atoms;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!win)
|
|
|
|
return;
|
|
|
|
|
|
|
|
if (!num_profiles)
|
|
|
|
ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE_LIST);
|
|
|
|
else
|
|
|
|
{
|
|
|
|
atoms = alloca(num_profiles * sizeof(Ecore_X_Atom));
|
|
|
|
ecore_x_atoms_get(profiles, num_profiles, atoms);
|
|
|
|
ecore_x_window_prop_property_set(win,
|
|
|
|
ECORE_X_ATOM_E_PROFILE_LIST,
|
|
|
|
XA_ATOM, 32, (void *)atoms,
|
|
|
|
num_profiles);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-07-03 02:43:56 -07:00
|
|
|
/*
|
|
|
|
* @since 1.3
|
|
|
|
*/
|
2012-07-03 00:36:55 -07:00
|
|
|
EAPI Eina_Bool
|
|
|
|
ecore_x_e_window_profile_list_get(Ecore_X_Window win,
|
|
|
|
const char ***profiles,
|
|
|
|
int *ret_num)
|
|
|
|
{
|
|
|
|
unsigned char *data;
|
|
|
|
Ecore_X_Atom *atoms;
|
|
|
|
int num, i;
|
|
|
|
|
|
|
|
if (ret_num)
|
|
|
|
*ret_num = 0;
|
|
|
|
|
|
|
|
if (profiles)
|
|
|
|
*profiles = NULL;
|
|
|
|
|
|
|
|
if (!win)
|
|
|
|
return EINA_FALSE;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!ecore_x_window_prop_property_get(win,
|
|
|
|
ECORE_X_ATOM_E_PROFILE_LIST,
|
|
|
|
XA_ATOM, 32, &data, &num))
|
|
|
|
return EINA_FALSE;
|
|
|
|
|
|
|
|
if (ret_num)
|
|
|
|
*ret_num = num;
|
|
|
|
|
|
|
|
if (profiles)
|
|
|
|
{
|
|
|
|
(*profiles) = calloc(num, sizeof(char *));
|
|
|
|
if (!(*profiles))
|
|
|
|
{
|
|
|
|
if (ret_num)
|
|
|
|
*ret_num = 0;
|
|
|
|
|
|
|
|
if (data)
|
|
|
|
free(data);
|
|
|
|
|
|
|
|
return EINA_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
atoms = (Ecore_X_Atom *)data;
|
|
|
|
for (i = 0; i < num; i++)
|
|
|
|
(*profiles)[i] = ecore_x_atom_name_get(atoms[i]);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (data)
|
|
|
|
XFree(data);
|
|
|
|
|
|
|
|
return EINA_TRUE;
|
|
|
|
}
|
|
|
|
|
2012-07-03 02:43:56 -07:00
|
|
|
/*
|
|
|
|
* @since 1.3
|
|
|
|
*/
|
2012-07-03 00:36:55 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_window_profile_set(Ecore_X_Window win,
|
|
|
|
const char *profile)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom atom;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!win)
|
|
|
|
return;
|
|
|
|
|
|
|
|
if (!profile)
|
|
|
|
ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE);
|
|
|
|
else
|
|
|
|
{
|
|
|
|
atom = ecore_x_atom_get(profile);
|
|
|
|
ecore_x_window_prop_property_set(win, ECORE_X_ATOM_E_PROFILE,
|
|
|
|
XA_ATOM, 32, (void *)&atom, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-07-03 02:43:56 -07:00
|
|
|
/*
|
|
|
|
* @since 1.3
|
|
|
|
*/
|
2012-07-03 00:36:55 -07:00
|
|
|
EAPI char *
|
|
|
|
ecore_x_e_window_profile_get(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom *atom = NULL;
|
|
|
|
unsigned char *data;
|
|
|
|
char *profile = NULL;
|
|
|
|
int num;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_E_PROFILE,
|
|
|
|
XA_ATOM, 32, &data, &num))
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
if (data)
|
|
|
|
atom = (Ecore_X_Atom *)data;
|
|
|
|
|
|
|
|
if (atom)
|
|
|
|
profile = ecore_x_atom_name_get(atom[0]);
|
|
|
|
|
|
|
|
return profile;
|
|
|
|
}
|
|
|
|
|
2010-01-30 02:42:22 -08:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
|
2011-12-03 12:05:48 -08:00
|
|
|
Eina_Bool enabled)
|
2010-01-30 02:42:22 -08:00
|
|
|
{
|
|
|
|
Ecore_X_Window win;
|
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
if (!root)
|
2011-10-20 22:40:59 -07:00
|
|
|
root = DefaultRootWindow(_ecore_x_disp);
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-01-30 02:42:22 -08:00
|
|
|
if (enabled)
|
|
|
|
{
|
|
|
|
win = ecore_x_window_new(root, 1, 2, 3, 4);
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_ATOM_WINDOW, &win, 1);
|
2010-01-30 02:42:22 -08:00
|
|
|
ecore_x_window_prop_xid_set(root, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
|
2010-07-27 22:23:42 -07:00
|
|
|
ECORE_X_ATOM_WINDOW, &win, 1);
|
2010-01-30 02:42:22 -08:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int ret;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
ret =
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_xid_get(root,
|
|
|
|
ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
|
|
|
|
ECORE_X_ATOM_WINDOW,
|
|
|
|
&win, 1);
|
2010-01-30 02:42:22 -08:00
|
|
|
if ((ret == 1) && (win))
|
|
|
|
{
|
2010-07-27 22:23:42 -07:00
|
|
|
ecore_x_window_prop_property_del(
|
2011-10-20 22:40:59 -07:00
|
|
|
root,
|
|
|
|
ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED);
|
2010-01-30 09:47:59 -08:00
|
|
|
ecore_x_window_free(win);
|
2010-01-30 02:42:22 -08:00
|
|
|
}
|
|
|
|
}
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-30 02:42:22 -08:00
|
|
|
|
|
|
|
EAPI Eina_Bool
|
|
|
|
ecore_x_e_comp_sync_supported_get(Ecore_X_Window root)
|
|
|
|
{
|
|
|
|
Ecore_X_Window win, win2;
|
|
|
|
int ret;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!root)
|
2011-10-20 22:40:59 -07:00
|
|
|
root = DefaultRootWindow(_ecore_x_disp);
|
2010-07-27 22:23:42 -07:00
|
|
|
|
|
|
|
ret =
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_xid_get(root,
|
|
|
|
ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
|
|
|
|
ECORE_X_ATOM_WINDOW,
|
|
|
|
&win, 1);
|
2010-01-30 02:42:22 -08:00
|
|
|
if ((ret == 1) && (win))
|
|
|
|
{
|
2010-07-27 22:23:42 -07:00
|
|
|
ret =
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_xid_get(win,
|
|
|
|
ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
|
|
|
|
ECORE_X_ATOM_WINDOW,
|
|
|
|
&win2, 1);
|
2010-01-30 02:42:22 -08:00
|
|
|
if ((ret == 1) && (win2 == win))
|
2011-10-20 22:40:59 -07:00
|
|
|
return EINA_TRUE;
|
2010-01-30 02:42:22 -08:00
|
|
|
}
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2011-08-30 11:38:27 -07:00
|
|
|
return EINA_FALSE;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-30 02:42:22 -08:00
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_comp_sync_begin_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
XEvent xev;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-01-30 02:42:22 -08:00
|
|
|
xev.xclient.type = ClientMessage;
|
|
|
|
xev.xclient.display = _ecore_x_disp;
|
|
|
|
xev.xclient.window = win;
|
|
|
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_BEGIN;
|
|
|
|
xev.xclient.format = 32;
|
|
|
|
xev.xclient.data.l[0] = win;
|
|
|
|
xev.xclient.data.l[1] = 0; // later
|
|
|
|
xev.xclient.data.l[2] = 0; // later
|
|
|
|
xev.xclient.data.l[3] = 0; // later
|
|
|
|
xev.xclient.data.l[4] = 0; // later
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-01-30 02:42:22 -08:00
|
|
|
XSendEvent(_ecore_x_disp, win, False,
|
2010-07-27 22:23:42 -07:00
|
|
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
2010-02-01 06:13:48 -08:00
|
|
|
&xev);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-30 02:42:22 -08:00
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_comp_sync_end_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
XEvent xev;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-01-30 02:42:22 -08:00
|
|
|
xev.xclient.type = ClientMessage;
|
|
|
|
xev.xclient.display = _ecore_x_disp;
|
|
|
|
xev.xclient.window = win;
|
|
|
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_END;
|
|
|
|
xev.xclient.format = 32;
|
|
|
|
xev.xclient.data.l[0] = win;
|
|
|
|
xev.xclient.data.l[1] = 0; // later
|
|
|
|
xev.xclient.data.l[2] = 0; // later
|
|
|
|
xev.xclient.data.l[3] = 0; // later
|
|
|
|
xev.xclient.data.l[4] = 0; // later
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-01-30 02:42:22 -08:00
|
|
|
XSendEvent(_ecore_x_disp, win, False,
|
2010-07-27 22:23:42 -07:00
|
|
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
2010-02-01 06:13:48 -08:00
|
|
|
&xev);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-02-01 06:13:48 -08:00
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
XEvent xev;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-25 04:19:02 -08:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-02-01 06:13:48 -08:00
|
|
|
xev.xclient.type = ClientMessage;
|
|
|
|
xev.xclient.display = _ecore_x_disp;
|
|
|
|
xev.xclient.window = win;
|
|
|
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_CANCEL;
|
|
|
|
xev.xclient.format = 32;
|
|
|
|
xev.xclient.data.l[0] = win;
|
|
|
|
xev.xclient.data.l[1] = 0; // later
|
|
|
|
xev.xclient.data.l[2] = 0; // later
|
|
|
|
xev.xclient.data.l[3] = 0; // later
|
|
|
|
xev.xclient.data.l[4] = 0; // later
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-02-01 06:13:48 -08:00
|
|
|
XSendEvent(_ecore_x_disp, win, False,
|
2010-07-27 22:23:42 -07:00
|
|
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
2010-02-01 06:13:48 -08:00
|
|
|
&xev);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-01-30 02:42:22 -08:00
|
|
|
|
2010-04-12 01:24:19 -07:00
|
|
|
EAPI void
|
|
|
|
ecore_x_e_comp_flush_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
XEvent xev;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-04-12 01:24:19 -07:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
xev.xclient.type = ClientMessage;
|
|
|
|
xev.xclient.display = _ecore_x_disp;
|
|
|
|
xev.xclient.window = win;
|
|
|
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_FLUSH;
|
|
|
|
xev.xclient.format = 32;
|
|
|
|
xev.xclient.data.l[0] = win;
|
|
|
|
xev.xclient.data.l[1] = 0; // later
|
|
|
|
xev.xclient.data.l[2] = 0; // later
|
|
|
|
xev.xclient.data.l[3] = 0; // later
|
|
|
|
xev.xclient.data.l[4] = 0; // later
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-04-12 01:24:19 -07:00
|
|
|
XSendEvent(_ecore_x_disp, win, False,
|
2010-07-27 22:23:42 -07:00
|
|
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
2010-04-12 01:24:19 -07:00
|
|
|
&xev);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-04-12 01:24:19 -07:00
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_comp_dump_send(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
XEvent xev;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-04-12 01:24:19 -07:00
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
xev.xclient.type = ClientMessage;
|
|
|
|
xev.xclient.display = _ecore_x_disp;
|
|
|
|
xev.xclient.window = win;
|
|
|
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_DUMP;
|
|
|
|
xev.xclient.format = 32;
|
|
|
|
xev.xclient.data.l[0] = win;
|
|
|
|
xev.xclient.data.l[1] = 0; // later
|
|
|
|
xev.xclient.data.l[2] = 0; // later
|
|
|
|
xev.xclient.data.l[3] = 0; // later
|
|
|
|
xev.xclient.data.l[4] = 0; // later
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-04-12 01:24:19 -07:00
|
|
|
XSendEvent(_ecore_x_disp, win, False,
|
2010-07-27 22:23:42 -07:00
|
|
|
NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask,
|
2010-04-12 01:24:19 -07:00
|
|
|
&xev);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-07-13 16:31:16 -07:00
|
|
|
|
2010-07-27 22:23:42 -07:00
|
|
|
EAPI void
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_e_comp_pixmap_set(Ecore_X_Window win,
|
|
|
|
Ecore_X_Pixmap pixmap)
|
2010-07-13 16:31:16 -07:00
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (pixmap)
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_PIXMAP,
|
|
|
|
ECORE_X_ATOM_PIXMAP, &pixmap, 1);
|
2010-07-13 16:31:16 -07:00
|
|
|
else
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_property_del(win, pixmap);
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-07-13 16:31:16 -07:00
|
|
|
|
|
|
|
EAPI Ecore_X_Pixmap
|
|
|
|
ecore_x_e_comp_pixmap_get(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
int ret = 0;
|
|
|
|
Ecore_X_Pixmap pixmap = 0;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
2010-07-27 22:23:42 -07:00
|
|
|
ret =
|
2011-10-20 22:40:59 -07:00
|
|
|
ecore_x_window_prop_xid_get(win,
|
|
|
|
ECORE_X_ATOM_E_COMP_PIXMAP,
|
|
|
|
ECORE_X_ATOM_PIXMAP,
|
|
|
|
&pixmap, 1);
|
2010-07-27 22:23:42 -07:00
|
|
|
if (ret != 1)
|
2011-10-20 22:40:59 -07:00
|
|
|
return 0;
|
2010-07-27 22:23:42 -07:00
|
|
|
|
2010-07-13 16:31:16 -07:00
|
|
|
return pixmap;
|
2011-12-03 11:41:12 -08:00
|
|
|
}
|
2010-07-13 16:31:16 -07:00
|
|
|
|
2012-02-24 04:33:11 -08:00
|
|
|
static Ecore_X_Atom
|
|
|
|
_ecore_x_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state)
|
|
|
|
{
|
|
|
|
switch (state)
|
|
|
|
{
|
|
|
|
case ECORE_X_ILLUME_INDICATOR_STATE_ON:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_INDICATOR_ON;
|
|
|
|
|
|
|
|
case ECORE_X_ILLUME_INDICATOR_STATE_OFF:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static Ecore_X_Illume_Indicator_State
|
|
|
|
_ecore_x_e_indicator_state_get(Ecore_X_Atom atom)
|
|
|
|
{
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_ON)
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_STATE_ON;
|
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF)
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_STATE_OFF;
|
|
|
|
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN;
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_indicator_state_set(Ecore_X_Window win,
|
|
|
|
Ecore_X_Illume_Indicator_State state)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
atom = _ecore_x_e_indicator_atom_get(state);
|
|
|
|
ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE,
|
|
|
|
&atom, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI Ecore_X_Illume_Indicator_State
|
|
|
|
ecore_x_e_illume_indicator_state_get(Ecore_X_Window win)
|
|
|
|
{
|
2012-07-02 19:41:35 -07:00
|
|
|
Ecore_X_Atom atom = 0;
|
2012-02-24 04:33:11 -08:00
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!ecore_x_window_prop_atom_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE,
|
|
|
|
&atom, 1))
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN;
|
|
|
|
|
|
|
|
return _ecore_x_e_indicator_state_get(atom);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_indicator_state_send(Ecore_X_Window win,
|
|
|
|
Ecore_X_Illume_Indicator_State state)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE,
|
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
_ecore_x_e_indicator_atom_get(state),
|
|
|
|
0, 0, 0, 0);
|
|
|
|
}
|
|
|
|
|
2012-03-07 06:26:20 -08:00
|
|
|
static Ecore_X_Atom
|
|
|
|
_ecore_x_e_indicator_opacity_atom_get(Ecore_X_Illume_Indicator_Opacity_Mode mode)
|
|
|
|
{
|
|
|
|
switch (mode)
|
|
|
|
{
|
|
|
|
case ECORE_X_ILLUME_INDICATOR_OPAQUE:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE;
|
|
|
|
|
|
|
|
case ECORE_X_ILLUME_INDICATOR_TRANSLUCENT:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT;
|
|
|
|
|
|
|
|
case ECORE_X_ILLUME_INDICATOR_TRANSPARENT:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static Ecore_X_Illume_Indicator_Opacity_Mode
|
|
|
|
_ecore_x_e_indicator_opacity_get(Ecore_X_Atom atom)
|
|
|
|
{
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE)
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_OPAQUE;
|
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT)
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_TRANSLUCENT;
|
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT)
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_TRANSPARENT;
|
|
|
|
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN;
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win,
|
|
|
|
Ecore_X_Illume_Indicator_Opacity_Mode mode)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
atom = _ecore_x_e_indicator_opacity_atom_get(mode);
|
|
|
|
ecore_x_window_prop_atom_set(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE,
|
|
|
|
&atom, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI Ecore_X_Illume_Indicator_Opacity_Mode
|
|
|
|
ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win)
|
|
|
|
{
|
2012-07-02 19:41:35 -07:00
|
|
|
Ecore_X_Atom atom = 0;
|
2012-03-07 06:26:20 -08:00
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!ecore_x_window_prop_atom_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE,
|
|
|
|
&atom, 1))
|
|
|
|
return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN;
|
|
|
|
|
|
|
|
return _ecore_x_e_indicator_opacity_get(atom);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win,
|
|
|
|
Ecore_X_Illume_Indicator_Opacity_Mode mode)
|
|
|
|
{
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
ecore_x_client_message32_send(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE,
|
|
|
|
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
|
|
|
|
_ecore_x_e_indicator_opacity_atom_get(mode),
|
|
|
|
0, 0, 0, 0);
|
|
|
|
}
|
|
|
|
|
2012-07-03 00:36:55 -07:00
|
|
|
static Ecore_X_Atom
|
|
|
|
_ecore_x_e_illume_window_state_atom_get(Ecore_X_Illume_Window_State state)
|
|
|
|
{
|
|
|
|
switch (state)
|
|
|
|
{
|
|
|
|
case ECORE_X_ILLUME_WINDOW_STATE_NORMAL:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL;
|
|
|
|
|
|
|
|
case ECORE_X_ILLUME_WINDOW_STATE_FLOATING:
|
|
|
|
return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static Ecore_X_Illume_Window_State
|
|
|
|
_ecore_x_e_illume_window_state_get(Ecore_X_Atom atom)
|
|
|
|
{
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL)
|
|
|
|
return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
|
|
|
|
|
|
|
|
if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING)
|
|
|
|
return ECORE_X_ILLUME_WINDOW_STATE_FLOATING;
|
|
|
|
|
|
|
|
return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI void
|
|
|
|
ecore_x_e_illume_window_state_set(Ecore_X_Window win,
|
|
|
|
Ecore_X_Illume_Window_State state)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom atom = 0;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
atom = _ecore_x_e_illume_window_state_atom_get(state);
|
|
|
|
ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
|
|
|
|
&atom, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI Ecore_X_Illume_Window_State
|
|
|
|
ecore_x_e_illume_window_state_get(Ecore_X_Window win)
|
|
|
|
{
|
|
|
|
Ecore_X_Atom atom;
|
|
|
|
|
|
|
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
|
|
|
if (!ecore_x_window_prop_atom_get(win,
|
|
|
|
ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
|
|
|
|
&atom, 1))
|
|
|
|
return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
|
|
|
|
|
|
|
|
return _ecore_x_e_illume_window_state_get(atom);
|
|
|
|
}
|
|
|
|
|