From: Gwanglim Lee Date: Mon, 11 Dec 2017 05:39:27 +0000 (+0900) Subject: remote_surface: added new EAPIs to get/set the 'skip_save_img' property of E_Client X-Git-Tag: submit/tizen/20171213.023423^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=28e723555c067b45a426bbe7a03decde0cd1112f;p=platform%2Fupstream%2Fenlightenment.git remote_surface: added new EAPIs to get/set the 'skip_save_img' property of E_Client It enables sub-modules of the E to specify which windows should be excluded from saving window image phase. Change-Id: Ie0d684406b25e836ba9788e75f8f031d81faff65 --- diff --git a/src/bin/e_client.h b/src/bin/e_client.h index 395a4b4d31..052d593b30 100644 --- a/src/bin/e_client.h +++ b/src/bin/e_client.h @@ -940,6 +940,7 @@ struct E_Client int effect_type; Eina_Bool use_splash : 1; Eina_Bool saved_img : 1; // indicates that window has been saved as the image file even once + Eina_Bool skip_save_img: 1; // indicates that window doesn't want to save its image file }; #define e_client_focus_policy_click(ec) \ diff --git a/src/bin/e_comp_wl_rsm.c b/src/bin/e_comp_wl_rsm.c index 08a3bb060b..cbe00a93d8 100644 --- a/src/bin/e_comp_wl_rsm.c +++ b/src/bin/e_comp_wl_rsm.c @@ -2700,6 +2700,8 @@ err: static Eina_Bool _image_save_type_check(E_Client *ec) { + if (ec->skip_save_img) return EINA_FALSE; + if (e_policy_client_is_lockscreen(ec) || e_policy_client_is_home_screen(ec) || e_policy_client_is_quickpanel(ec) || @@ -3277,6 +3279,21 @@ end: #endif /* HAVE_REMOTE_SURFACE */ } +EAPI void +e_comp_wl_remote_surface_image_save_skip_set(E_Client *ec, Eina_Bool set) +{ + if (!e_config->save_win_buffer) return; + if (e_object_is_del(E_OBJECT(ec))) return; + + ec->skip_save_img = set; +} + +EAPI Eina_Bool +e_comp_wl_remote_surface_image_save_skip_get(E_Client *ec) +{ + if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; + return ec->skip_save_img; +} EINTERN void e_comp_wl_remote_surface_debug_info_get(Eldbus_Message_Iter *iter) diff --git a/src/bin/e_comp_wl_rsm.h b/src/bin/e_comp_wl_rsm.h index a02eba1265..83d60af574 100644 --- a/src/bin/e_comp_wl_rsm.h +++ b/src/bin/e_comp_wl_rsm.h @@ -8,6 +8,8 @@ EINTERN void e_comp_wl_remote_surface_init(void); EINTERN void e_comp_wl_remote_surface_shutdown(void); EINTERN Eina_Bool e_comp_wl_remote_surface_commit(E_Client *ec); EAPI void e_comp_wl_remote_surface_image_save(E_Client *ec); +EAPI void e_comp_wl_remote_surface_image_save_skip_set(E_Client *ec, Eina_Bool set); +EAPI Eina_Bool e_comp_wl_remote_surface_image_save_skip_get(E_Client *ec); EINTERN void e_comp_wl_remote_surface_debug_info_get(Eldbus_Message_Iter *iter); EAPI E_Client* e_comp_wl_remote_surface_bound_provider_ec_get(E_Client *ec);