Eina_List *ll;
char *supported_hint;
+ if (ee->prop.aux_hint.supported_list == NULL)
+ {
+ if (!strncmp(ee->driver, "wayland", 7))
+ {
+ Ecore_Evas_Interface_Wayland *iface;
+ iface = (Ecore_Evas_Interface_Wayland *)_ecore_evas_interface_get(ee, "wayland");
+ EINA_SAFETY_ON_NULL_RETURN_VAL(iface, -1);
+
+ if (iface->aux_hint_add)
+ iface->supported_aux_hints_get(ee);
+
+ if (ee->prop.aux_hint.supported_list == NULL)
+ return -1;
+ }
+ else
+ return -1;
+ }
EINA_LIST_FOREACH(ee->prop.aux_hint.supported_list, ll, supported_hint)
{
if (!strncmp(supported_hint, hint, strlen(hint)))
void (*aux_hint_add)(Ecore_Evas *ee, int id, const char *hint, const char *val);
void (*aux_hint_change)(Ecore_Evas *ee, int id, const char *val);
void (*aux_hint_del)(Ecore_Evas *ee, int id);
+ void (*supported_aux_hints_get)(Ecore_Evas *ee);
};
#endif
}
void
-_ecore_evas_wl_common_aux_hints_supported_update(Ecore_Evas *ee)
-{
- Ecore_Evas_Engine_Wl_Data *wdata;
-
- LOGFN(__FILE__, __LINE__, __FUNCTION__);
-
- if (!ee) return;
- wdata = ee->engine.data;
- ee->prop.aux_hint.supported_list = ecore_wl_window_aux_hints_supported_get(wdata->win);
-}
-
-void
_ecore_evas_wl_common_raise(Ecore_Evas *ee)
{
Ecore_Evas_Engine_Wl_Data *wdata;
}
static void
-_ecore_evas_wayland_aux_hint_add(Ecore_Evas *ee EINA_UNUSED, int id, const char *hint, const char *val)
+_ecore_evas_wayland_supported_aux_hints_get(Ecore_Evas *ee)
+{
+ Ecore_Evas_Engine_Wl_Data *wdata;
+
+ if (!ee) return;
+ wdata = ee->engine.data;
+ ee->prop.aux_hint.supported_list = ecore_wl_window_aux_hints_supported_get(wdata->win);
+}
+
+static void
+_ecore_evas_wayland_aux_hint_add(Ecore_Evas *ee, int id, const char *hint, const char *val)
{
Ecore_Evas_Engine_Wl_Data *wdata;
}
static void
-_ecore_evas_wayland_aux_hint_change(Ecore_Evas *ee EINA_UNUSED, int id, const char *val)
+_ecore_evas_wayland_aux_hint_change(Ecore_Evas *ee, int id, const char *val)
{
Ecore_Evas_Engine_Wl_Data *wdata;
}
static void
-_ecore_evas_wayland_aux_hint_del(Ecore_Evas *ee EINA_UNUSED, int id)
+_ecore_evas_wayland_aux_hint_del(Ecore_Evas *ee, int id)
{
Ecore_Evas_Engine_Wl_Data *wdata;
iface->aux_hint_add = _ecore_evas_wayland_aux_hint_add;
iface->aux_hint_change = _ecore_evas_wayland_aux_hint_change;
iface->aux_hint_del = _ecore_evas_wayland_aux_hint_del;
+ iface->supported_aux_hints_get = _ecore_evas_wayland_supported_aux_hints_get;
#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
iface->pre_post_swap_callback_set =
void _ecore_evas_wl_common_wm_rot_available_rotations_set(Ecore_Evas *ee, const int *rots, unsigned int count);
void _ecore_evas_wl_common_wm_rot_manual_rotation_done_set(Ecore_Evas *ee, Eina_Bool set);
void _ecore_evas_wl_common_wm_rot_manual_rotation_done(Ecore_Evas *ee);
-void _ecore_evas_wl_common_aux_hints_supported_update(Ecore_Evas *ee);
#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM
void _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location);