void test_input_panel_hide (void *data, Evas_Object *obj, void *event_info) { if (imf_context != NULL) { ecore_imf_context_focus_out (imf_context); ecore_imf_context_input_panel_hide (imf_context); } }
static void _ecore_imf_context_xim_focus_out(Ecore_IMF_Context *ctx) { Ecore_IMF_Context_Data *imf_context_data = ecore_imf_context_data_get(ctx); XIC ic; DBG("ctx=%p, imf_context_data=%p", ctx, imf_context_data); EINA_SAFETY_ON_NULL_RETURN(imf_context_data); if (imf_context_data->has_focus == EINA_TRUE) { imf_context_data->has_focus = EINA_FALSE; ic = imf_context_data->ic; if (ic) XUnsetICFocus(ic); if (ecore_imf_context_input_panel_enabled_get(ctx)) ecore_imf_context_input_panel_hide(ctx); } }
static void _ecore_imf_context_xim_focus_out(Ecore_IMF_Context *ctx) { EINA_LOG_DBG("%s in", __FUNCTION__); #ifdef ENABLE_XIM XIC ic; Ecore_IMF_Context_Data *imf_context_data; imf_context_data = ecore_imf_context_data_get(ctx); EINA_SAFETY_ON_NULL_RETURN(imf_context_data); if (imf_context_data->has_focus == EINA_TRUE) { imf_context_data->has_focus = EINA_FALSE; ic = imf_context_data->ic; if (ic) XUnsetICFocus(ic); if (ecore_imf_context_input_panel_enabled_get(ctx)) ecore_imf_context_input_panel_hide(ctx); } #else (void)ctx; #endif }