struct wl_signal mouse_move;
struct wl_signal resize_end;
struct wl_signal virtual_touch;
+ struct wl_signal parent_set;
} events;
Eina_Bool hide_by_request;
wl_signal_init(&priv->events.virtual_touch);
+ wl_signal_init(&priv->events.parent_set);
+
e_object_data_set(E_OBJECT(ec), priv);
return EINA_TRUE;
return ec->client_type;
}
+EINTERN void
+e_client_parent_set(E_Client *ec, E_Client *parent_ec)
+{
+ EINA_SAFETY_ON_NULL_RETURN(ec);
+
+ ec->parent = parent_ec;
+
+ wl_signal_emit(&PRI(ec)->events.parent_set, parent_ec);
+}
+
static void
_e_client_transform_sub_apply(E_Client *ec, E_Client *epc, double zoom)
{
wl_signal_add(&priv->events.virtual_touch, listener);
}
+EINTERN void
+e_client_parent_set_listener_add(E_Client *ec, struct wl_listener *listener)
+{
+ API_ENTRY;
+ wl_signal_add(&priv->events.parent_set, listener);
+}
+
EINTERN Eina_Bool
e_client_shell_configure_send(E_Client *ec, uint32_t edges, int32_t width, int32_t height)
{
EINTERN void e_client_pinned_set(E_Client *ec, Eina_Bool set);
EINTERN void e_client_ping(E_Client *cw);
EINTERN int e_client_type_update(E_Client *ec);
+EINTERN void e_client_parent_set(E_Client *ec, E_Client *parent_ec);
EINTERN Eina_Bool e_client_is_parent_iconify_by_client(E_Client *ec);
EINTERN Eina_Bool e_client_is_layout_apply(E_Client *ec);
EINTERN void e_client_mouse_move_listener_add(E_Client *ec, struct wl_listener *listener);
EINTERN void e_client_resize_end_listener_add(E_Client *ec, struct wl_listener *listener);
EINTERN void e_client_virtual_touch_listener_add(E_Client *ec, struct wl_listener *listener);
+EINTERN void e_client_parent_set_listener_add(E_Client *ec, struct wl_listener *listener);
EINTERN struct wl_listener *e_client_destroy_listener_get(E_Client *ec, wl_notify_func_t notify);