e_client: add e_client_map 79/320879/1
authorSooChan Lim <sc1.lim@samsung.com>
Sun, 9 Mar 2025 08:41:35 +0000 (17:41 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 10 Mar 2025 08:46:03 +0000 (17:46 +0900)
This function sends the map signal on e_client

Change-Id: I1c7224bf6d4f867e285ce519508df33edb4b62ba

src/bin/core/e_client.c
src/bin/core/e_client_intern.h

index 04e5a74af4764801c8cf345887f8e326082dbf28..97e61fb5fcb14ea3c82608cf7e5e48e29a5f450d 100644 (file)
@@ -122,6 +122,7 @@ struct _E_Client_Private
         struct wl_signal parent_set;
         struct wl_signal map_prepare;
         struct wl_signal map_post;
+        struct wl_signal unmap;
      } events;
 
    Eina_Bool hide_by_request;
@@ -1070,6 +1071,7 @@ _e_client_private_init(E_Client *ec)
    wl_signal_init(&priv->events.parent_set);
    wl_signal_init(&priv->events.map_prepare);
    wl_signal_init(&priv->events.map_post);
+   wl_signal_init(&priv->events.unmap);
 
    e_object_data_set(E_OBJECT(ec), priv);
 
@@ -3097,6 +3099,14 @@ e_client_map_post(E_Client *ec)
    wl_signal_emit(&PRI(ec)->events.map_post, NULL);
 }
 
+EINTERN void
+e_client_unmap(E_Client *ec)
+{
+   EINA_SAFETY_ON_NULL_RETURN(ec);
+
+   wl_signal_emit(&PRI(ec)->events.unmap, NULL);
+}
+
 EINTERN void
 e_client_modal_child_set(E_Client *ec, E_Client *modal)
 {
@@ -7301,6 +7311,13 @@ e_client_map_post_listener_add(E_Client *ec, struct wl_listener *listener)
    wl_signal_add(&priv->events.map_post, listener);
 }
 
+EINTERN void
+e_client_unmap_listener_add(E_Client *ec, struct wl_listener *listener)
+{
+   API_ENTRY;
+   wl_signal_add(&priv->events.unmap, listener);
+}
+
 EINTERN Eina_Bool
 e_client_shell_configure_send(E_Client *ec, uint32_t edges, int32_t width, int32_t height)
 {
index ab11ac94f8107399966b9dc85d4a4327faa6f49d..4cc5303dc0e2271846b3738728e004eb9a8da62e 100644 (file)
@@ -141,6 +141,7 @@ EINTERN Eina_Bool e_client_mapped_get(E_Client *ec);
 EINTERN void      e_client_mapped_set(E_Client *ec, Eina_Bool set);
 EINTERN void      e_client_map_prepare(E_Client *ec);
 EINTERN void      e_client_map_post(E_Client *ec);
+EINTERN void      e_client_unmap(E_Client *ec);
 
 EINTERN void      e_client_modal_child_set(E_Client *ec, E_Client *modal_child);
 EINTERN E_Client *e_client_modal_child_get(E_Client *ec);
@@ -264,6 +265,7 @@ EINTERN void e_client_virtual_touch_listener_add(E_Client *ec, struct wl_listene
 EINTERN void e_client_parent_set_listener_add(E_Client *ec, struct wl_listener *listener);
 EINTERN void e_client_map_prepare_listener_add(E_Client *ec, struct wl_listener *listener);
 EINTERN void e_client_map_post_listener_add(E_Client *ec, struct wl_listener *listener);
+EINTERN void e_client_unmap_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);