}
void
-e_input_panel_floating_position_set(E_Client *ec, int x, int y)
+e_input_panel_floating_position_set(int x, int y)
{
- if (!ec || !g_floating_info) return;
+ E_Client *floating_ec = NULL;
+ E_Input_Panel_Surface *ips;
+ Eina_List *l;
+ Eina_List *l_next;
- switch (ec->e.state.rot.ang.curr)
+ EINA_LIST_FOREACH_SAFE(g_input_panel->surfaces, l, l_next, ips)
+ {
+ if (!ips->ec) continue;
+ if (ips->ec->frame && ips->ec->vkbd.floating)
+ {
+ floating_ec = ips->ec;
+ break;
+ }
+ }
+
+ if (!floating_ec || !g_floating_info) return;
+
+ switch (floating_ec->e.state.rot.ang.curr)
{
case 90:
case 270:
g_floating_info->init_portrait_position = EINA_TRUE;
break;
}
+
+ _e_input_panel_position_set(floating_ec, floating_ec->client.w, floating_ec->client.h);
}
Eina_Bool
"No Text Input For Resource");
return;
}
- e_input_panel_floating_position_set(client_surface_ec, x, y);
+ e_input_panel_floating_position_set(x, y);
}
static void
EINTERN void e_input_panel_wait_update_set(Eina_Bool wait_update);
EINTERN void e_input_panel_transient_for_set(E_Client *parent);
void e_input_panel_show_need_rerun_set(Eina_Bool need_rerun);
-void e_input_panel_floating_position_set(E_Client *ec, int x, int y);
+void e_input_panel_floating_position_set(int x, int y);
void e_text_input_update_input_panel_state(Eina_Bool state);
Eina_Bool e_input_panel_surface_destroy(E_Client *ec);