From: Doyoun Kang Date: Thu, 27 Oct 2022 09:32:01 +0000 (+0900) Subject: e_client: add APIs for getting desk_zoom enable state X-Git-Tag: accepted/tizen/unified/20221102.172739~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4eb33c84d2170ffa22dc70a33708c8464f2b8024;p=platform%2Fupstream%2Fenlightenment.git e_client: add APIs for getting desk_zoom enable state We add APIs to get/set the enable state whether the ec is under running desk_zoom or not. - void e_client_desk_zoom_enable_set(E_Client *ec, Eina_Bool enable) - Eina_Bool e_client_desk_zoom_enable_get(E_Client *ec) Change-Id: I733d84fb0b96066577029aabe4724e9ce7e0ea09 --- diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 396e83ce44..8ec0f4bf9a 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -8902,3 +8902,17 @@ e_client_resize_object_create_cb_set(E_Client_Resize_Object_Create_Cb cb) CRI("ATTEMPTING TO OVERWRITE EXISTING CLIENT RESIZE OBJECT CREATE HOOK!!!"); _e_client_resize_object_create_cb = cb; } + +EINTERN void +e_client_desk_zoom_enable_set(E_Client *ec, Eina_Bool enable) +{ + if (!ec) return; + ec->desk_zoom = enable; +} + +EINTERN Eina_Bool +e_client_desk_zoom_enable_get(E_Client *ec) +{ + if (!ec) return EINA_FALSE; + return ec->desk_zoom; +} diff --git a/src/bin/e_client.h b/src/bin/e_client.h index 585b2c1ff1..425604ee29 100644 --- a/src/bin/e_client.h +++ b/src/bin/e_client.h @@ -1053,6 +1053,7 @@ struct E_Client int x, y, w, h; } maximized_info; + Eina_Bool desk_zoom; }; #define e_client_focus_policy_click(ec) \ @@ -1318,6 +1319,9 @@ E_API E_Transient e_client_transient_policy_get(E_Client *ec); E_API void e_client_resize_object_create_cb_set(E_Client_Resize_Object_Create_Cb cb); +EINTERN void e_client_desk_zoom_enable_set(E_Client *ec, Eina_Bool enable); +EINTERN Eina_Bool e_client_desk_zoom_enable_get(E_Client *ec); + /** * Move window to coordinates that do not account client decorations yet. * diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c index ad87bb9476..42775f46fa 100644 --- a/src/bin/e_desk.c +++ b/src/bin/e_desk.c @@ -1849,6 +1849,11 @@ _e_desk_client_zoom(E_Client *ec, double zoomx, double zoomy, Evas_Coord cx, Eva if (e_object_is_del(E_OBJECT(ec))) return; if (ec->is_cursor) return; + if ((zoomx == 1.0) && (zoomy == 1.0)) + e_client_desk_zoom_enable_set(ec, EINA_FALSE); + else + e_client_desk_zoom_enable_set(ec, EINA_TRUE); + transformed = e_client_transform_core_enable_get(ec); if (transformed)