skin: remove previous hwkey hover always
authorGiWoong Kim <giwoong.kim@samsung.com>
Thu, 22 Aug 2013 00:58:22 +0000 (09:58 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Thu, 22 Aug 2013 00:58:22 +0000 (09:58 +0900)
Change-Id: I26a30dbb5f59d5b3b5d1b4f32a61f1e3767957b4
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ProfileSpecificSkinComposer.java

index 8896a7157193056a43af26f9dcf9ee72522652b2..eef9a585d26072d929699e20d8d72504c2afe1d3 100644 (file)
@@ -364,11 +364,11 @@ public class ProfileSpecificSkinComposer implements ISkinComposer {
 
                                final HWKey hwKey = SkinUtil.getHWKey(e.x, e.y,
                                                currentState.getCurrentRotationId(), currentState.getCurrentScale());
-                               if (hwKey == null) {
-                                       /* remove hover */
-                                       HWKey hoveredHWKey = currentState.getCurrentHoveredHWKey();
+                               HWKey hoveredHWKey = currentState.getCurrentHoveredHWKey();
 
+                               if (hwKey == null) {
                                        if (hoveredHWKey != null) {
+                                               /* remove hover */
                                                shell.redraw(hoveredHWKey.getRegion().x,
                                                                hoveredHWKey.getRegion().y,
                                                                hoveredHWKey.getRegion().width,
@@ -379,10 +379,20 @@ public class ProfileSpecificSkinComposer implements ISkinComposer {
                                        }
 
                                        return;
+                               } else {
+                                       if (hoveredHWKey != null &&
+                                                       (hoveredHWKey.getRegion().x != hwKey.getRegion().x &&
+                                                       hoveredHWKey.getRegion().y != hwKey.getRegion().y)) {
+                                               /* remove hover */
+                                               shell.redraw(hoveredHWKey.getRegion().x,
+                                                               hoveredHWKey.getRegion().y,
+                                                               hoveredHWKey.getRegion().width,
+                                                               hoveredHWKey.getRegion().height, false);
+                                       }
                                }
 
                                /* register a tooltip */
-                               if (currentState.getCurrentHoveredHWKey() == null &&
+                               if (hoveredHWKey == null &&
                                                hwKey.getTooltip().isEmpty() == false) {
                                        shell.setToolTipText(hwKey.getTooltip());
                                }