From f55aa95740a4ef4c74268295f18e565d107eea35 Mon Sep 17 00:00:00 2001 From: Ji-hoon Lee Date: Fri, 16 Jun 2017 13:35:14 +0900 Subject: [PATCH] Use evas_render() to force renderization Change-Id: Id8b96ed1068f43fe76e7a81fee5c22a44ecaad82 --- src/sclcoreui-efl.cpp | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/src/sclcoreui-efl.cpp b/src/sclcoreui-efl.cpp index 855ec57..692a172 100644 --- a/src/sclcoreui-efl.cpp +++ b/src/sclcoreui-efl.cpp @@ -1077,32 +1077,14 @@ static Eina_Bool _render_pre_timeout(void *data) void CSCLCoreUIEFL::process_keyboard_ui_state_change(KEYBOARD_UI_STATE state) { #ifdef WAYLAND - static Evas_Object *force_update_helper_obj = NULL; - static int force_update_num = 0; - if (state == KEYBOARD_UI_STATE_WILL_SHOW) { evas_event_callback_add(evas_object_evas_get(NATIVE_WINDOW_CAST(m_main_window)), EVAS_CALLBACK_RENDER_PRE, _render_pre_cb, (void*)m_main_window); _render_pre_timer = ecore_timer_add(RENDER_PRE_TIMEOUT, _render_pre_timeout, (void*)m_main_window); LOGD("Registered RENDER_PRE callback, _render_pre_cb() and a timer callback"); } else if (state == KEYBOARD_UI_STATE_DID_SHOW) { - LOGD("Forcing keyboard window to render : %d", force_update_num); - - /* Since the ISE is waiting for RENDER_PRE event, we need to make sure the render event is - * occured on our ISE window. Since right now there is no proper way to trigger render event - * manually, we are creating a half transparent box above the keyboard window. Need to find - * more appropriate way to generate render event */ - if (force_update_helper_obj) evas_object_del(force_update_helper_obj); - force_update_helper_obj = elm_bg_add(NATIVE_WINDOW_CAST(m_main_window)); - evas_object_color_set(force_update_helper_obj, 255, 255, 255, 1); - evas_object_resize(force_update_helper_obj, 1, 1); - evas_object_move(force_update_helper_obj, force_update_num % 100, 0); - evas_object_layer_set(force_update_helper_obj, EVAS_LAYER_MAX); - evas_object_show(force_update_helper_obj); - force_update_num++; - } else if (state == KEYBOARD_UI_STATE_WILL_HIDE) { - if (force_update_helper_obj) evas_object_del(force_update_helper_obj); - force_update_helper_obj = NULL; + LOGD("Forcing keyboard window to render"); + evas_render(evas_object_evas_get(NATIVE_WINDOW_CAST(m_main_window))); } #endif } -- 2.7.4