-2013-03-05 Jiyoun Park (Jypar)
+2013-03-05 Jiyoun Park (Jypark)
+
+ * Ecore_x: Add atom related with indicator type.
+ It can support several types of indicator
+
+2013-03-05 Jiyoun Park (Jypark)
* Ecore_x: Fix dangling pointer problem related with shmget fail
* Add infrastructure to handle buggy touchscreen in Ecore_Input_Evas.
* Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas.
* Edje textblock: Added support for size_range.
+ * Ecore_x: Add atom related with indicator type.
Deprecations:
* ecore_x:
ECORE_X_ILLUME_INDICATOR_TRANSPARENT
} Ecore_X_Illume_Indicator_Opacity_Mode;
+typedef enum _Ecore_X_Illume_Indicator_Type_Mode
+{
+ ECORE_X_ILLUME_INDICATOR_TYPE_UNKNOWN = 0,
+ ECORE_X_ILLUME_INDICATOR_TYPE_1,
+ ECORE_X_ILLUME_INDICATOR_TYPE_2
+} Ecore_X_Illume_Indicator_Type_Mode; /**< @since 1.8 */
+
typedef enum _Ecore_X_Illume_Window_State
{
ECORE_X_ILLUME_WINDOW_STATE_NORMAL = 0,
EAPI void ecore_x_e_illume_indicator_state_send(Ecore_X_Window win, Ecore_X_Illume_Indicator_State state);
EAPI void ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win, Ecore_X_Illume_Indicator_Opacity_Mode mode);
-
EAPI Ecore_X_Illume_Indicator_Opacity_Mode ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win);
-
EAPI void ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, Ecore_X_Illume_Indicator_Opacity_Mode mode);
+EAPI void ecore_x_e_illume_indicator_type_set(Ecore_X_Window win, Ecore_X_Illume_Indicator_Type_Mode mode); /**< @since 1.8 */
+EAPI Ecore_X_Illume_Indicator_Type_Mode ecore_x_e_illume_indicator_type_get(Ecore_X_Window win); /**< @since 1.8 */
+EAPI void ecore_x_e_illume_indicator_type_send(Ecore_X_Window win, Ecore_X_Illume_Indicator_Type_Mode mode); /**< @since 1.8 */
+
EAPI void
ecore_x_e_illume_window_state_set(Ecore_X_Window win,
Ecore_X_Illume_Window_State state);
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_MODE;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_1;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_2;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE= 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_MODE = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_1 = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_2 = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE = 0;
{ "_E_ILLUME_INDICATOR_OPAQUE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE },
{ "_E_ILLUME_INDICATOR_TRANSLUCENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT },
{ "_E_ILLUME_INDICATOR_TRANSPARENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT },
+ { "_E_ILLUME_INDICATOR_TYPE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_MODE },
+ { "_E_ILLUME_INDICATOR_TYPE_0", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_1 },
+ { "_E_ILLUME_INDICATOR_TYPE_1", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_2 },
{ "_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLES", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE },
{ "_E_ILLUME_ROTATE_WINDOW_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE },
{ "_E_ILLUME_ROTATE_ROOT_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE },
}
static Ecore_X_Atom
+_ecore_x_e_indicator_type_atom_get(Ecore_X_Illume_Indicator_Type_Mode mode)
+{
+ switch (mode)
+ {
+ case ECORE_X_ILLUME_INDICATOR_TYPE_1:
+ return ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_1;
+
+ case ECORE_X_ILLUME_INDICATOR_TYPE_2:
+ return ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_2;
+
+ default:
+ break;
+ }
+ return 0;
+}
+
+static Ecore_X_Illume_Indicator_Type_Mode
+_ecore_x_e_indicator_type_get(Ecore_X_Atom atom)
+{
+ if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_1)
+ return ECORE_X_ILLUME_INDICATOR_TYPE_1;
+
+ if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_2)
+ return ECORE_X_ILLUME_INDICATOR_TYPE_2;
+
+ return ECORE_X_ILLUME_INDICATOR_TYPE_UNKNOWN;
+}
+
+EAPI void
+ecore_x_e_illume_indicator_type_set(Ecore_X_Window win,
+ Ecore_X_Illume_Indicator_Type_Mode mode)
+{
+ Ecore_X_Atom atom = 0;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ atom = _ecore_x_e_indicator_type_atom_get(mode);
+ ecore_x_window_prop_atom_set(win,
+ ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_MODE,
+ &atom, 1);
+}
+
+EAPI Ecore_X_Illume_Indicator_Type_Mode
+ecore_x_e_illume_indicator_type_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_INDICATOR_TYPE_MODE,
+ &atom, 1))
+ return ECORE_X_ILLUME_INDICATOR_TYPE_UNKNOWN;
+
+ return _ecore_x_e_indicator_type_get(atom);
+}
+
+EAPI void
+ecore_x_e_illume_indicator_type_send(Ecore_X_Window win,
+ Ecore_X_Illume_Indicator_Type_Mode mode)
+{
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ ecore_x_client_message32_send(win,
+ ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_MODE,
+ ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
+ _ecore_x_e_indicator_type_atom_get(mode),
+ 0, 0, 0, 0);
+}
+
+static Ecore_X_Atom
_ecore_x_e_illume_window_state_atom_get(Ecore_X_Illume_Window_State state)
{
switch (state)
}
static Ecore_X_Atom
+_ecore_x_e_indicator_type_atom_get(Ecore_X_Illume_Indicator_Type_Mode mode)
+{
+ switch (mode)
+ {
+ case ECORE_X_ILLUME_INDICATOR_TYPE_1:
+ return ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_1;
+
+ case ECORE_X_ILLUME_INDICATOR_TYPE_2:
+ return ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_2;
+
+ default:
+ break;
+ }
+ return 0;
+}
+
+static Ecore_X_Illume_Indicator_Type_Mode
+_ecore_x_e_indicator_type_get(Ecore_X_Atom atom)
+{
+ if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_1)
+ return ECORE_X_ILLUME_INDICATOR_TYPE_1;
+
+ if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_2)
+ return ECORE_X_ILLUME_INDICATOR_TYPE_2;
+
+ return ECORE_X_ILLUME_INDICATOR_TYPE_UNKNOWN;
+}
+
+EAPI void
+ecore_x_e_illume_indicator_type_set(Ecore_X_Window win,
+ Ecore_X_Illume_Indicator_Type_Mode mode)
+{
+ Ecore_X_Atom atom = 0;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ atom = _ecore_x_e_indicator_type_atom_get(mode);
+ ecore_x_window_prop_atom_set(win,
+ ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_MODE,
+ &atom, 1);
+}
+
+EAPI Ecore_X_Illume_Indicator_Type_Mode
+ecore_x_e_illume_indicator_type_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_INDICATOR_TYPE_MODE,
+ &atom, 1))
+ return ECORE_X_ILLUME_INDICATOR_TYPE_UNKNOWN;
+
+ return _ecore_x_e_indicator_type_get(atom);
+}
+
+EAPI void
+ecore_x_e_illume_indicator_type_send(Ecore_X_Window win,
+ Ecore_X_Illume_Indicator_Type_Mode mode)
+{
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ ecore_x_client_message32_send(win,
+ ECORE_X_ATOM_E_ILLUME_INDICATOR_TYPE_MODE,
+ ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
+ _ecore_x_e_indicator_type_atom_get(mode),
+ 0, 0, 0, 0);
+}
+
+static Ecore_X_Atom
_ecore_x_e_illume_window_state_atom_get(Ecore_X_Illume_Window_State state)
{
switch (state)