From 8667d5113060abd1e6f848906dd7d0cd23dc3b7f Mon Sep 17 00:00:00 2001 From: "munkyu.im" Date: Wed, 10 Oct 2012 17:17:16 +0900 Subject: [PATCH] Revert "screenshot: merge codes from tizen-mac" This reverts commit 631384da4211a4a47a5ac8eeb38daf41d98e4db1. Conflicts: tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java --- .../src/org/tizen/emulator/skin/EmulatorSkin.java | 12 ------ .../emulator/skin/screenshot/ScreenShotDialog.java | 49 ++++++++++------------ .../src/org/tizen/emulator/skin/util/SkinUtil.java | 2 +- 3 files changed, 22 insertions(+), 41 deletions(-) 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 index 277f604..cab8089 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java @@ -64,7 +64,6 @@ import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.ImageData; -import org.eclipse.swt.graphics.PaletteData; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Canvas; @@ -129,17 +128,11 @@ public class EmulatorSkin { } } - public native int getPixels(int[] array); public static final String GTK_OS_CLASS = "org.eclipse.swt.internal.gtk.OS"; public static final String WIN32_OS_CLASS = "org.eclipse.swt.internal.win32.OS"; public static final String COCOA_OS_CLASS = "org.eclipse.swt.internal.cocoa.OS"; - public final static int RED_MASK = 0x00FF0000; - public final static int GREEN_MASK = 0x0000FF00; - public final static int BLUE_MASK = 0x000000FF; - public final static int COLOR_DEPTH = 32; - private Logger logger = SkinLogger.getSkinLogger( EmulatorSkin.class ).getLogger(); protected EmulatorConfig config; @@ -176,7 +169,6 @@ public class EmulatorSkin { private SocketCommunicator communicator; private long windowHandleId; - private PaletteData paletteData; private Listener shellCloseListener; private PaintListener shellPaintListener; private MouseTrackListener shellMouseTrackListener; @@ -204,7 +196,6 @@ public class EmulatorSkin { this.config = config; this.isDefaultHoverColor = true; this.isOnTop = isOnTop; - this.paletteData = new PaletteData(RED_MASK, GREEN_MASK, BLUE_MASK); this.pressedKeyEventList = new LinkedList(); int style = SWT.NO_TRIM; @@ -215,9 +206,6 @@ public class EmulatorSkin { public void setCommunicator( SocketCommunicator communicator ) { this.communicator = communicator; } - public PaletteData getPalette() { - return paletteData; - } public long compose() { 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 98f0543..06a43ae 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 @@ -51,6 +51,7 @@ import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.ImageLoader; +import org.eclipse.swt.graphics.PaletteData; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridData; @@ -66,7 +67,9 @@ import org.eclipse.swt.widgets.ToolBar; import org.eclipse.swt.widgets.ToolItem; import org.tizen.emulator.skin.EmulatorSkin; import org.tizen.emulator.skin.comm.ICommunicator.RotationInfo; +import org.tizen.emulator.skin.comm.ICommunicator.SendCommand; import org.tizen.emulator.skin.comm.sock.SocketCommunicator; +import org.tizen.emulator.skin.comm.sock.SocketCommunicator.DataTranfer; import org.tizen.emulator.skin.config.EmulatorConfig; import org.tizen.emulator.skin.config.EmulatorConfig.ArgsConstants; import org.tizen.emulator.skin.exception.ScreenShotException; @@ -75,17 +78,24 @@ import org.tizen.emulator.skin.image.ImageRegistry.IconName; import org.tizen.emulator.skin.log.SkinLogger; import org.tizen.emulator.skin.util.IOUtil; import org.tizen.emulator.skin.util.SkinUtil; -import org.tizen.emulator.skin.util.SwtUtil; import org.tizen.emulator.skin.util.StringUtil; +import org.tizen.emulator.skin.util.SwtUtil; public class ScreenShotDialog { public final static String DEFAULT_FILE_EXTENSION = "png"; - public final static int CANVAS_MARGIN = 30; - public final static int TOOLITEM_COOLTIME = 200; + + public static final int RED_MASK = 0x0000FF00; + public static final int GREEN_MASK = 0x00FF0000; + public static final int BLUE_MASK = 0xFF000000; + public static final int COLOR_DEPTH = 32; + + public static final int CANVAS_MARGIN = 30; + public static final int TOOLITEM_COOLTIME = 200; private Logger logger = SkinLogger.getSkinLogger( ScreenShotDialog.class ).getLogger(); + private PaletteData paletteData; private Image image; private Canvas imageCanvas; private Shell shell; @@ -160,7 +170,7 @@ public class ScreenShotDialog { if ( null != image && !image.isDisposed() ) { //e.gc.drawImage( image, CANVAS_MARGIN, CANVAS_MARGIN ); Rectangle r = image.getBounds(); - logger.info("r.width: " +r.width +", r.height " + r.height); + //logger.info("r.width: " +r.width +", r.height " + r.height); e.gc.drawImage(image, 0, 0, r.width, r.height, CANVAS_MARGIN, CANVAS_MARGIN, (int)(r.width * scaleLevel * 1/100), (int)(r.height * scaleLevel * 1/100)); } @@ -168,6 +178,8 @@ public class ScreenShotDialog { } } ); + paletteData = new PaletteData( RED_MASK, GREEN_MASK, BLUE_MASK ); + scrollComposite.setContent( imageCanvas ); try { @@ -260,7 +272,7 @@ public class ScreenShotDialog { private void capture() throws ScreenShotException { - /* DataTranfer dataTranfer = communicator.sendToQEMU( SendCommand.SCREEN_SHOT, null, true ); + DataTranfer dataTranfer = communicator.sendToQEMU( SendCommand.SCREEN_SHOT, null, true ); byte[] receivedData = communicator.getReceivedData( dataTranfer ); if ( null != receivedData ) { @@ -282,30 +294,10 @@ public class ScreenShotDialog { } else { throw new ScreenShotException( "Fail to get image data." ); - }*/ - - int width = config.getArgInt(ArgsConstants.RESOLUTION_WIDTH); - int height = config.getArgInt(ArgsConstants.RESOLUTION_HEIGHT); - - int[] array = new int[width * height]; - int result = emulatorSkin.getPixels(array); //from shared memory - //logger.info("getPixels navtive function returned " + result); - - ImageData imageData = new ImageData(width, height, EmulatorSkin.COLOR_DEPTH, emulatorSkin.getPalette()); - for (int i = 0; i < height; i++) { - imageData.setPixels(0, i, width, array, i * width); } - RotationInfo rotation = getCurrentRotation(); - imageData = rotateImageData(imageData, rotation); - - if (image != null) { - image.dispose(); - } - image = new Image(Display.getDefault(), imageData); - imageCanvas.redraw(); } - + private double getScaleLevel() { return scaleLevel; } @@ -510,7 +502,8 @@ public class ScreenShotDialog { if ( SwtUtil.isWindowsPlatform() ) { // change RGB mask ImageData imageData = image.getImageData(); - data = new ImageData( imageData.width, imageData.height, imageData.depth, emulatorSkin.getPalette(), + PaletteData paletteData = new PaletteData( BLUE_MASK, GREEN_MASK, RED_MASK ); + data = new ImageData( imageData.width, imageData.height, imageData.depth, paletteData, imageData.bytesPerLine, imageData.data ); } else { data = image.getImageData(); @@ -745,4 +738,4 @@ public class ScreenShotDialog { return shell; } -} +} \ No newline at end of file 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 00c5feb..859b0b1 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 @@ -72,7 +72,7 @@ public class SkinUtil { String vmPath = config.getArg( ArgsConstants.VM_PATH ); String regex = ""; - if (SwtUtil.isWindowsPlatform()) { + if ( SwtUtil.isWindowsPlatform() ) { regex = "\\" + File.separator; } else { regex = File.separator; -- 2.7.4