Fix input panel geometry defect when target is rotating
authorHaifeng Deng <haifeng.deng@samsung.com>
Fri, 7 Sep 2012 02:26:53 +0000 (10:26 +0800)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 10 Oct 2012 11:32:46 +0000 (20:32 +0900)
Change-Id: Ic5529ea3e472aec38a271a53320b4a3723854e06

configure.ac
debian/changelog
ism/extras/efl_panel/isf_panel_efl.cpp
packaging/isf.spec
releasenote.txt

index 648b406..9f424ce 100755 (executable)
@@ -1,6 +1,6 @@
 # Process this file with autoconf to produce a configure script
 #AC_INIT(scim, 1.4.7, suzhe@tsinghua.org.cn)
-AC_INIT(isf, 2.3.5706, isf@samsung.com)
+AC_INIT(isf, 2.3.5707, isf@samsung.com)
 AC_CONFIG_SRCDIR([ism/src/scim.h])
 m4_pattern_allow([^AS_])
 
@@ -11,7 +11,7 @@ m4_pattern_allow([^AS_])
 # ISF version
 ISF_MAJOR_VERSION=2
 ISF_MINOR_VERSION=3
-ISF_MICRO_VERSION=5706
+ISF_MICRO_VERSION=5707
 
 ISF_VERSION=$ISF_MAJOR_VERSION.$ISF_MINOR_VERSION.$ISF_MICRO_VERSION
 
index fee5a22..f968810 100755 (executable)
@@ -1,3 +1,11 @@
+isf (2.3.5707-1slp2+1) unstable; urgency=low
+
+  * [isf-panel-efl] Fix input panel geometry defect when target is rotating
+  * Git: framework/uifw/isf
+  * Tag: isf_2.3.5707-1slp2+1
+
+ -- Haifeng Deng <haifeng.deng@samsung.com>  Fri, 07 Sep 2012 11:22:00 +0900
+
 isf (2.3.5706-1slp2+1) unstable; urgency=low
 
   * [immodule] add cursor position in Ise_Context structure
index 637f41b..4b7c449 100644 (file)
@@ -321,12 +321,21 @@ static void get_ise_geometry (RECT_INFO &info, VIRTUAL_KEYBOARD_STATE kbd_state)
     }
 
     int win_w = _screen_width, win_h = _screen_height;
-    int angle = efl_get_angle_for_root_window (NULL);
+    int angle = efl_get_angle_for_root_window (_candidate_window);
     if (angle == 90 || angle == 270) {
         win_w = _screen_height;
         win_h = _screen_width;
     }
-    info.pos_x = (win_w - info.width) / 2;
+
+    if (win_w != (int)info.width)
+        _panel_agent->get_current_ise_geometry (info);
+
+    if ((int)info.width > win_w) {
+        win_w = _screen_height;
+        win_h = _screen_width;
+    }
+
+    info.pos_x = (int)info.width > win_w ? 0 : (win_w - info.width) / 2;
     if (kbd_state == KEYBOARD_STATE_OFF)
         info.pos_y = win_h;
     else
@@ -356,7 +365,7 @@ static void set_keyboard_geometry_atom_info (VIRTUAL_KEYBOARD_STATE kbd_state)
                 info.width  = _candidate_width;
                 info.height = _candidate_height;
             }
-            int angle = efl_get_angle_for_root_window (NULL);
+            int angle = efl_get_angle_for_root_window (_candidate_window);
             if (angle == 90 || angle == 270)
                 info.pos_y = _screen_width - info.height;
             else
@@ -2339,7 +2348,7 @@ static void slot_get_input_panel_geometry (struct rectinfo &info)
             info.width  = _candidate_width;
             info.height = _candidate_height;
         }
-        int angle = efl_get_angle_for_root_window (NULL);
+        int angle = efl_get_angle_for_root_window (_candidate_window);
         if (angle == 90 || angle == 270)
             info.pos_y = _screen_width - info.height;
         else
index 618f14d..2967287 100755 (executable)
@@ -1,10 +1,10 @@
-#sbs-git:framework/uifw/isf isf 2.3.5706 07f2b65224e6cef5cd6799065bb01fa656bc115e
+#sbs-git:framework/uifw/isf isf 2.3.5707 07f2b65224e6cef5cd6799065bb01fa656bc115e
 %define _usrdir        /usr
 %define _ugdir %{_usrdir}/ug
 
 Name:       isf
 Summary:    Input Service Framework
-Version:    2.3.5706
+Version:    2.3.5707
 Release:    1
 Group:      TO_BE/FILLED_IN
 License:    LGPL
index 9a025a5..8e53a50 100644 (file)
@@ -1,3 +1,7 @@
+ISF 2.3.5707 :
+  1. [isf-panel-efl] Fix input panel geometry defect when target is rotating
+
+
 ISF 2.3.5706 :
   1. [immodule] add cursor position in Ise_Context structure
   2. [immodule] disable prediction in TERMINAL layout