From: GiWoong Kim Date: Sat, 27 Dec 2014 06:16:58 +0000 (+0900) Subject: screenshot: added masking X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~571 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=970dbe75868fc982729af45505937061677d351a;p=sdk%2Femulator%2Fqemu.git screenshot: added masking Change-Id: I2f28d25148c589be0b1858226fd2f4eae25685ba Signed-off-by: GiWoong Kim --- diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ScreenShotDialog.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ScreenShotDialog.java index 921bee63e5..603017f80e 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ScreenShotDialog.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ScreenShotDialog.java @@ -353,7 +353,12 @@ public class ScreenShotDialog { } private void clickShutter() throws ScreenShotException { - capture(); + Image maskImage = skin.getDisplayCanvas().getMaskImage(); + if (maskImage != null) { + capture(SkinUtil.getMaskDataForImage(shell.getDisplay(), maskImage)); + } else { + capture(null); + } shell.getDisplay().asyncExec(new Runnable() { @Override @@ -363,7 +368,7 @@ public class ScreenShotDialog { }); } - protected void capture() throws ScreenShotException { + protected void capture(ImageData maskData) throws ScreenShotException { /* abstract */ } diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/SdlScreenShotWindow.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/SdlScreenShotWindow.java index e05fda7d7f..f3cdef7917 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/SdlScreenShotWindow.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/SdlScreenShotWindow.java @@ -58,7 +58,8 @@ public class SdlScreenShotWindow extends ScreenShotDialog { this.palette = palette; } - protected void capture() throws ScreenShotException { + @Override + protected void capture(ImageData maskData) throws ScreenShotException { logger.info("screenshot capture"); DataTranfer dataTranfer = skin.communicator.sendDataToQEMU( @@ -75,7 +76,11 @@ public class SdlScreenShotWindow extends ScreenShotDialog { imageData = getRotateImageData(imageData); Image tempImage = imageShot; - imageShot = new Image(Display.getDefault(), imageData); + if (maskData != null) { + imageShot = new Image(Display.getDefault(), imageData, maskData); + } else { + imageShot = new Image(Display.getDefault(), imageData); + } if (tempImage != null) { tempImage.dispose(); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ShmScreenShotWindow.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ShmScreenShotWindow.java index d08bc2e809..27fc590765 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ShmScreenShotWindow.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/screenshot/ShmScreenShotWindow.java @@ -56,7 +56,8 @@ public class ShmScreenShotWindow extends ScreenShotDialog { this.palette = palette; } - protected void capture() throws ScreenShotException { + @Override + protected void capture(ImageData maskData) throws ScreenShotException { logger.info("screenshot capture"); int width = skin.getEmulatorSkinState().getCurrentResolutionWidth(); @@ -76,7 +77,11 @@ public class ShmScreenShotWindow extends ScreenShotDialog { imageData = getRotateImageData(imageData); Image tempImage = imageShot; - imageShot = new Image(Display.getDefault(), imageData); + if (maskData != null) { + imageShot = new Image(Display.getDefault(), imageData, maskData); + } else { + imageShot = new Image(Display.getDefault(), imageData); + } if (tempImage != null) { tempImage.dispose();