From 28beb31042509b1712b5cb77e96bdda0f80a00ff Mon Sep 17 00:00:00 2001 From: "giwoong.kim" Date: Thu, 7 Jun 2012 20:59:22 +0900 Subject: [PATCH] [Title] recover the loss of commit [Type] [Module] Emulator / skin [Priority] [Jira#] [Redmine#] [Problem] trim code is missing [Cause] [Solution] [TestCase] --- .../src/org/tizen/emulator/skin/EmulatorSkin.java | 11 +++++++- .../src/org/tizen/emulator/skin/util/SkinUtil.java | 29 ++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) mode change 100755 => 100644 tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java old mode 100755 new mode 100644 index ce8b3c0..ab49103 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java @@ -1,5 +1,5 @@ /** - * + * Emulator Skin Process * * Copyright (C) 2011 - 2012 Samsung Electronics Co., Ltd. All rights reserved. * @@ -173,6 +173,11 @@ public class EmulatorSkin { private EmulatorSkin reopenSkin; + /** + * @brief constructor + * @param config : configuration of emulator skin + * @param isOnTop : always on top flag + */ protected EmulatorSkin( EmulatorConfig config, boolean isOnTop ) { this.config = config; this.isDefaultHoverColor = true; @@ -595,6 +600,8 @@ public class EmulatorSkin { } } + SkinUtil.trimShell( shell, currentImage ); + KeyEventData keyEventData = new KeyEventData( KeyEventType.RELEASED.value(), keyCode, 0 ); communicator.sendToQEMU( SendCommand.SEND_HARD_KEY_EVENT, keyEventData ); } @@ -623,6 +630,8 @@ public class EmulatorSkin { region.height - 1, // src region.x + 1, region.y + 1, region.width - 1, region.height - 1 ); // dst gc.dispose(); + + SkinUtil.trimShell( shell, currentKeyPressedImage, region.x, region.y, region.width, region.height ); } KeyEventData keyEventData = new KeyEventData( KeyEventType.PRESSED.value(), keyCode, 0 ); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java index 047226d..c538e54 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/util/SkinUtil.java @@ -265,6 +265,35 @@ public class SkinUtil { } + public static void trimShell(Shell shell, Image image, int left, int top, + int width, int height) { + + if (null == image) { + return; + } + + ImageData imageData = image.getImageData(); + + int right = left + width; + int bottom = top + height; + + Region region = shell.getRegion(); + if (region == null) { + return; + } + + for (int i = left; i < right; i++) { + for (int j = top; j < bottom; j++) { + int alpha = imageData.getAlpha(i, j); + if (0 == alpha) { + region.subtract(i, j, 1, 1); + } + } + } + + shell.setRegion(region); + } + public static int[] convertMouseGeometry( int originalX, int originalY, int lcdWidth, int lcdHeight, int scale, int angle ) { -- 2.7.4