Merge remote-tracking branch 'score/develop' into tizen-arm
[sdk/emulator/qemu.git] / tizen / src / skin / client / src / org / tizen / emulator / skin / EmulatorSkin.java
index 64ee4e1..67cea53 100644 (file)
@@ -61,6 +61,7 @@ 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;
@@ -125,11 +126,17 @@ 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;
@@ -166,6 +173,7 @@ public class EmulatorSkin {
        private SocketCommunicator communicator;
        private long windowHandleId;
 
+       private PaletteData paletteData;
        private Listener shellCloseListener;
        private PaintListener shellPaintListener;
        private MouseTrackListener shellMouseTrackListener;
@@ -191,6 +199,7 @@ public class EmulatorSkin {
                this.config = config;
                this.isDefaultHoverColor = true;
                this.isOnTop = isOnTop;
+               this.paletteData = new PaletteData(RED_MASK, GREEN_MASK, BLUE_MASK);
                
                int style = SWT.NO_TRIM;
                this.shell = new Shell( Display.getDefault(), style );
@@ -200,6 +209,9 @@ public class EmulatorSkin {
        public void setCommunicator( SocketCommunicator communicator ) {
                this.communicator = communicator;
        }
+       public PaletteData getPalette() {
+               return paletteData;
+       }
 
        public long compose() {
 
@@ -2002,6 +2014,19 @@ public class EmulatorSkin {
                        }
                });
 
+               final MenuItem guestdumpItem = new MenuItem(menu, SWT.PUSH);
+               guestdumpItem.setText("&Guest Memory Dump");
+
+               guestdumpItem.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               logger.info("Guest memory dump menu is selected");
+
+                               communicator.setRamdumpFlag(true);
+                               communicator.sendToQEMU(SendCommand.GUEST_DUMP, null);
+                       }
+               });
+
                return menu;
        }