EINA_SAFETY_ON_NULL_RETURN(p_cdata);
ec->comp_data->accepts_focus = p_cdata->accepts_focus;
ec->comp_data->conformant = p_cdata->conformant;
+ ec->comp_data->aux_hint.hints = p_cdata->aux_hint.hints;
/* add this client to the hash */
/* eina_hash_add(clients_win_hash, &win, ec); */
if (ec->comp_data->surface)
wl_resource_set_user_data(ec->comp_data->surface, NULL);
+ if (ec->comp_data->aux_hint.hints)
+ {
+ E_Comp_Wl_Aux_Hint *hint;
+ EINA_LIST_FREE(ec->comp_data->aux_hint.hints, hint)
+ {
+ eina_stringshare_del(hint->hint);
+ eina_stringshare_del(hint->val);
+ E_FREE(hint);
+ }
+ }
+
e_pixmap_cdata_set(ec->pixmap, NULL);
E_FREE(ec->comp_data);
#include <Evas_GL.h>
+typedef struct _E_Comp_Wl_Aux_Hint E_Comp_Wl_Aux_Hint;
typedef struct _E_Comp_Wl_Buffer E_Comp_Wl_Buffer;
typedef struct _E_Comp_Wl_Buffer_Ref E_Comp_Wl_Buffer_Ref;
typedef struct _E_Comp_Wl_Buffer_Viewport E_Comp_Wl_Buffer_Viewport;
E_COMP_WL_BUFFER_TYPE_TBM = 3
} E_Comp_Wl_Buffer_Type;
+struct _E_Comp_Wl_Aux_Hint
+{
+ unsigned int id;
+ const char *hint;
+ const char *val;
+};
+
struct _E_Comp_Wl_Buffer
{
E_Comp_Wl_Buffer_Type type;
int prev_degree, cur_degree;
} transform;
+ struct
+ {
+ Eina_List *hints;
+ } aux_hint;
+
/* before applying viewport */
int width_from_buffer;
int height_from_buffer;
EAPI Ecore_X_Atom ATM_NETWM_PERFORM_BUTTON_ACTION = 0;
#endif
+static Eina_List *aux_hints_supported = NULL;
+
EINTERN void
e_hints_init(Ecore_Window root, Ecore_Window propwin)
{
#endif
}
+EAPI const Eina_List *
+e_hints_aux_hint_supported_add(const char *hint)
+{
+ Eina_List *l;
+ const char *supported;
+
+ EINA_LIST_FOREACH(aux_hints_supported, l, supported)
+ {
+ if (!strcmp(supported, hint))
+ return aux_hints_supported;
+ }
+
+ aux_hints_supported = eina_list_append(aux_hints_supported, hint);
+
+ return aux_hints_supported;
+}
+
+EAPI const Eina_List *
+e_hints_aux_hint_supported_del(const char *hint)
+{
+ Eina_List *l;
+ const char *supported;
+
+ EINA_LIST_FOREACH(aux_hints_supported, l, supported)
+ {
+ if (!strcmp(supported, hint))
+ {
+ aux_hints_supported = eina_list_remove(aux_hints_supported, hint);
+ break;
+ }
+ }
+
+ return aux_hints_supported;
+}
+
+EAPI const Eina_List *
+e_hints_aux_hint_supported_get(void)
+{
+ return aux_hints_supported;
+}
EAPI void e_hints_window_virtual_keyboard_state_get(E_Client *ec);
EAPI void e_hints_window_virtual_keyboard_get(E_Client *ec);
-
EAPI void e_hints_scale_update(void);
-
+EAPI const Eina_List * e_hints_aux_hint_supported_add(const char *hint);
+EAPI const Eina_List * e_hints_aux_hint_supported_del(const char *hint);
+EAPI const Eina_List * e_hints_aux_hint_supported_get(void);
#ifdef E_COMP_X_H
EAPI void e_hints_window_state_update(E_Client *ec, int state, int action);