From 2ac1c55a502c73ee4232fde36bc9c8f18fd24a1c Mon Sep 17 00:00:00 2001 From: Junseok Kim Date: Thu, 12 Sep 2024 15:34:01 +0900 Subject: [PATCH] e_mod_input_panel: use transform move position of the input panel to set position There was a bug where the input panel didn't place the bottom of the screen but instead remains separated from it. This issue occurs on "Portrait" screens with resolutions that do not have a ratio of 16:9. When the screen is portrait and resolution of the screen is not that ratio, there may be transform move when the input panel using base output resolution. But the transform move consider only the base output resolution position at the center of the screen. It makes position of the input panel being hover from the bottom of the screen even if the input panel should be stick at the bottom of the screen. To fix this issue, we modified the input panel's position takes consider the transform move value while being set the position to be stick at the bottom of the screen. Change-Id: If76df20785de91879e48f9dfb68a7582fc8b354d --- src/e_mod_input_panel.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/e_mod_input_panel.c b/src/e_mod_input_panel.c index 386a1fa..489850d 100644 --- a/src/e_mod_input_panel.c +++ b/src/e_mod_input_panel.c @@ -625,6 +625,8 @@ _e_input_panel_position_set(E_Client *ec, int w, int h) switch (ec->e.state.rot.ang.curr) { case 90: + if (e_client_transform_core_enable_get(ec)) + e_client_transform_core_input_inv_transform(ec, 0, 0, &zx, &zy); nx = zx + zw - w; ny = zy + (zh - h) / 2; is_portrait = EINA_FALSE; @@ -635,6 +637,8 @@ _e_input_panel_position_set(E_Client *ec, int w, int h) is_portrait = EINA_TRUE; break; case 270: + if (e_client_transform_core_enable_get(ec)) + e_client_transform_core_input_inv_transform(ec, 0, 0, &zx, &zy); nx = zx; ny = zy + (zh - h) / 2; is_portrait = EINA_FALSE; -- 2.34.1