e_policy_visibility: add E_POL_VIS_HOOK_TYPE_PREPARE_FOREGROUND 70/309570/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 12 Apr 2024 04:51:36 +0000 (13:51 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 12 Apr 2024 06:08:30 +0000 (15:08 +0900)
Use this hook instead of "e,visibility,prepare,foreground" signal
The signal will be deprecated in enlightenment.

Change-Id: Ia59d96cb5c2c2f72a21cf150e8f7fbcc2d7944ea

src/bin/e_policy_visibility.c
src/include/e_policy_visibility.h

index 643e7b5..0a73678 100644 (file)
@@ -79,6 +79,7 @@ static Eina_Inlist *_e_pol_vis_hooks[] =
    [E_POL_VIS_HOOK_TYPE_UNICONIFY_RENDER_RUNNING] = NULL,
    [E_POL_VIS_HOOK_TYPE_LOWER] = NULL,
    [E_POL_VIS_HOOK_TYPE_HIDE] = NULL,
+   [E_POL_VIS_HOOK_TYPE_PREPARE_FOREGROUND] = NULL,
 };
 
 static int _e_pol_vis_hooks_delete = 0;
@@ -1282,13 +1283,19 @@ _e_vis_client_add(E_Client *ec)
 }
 
 static void
-_e_vis_client_prepare_foreground_signal_emit(E_Vis_Client *vc)
+_e_vis_client_prepare_foreground_hook_call(E_Vis_Client *vc)
 {
    /* TODO should emit signal only if it's real foreground. */
    if (vc->prepare_emitted)
      return;
    vc->prepare_emitted = 1;
+
+   //FIXME: This smart callback is used by e20 module
+   //       use E_POL_VIS_HOOK_TYPE_PREPARE_FOREGROUND callback instead
+   //       and remove this smart callback call.
    evas_object_smart_callback_call(vc->ec->frame, "e,visibility,prepare,foreground", vc->ec);
+
+   _e_pol_vis_hook_call(E_POL_VIS_HOOK_TYPE_PREPARE_FOREGROUND, vc->ec);
 }
 
 EINTERN void
@@ -1580,7 +1587,7 @@ _e_vis_client_add_uniconify_render_pending(E_Vis_Client *vc, E_Vis_Job_Type type
 
    VS_DBG(ec, "BEGIN Uniconify render: raise %d", raise);
 
-   _e_vis_client_prepare_foreground_signal_emit(vc);
+   _e_vis_client_prepare_foreground_hook_call(vc);
    vc->state = E_VIS_ICONIFY_STATE_RUNNING_UNICONIFY;
    VS_DBG(vc->ec, "\tUPDATE ICONIC STATE: %s", STATE_STR(vc));
    E_Vis_Grab *grab = _e_vis_client_grab_get(vc, type, __func__);
index fc9d201..8361d1f 100644 (file)
@@ -26,6 +26,7 @@ typedef enum _E_Pol_Vis_Hook_Type
    E_POL_VIS_HOOK_TYPE_UNICONIFY_RENDER_RUNNING,
    E_POL_VIS_HOOK_TYPE_LOWER,
    E_POL_VIS_HOOK_TYPE_HIDE,
+   E_POL_VIS_HOOK_TYPE_PREPARE_FOREGROUND,
    E_POL_VIS_HOOK_TYPE_LAST,
 } E_Pol_Vis_Hook_Type;