From: Inhong Han Date: Thu, 9 Jan 2025 01:10:07 +0000 (+0900) Subject: Support Fullscreen IME X-Git-Tag: accepted/tizen/unified/20250113.094331~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ca331adb95a225f491322592d6ca8df150862999;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-wl-textinput.git Support Fullscreen IME Change-Id: If4535b4456c3b438225ca49cf21a596d0ae09eca --- diff --git a/src/e_mod_main.c b/src/e_mod_main.c index 1e18296..992f59e 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -144,6 +144,7 @@ static E_Client *client_surface_ec = NULL; static E_Text_Input *g_show_text_input = NULL; static struct wl_client *g_show_client = NULL; static Eina_Bool g_updated_geometry = EINA_FALSE; +static Eina_Bool g_fullscreen_mode = EINA_FALSE; /* The candidate's show state that was requested by the application or IME */ static Eina_Bool g_show_state_candidate = EINA_FALSE; @@ -1134,6 +1135,8 @@ _e_text_input_deactivate(E_Text_Input *text_input, E_Input_Method *input_method, else zwp_input_method_v1_send_close_connection(input_method->resource, input_method->context->resource); + g_fullscreen_mode = EINA_FALSE; + LOGI("wm_map TEXTINPUT deactivate : %p %p", input_method->resource, input_method->context->resource); } @@ -1429,7 +1432,8 @@ _e_text_input_cb_input_panel_show(struct wl_client *client, struct wl_resource * * if we do not, client can't update * because they may in manual render state by frame callback mechanism, * and also don't have released buffer */ - e_input_panel_wait_update_set(EINA_TRUE); + if (!g_fullscreen_mode) + e_input_panel_wait_update_set(EINA_TRUE); } else { @@ -1496,6 +1500,11 @@ _e_text_input_cb_content_type_set(struct wl_client *client EINA_UNUSED, struct w CHECK_TEXT_INPUT(resource, text_input); + if (hint & WL_TEXT_INPUT_CONTENT_HINT_FULLSCREEN_MODE) + g_fullscreen_mode = EINA_TRUE; + else + g_fullscreen_mode = EINA_FALSE; + EINA_LIST_FOREACH(text_input->input_methods, l, input_method) { if (!input_method || !input_method->context) continue;