e_policy_visibility: add function for uniconify_render job cancel 45/230645/3
authorJunseok, Kim <juns.kim@samsung.com>
Fri, 10 Apr 2020 08:26:23 +0000 (17:26 +0900)
committerJunseok, Kim <juns.kim@samsung.com>
Mon, 13 Apr 2020 09:40:14 +0000 (18:40 +0900)
Change-Id: I848393c5803c51b53ea0429a1a8ce6bfb7c92b4e
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_policy_visibility.c
src/bin/e_policy_visibility.h

index 3e2981ec11d68810389848e29cba6285e85b6f60..4091e1e5d743cff9b8b0d092f20193b6f60eba65 100644 (file)
@@ -2240,6 +2240,23 @@ e_policy_visibility_client_lower_job_cancel(E_Client *ec)
    return _e_vis_job_cancel(vc, E_VIS_JOB_TYPE_LOWER);
 }
 
+EINTERN Eina_Bool
+e_policy_visibility_client_uniconify_by_visibility_job_cancel(E_Client *ec)
+{
+   Eina_Bool ret = EINA_FALSE;
+
+   if (!ec) return EINA_FALSE;
+   E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE);
+
+   VS_INF(ec, "Find and Cancel Uniconify by visibility job...");
+   ret = _e_vis_job_cancel(vc, E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY);
+
+   if (!_e_vis_job_is_grabbed(vc, E_VIS_JOB_TYPE_ALL ^ E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY))
+     E_FREE_FUNC(vc->grab, _e_vis_grab_release);
+
+   return ret;
+}
+
 E_API Eina_Bool
 e_policy_visibility_client_raise(E_Client *ec)
 {
index 9128898a6670e96e899c6619b08e80a3cccd4d10..e6e4e98da221cc4476922f52de051064517bad43 100644 (file)
@@ -62,6 +62,7 @@ E_API void                        e_policy_visibility_client_grab_release(E_Vis_
 E_API Eina_Bool                   e_policy_visibility_client_grab_cancel(E_Client *ec);
 E_API Eina_Bool                   e_policy_visibility_client_hide_job_cancel(E_Client *ec);
 EINTERN Eina_Bool                 e_policy_visibility_client_lower_job_cancel(E_Client *ec);
+EINTERN Eina_Bool                 e_policy_visibility_client_uniconify_by_visibility_job_cancel(E_Client *ec);
 E_API E_Pol_Vis_Hook             *e_policy_visibility_hook_add(E_Pol_Vis_Hook_Type type, E_Pol_Vis_Hook_Cb cb, const void *data);
 E_API void                        e_policy_visibility_hook_del(E_Pol_Vis_Hook *h);
 E_API Eina_Bool                   e_policy_visibility_client_is_iconic(E_Client *ec);