efl-wl: add handling for external protocol interfaces

@feature
This commit is contained in:
Mike Blumenkrantz 2017-08-04 16:17:53 -04:00
parent 64754b682e
commit 29b99a8e88
2 changed files with 20 additions and 0 deletions

View File

@ -122,6 +122,15 @@ EAPI void efl_wl_aspect_set(Evas_Object *obj, Eina_Bool set);
* @param set Whether to enable min/max setting
*/
EAPI void efl_wl_minmax_set(Evas_Object *obj, Eina_Bool set);
/**
* Add an externally-managed global to the compositor
* @note The external implementation is expected to restrict access to authorized
* clients
* @see wl_global_create() docs
* @since 1.21
*/
EAPI void *efl_wl_global_add(Evas_Object *obj, const void *interface, uint32_t version, void *data, void *bind_cb);
#endif
#endif

View File

@ -5420,3 +5420,14 @@ efl_wl_minmax_set(Evas_Object *obj, Eina_Bool set)
evas_object_size_hint_max_set(obj, -1, -1);
}
}
EAPI void *
efl_wl_global_add(Evas_Object *obj, const void *interface, uint32_t version, void *data, void *bind_cb)
{
Comp *c;
if (!eina_streq(evas_object_type_get(obj), "comp")) abort();
EINA_SAFETY_ON_NULL_RETURN_VAL(interface, NULL);
c = evas_object_smart_data_get(obj);
return wl_global_create(c->display, interface, version, data, bind_cb);
}