static int efl_get_angle_for_app_window (void);
static int ui_candidate_get_valid_height (void);
+static void ui_candidate_window_resize_height (int *height);
static void ui_candidate_hide (bool bForce, bool bSetVirtualKbd = true);
static void ui_destroy_candidate_window (void);
static void ui_settle_candidate_window (void);
/////////////////////////////////////////////////////////////////////////////
// Implementation of internal functions.
/////////////////////////////////////////////////////////////////////////////
+/*
+ * @brief return resized height
+ *
+ * @param height resized height
+ *
+ */
+static void ui_candidate_window_resize_height (int *height)
+{
+ if (evas_object_visible_get (_aux_area) && evas_object_visible_get (_candidate_area_2)) {
+ if (_candidate_angle == 90 || _candidate_angle == 270) {
+ *height = _candidate_land_height_max_2;
+ } else {
+ *height = _candidate_port_height_max_2;
+ }
+ } else if (evas_object_visible_get (_aux_area) && evas_object_visible_get (_candidate_area_1)) {
+ if (_candidate_angle == 90 || _candidate_angle == 270) {
+ *height = _candidate_land_height_min_2;
+ } else {
+ *height = _candidate_port_height_min_2;
+ }
+ } else if (evas_object_visible_get (_aux_area)) {
+ *height = _aux_height + 2;
+ } else if (evas_object_visible_get (_candidate_area_2)) {
+ if (_candidate_angle == 90 || _candidate_angle == 270) {
+ *height = _candidate_land_height_max;
+ } else {
+ *height = _candidate_port_height_max;
+ }
+ } else {
+ if (_candidate_angle == 90 || _candidate_angle == 270) {
+ *height = _candidate_land_height_min;
+ } else {
+ *height = _candidate_port_height_min;
+ }
+ }
+}
+
/**
* @brief Print system time point for panel performance.
*
SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "\n";
int height = 0;
+ int angle = 0;
+
if (_candidate_window) {
- int angle = efl_get_angle_for_app_window ();
+ if (_candidate_window_show)
+ angle = _candidate_angle;
+ else
+ angle = efl_get_angle_for_app_window ();
if (evas_object_visible_get (_aux_area) && evas_object_visible_get (_candidate_area_1)) {
if (angle == 90 || angle == 270)
_app_window = current_app_window;
}
- _candidate_angle = efl_get_angle_for_app_window ();
+ if (!_candidate_window_show)
+ _candidate_angle = efl_get_angle_for_app_window ();
+
efl_set_transient_for_app_window (_ise_window);
}
Ecore_X_Window rootwin = ecore_x_window_root_first_get ();
if (event->win == rootwin && event->atom == ecore_x_atom_get (PROP_X_EXT_KEYBOARD_EXIST)) {
SCIM_DEBUG_MAIN (3) << __FUNCTION__ << "...\n";
+ LOGD("keyboard connected");
check_hardware_keyboard ();
set_keyboard_geometry_atom_info (_app_window, KEYBOARD_STATE_OFF);
} else if (event->atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE) {
// PRE_ROTATE_DONE Ack to WM
_candidate_angle = ev->data.l[1];
LOGD ("ECORE_X_ATOM_E_WINDOW_ROTATION_CHANGE_PREPARE : %d\n", _candidate_angle);
+
+ int height = 0;
+ ui_candidate_window_resize_height (&height);
if (_candidate_angle == 90 || _candidate_angle == 270) {
- ui_candidate_window_resize (_candidate_land_width, _candidate_land_height_min);
+ ui_candidate_window_resize (_candidate_land_width, height);
} else {
- ui_candidate_window_resize (_candidate_port_width, _candidate_port_height_min);
+ ui_candidate_window_resize (_candidate_port_width, height);
}
if (_ise_show) {
set_keyboard_geometry_atom_info (_app_window, KEYBOARD_STATE_ON);