From: giwoong.kim Date: Wed, 23 Jan 2013 08:50:11 +0000 (+0900) Subject: skin: do not use SWT.EMBEDDED style for display canvas with shm X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~1120 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=686ca66591947d6cdcc41996f9c809c792560aea;p=sdk%2Femulator%2Fqemu.git skin: do not use SWT.EMBEDDED style for display canvas with shm do not use SWT.EMBEDDED style for display canvas with shared framebuffer design of skin. Signed-off-by: GiWoong Kim --- diff --git a/tizen/src/skin/client/native_src/make_so_linux.sh b/tizen/src/skin/client/native_src/make_so_linux.sh index a8b69670fc..aaa260343f 100755 --- a/tizen/src/skin/client/native_src/make_so_linux.sh +++ b/tizen/src/skin/client/native_src/make_so_linux.sh @@ -1,7 +1,9 @@ #!/bin/bash -javah -classpath ../bin/:../lib/swt.jar -jni org.tizen.emulator.skin.EmulatorSkin -rm ./org_tizen_emulator_skin_EmulatorSkin_PollFBThread.h -rm ./org_tizen_emulator_skin_EmulatorSkin_SkinReopenPolicy.h + +#Example + +javah -classpath ../bin/:../lib/swt.jar -jni org.tizen.emulator.skin.EmulatorShmSkin +rm ./org_tizen_emulator_skin_EmulatorShmSkin_PollFBThread.h #TODO: jdk path gcc -c share.c -o share.o -I /usr/lib/jvm/jdk1.7.0_04/include -I /usr/lib/jvm/jdk1.7.0_04/include/linux gcc -shared share.o -o libshared.so -fPIC diff --git a/tizen/src/skin/client/native_src/make_so_mac.sh b/tizen/src/skin/client/native_src/make_so_mac.sh index 22469cb3c7..d7262f6db9 100755 --- a/tizen/src/skin/client/native_src/make_so_mac.sh +++ b/tizen/src/skin/client/native_src/make_so_mac.sh @@ -1,7 +1,9 @@ #!/bin/bash -javah -classpath ../emulator-skin.jar:../lib/swt.jar -jni org.tizen.emulator.skin.EmulatorSkin -rm ./org_tizen_emulator_skin_EmulatorSkin_PollFBThread.h -rm ./org_tizen_emulator_skin_EmulatorSkin_SkinReopenPolicy.h + +#Example + +javah -classpath ../emulator-skin.jar:../lib/swt.jar -jni org.tizen.emulator.skin.EmulatorShmSkin +rm ./org_tizen_emulator_skin_EmulatorShmSkin_PollFBThread.h #TODO: jdk path gcc -c share.c -o share.o -I/System/Library/Frameworks/JavaVM.framework/Headers gcc -dynamiclib share.o -o libshared.dylib diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java index 5dac1956bd..b1c76c9c36 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSdlSkin.java @@ -51,7 +51,7 @@ public class EmulatorSdlSkin extends EmulatorSkin { */ public EmulatorSdlSkin(EmulatorSkinState state, EmulatorFingers finger, EmulatorConfig config, SkinInformation skinInfo, boolean isOnTop) { - super(state, finger, config, skinInfo, isOnTop); + super(state, finger, config, skinInfo, SWT.EMBEDDED, isOnTop); } public long initLayout() { diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java index a1dec15ba5..c2ee19375f 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorShmSkin.java @@ -139,7 +139,7 @@ public class EmulatorShmSkin extends EmulatorSkin { */ public EmulatorShmSkin(EmulatorSkinState state, EmulatorFingers finger, EmulatorConfig config, SkinInformation skinInfo, boolean isOnTop) { - super(state, finger, config, skinInfo, isOnTop); + super(state, finger, config, skinInfo, SWT.NONE, isOnTop); this.paletteData = new PaletteData(RED_MASK, GREEN_MASK, BLUE_MASK); } 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 29d5971493..0cd3002200 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 @@ -130,6 +130,7 @@ public class EmulatorSkin { protected Shell shell; protected ImageRegistry imageRegistry; protected Canvas lcdCanvas; + private int displayCanvasStyle; protected SkinInformation skinInfo; protected ISkinComposer skinComposer; @@ -178,7 +179,8 @@ public class EmulatorSkin { * @param isOnTop : always on top flag */ protected EmulatorSkin(EmulatorSkinState state, EmulatorFingers finger, - EmulatorConfig config, SkinInformation skinInfo, boolean isOnTop) { + EmulatorConfig config, SkinInformation skinInfo, + int displayCanvasStyle, boolean isOnTop) { this.finger = finger; this.config = config; this.skinInfo = skinInfo; @@ -200,6 +202,8 @@ public class EmulatorSkin { SkinUtil.setTopMost(shell, true); } + this.displayCanvasStyle = displayCanvasStyle; + /* generate a pair tag color of key window */ int red = (int) (Math.random() * 256); int green = (int) (Math.random() * 256); @@ -229,7 +233,7 @@ public class EmulatorSkin { ((GeneralPurposeSkinComposer) skinComposer).addGeneralPurposeListener(shell); } - lcdCanvas = skinComposer.compose(); + lcdCanvas = skinComposer.compose(displayCanvasStyle); /* load a hover color */ currentState.setHoverColor(loadHoverColor()); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkinMain.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkinMain.java index 315c514c7a..d8e8d7e571 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkinMain.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkinMain.java @@ -69,12 +69,19 @@ public class EmulatorSkinMain { public static final String SKIN_PROPERTIES_FILE_NAME = ".skin.properties"; public static final String CONFIG_PROPERTIES_FILE_NAME = ".skinconfig.properties"; public static final String DBI_FILE_NAME = "default.dbi"; - EmulatorSkinState currentState; + private static Logger logger; + public EmulatorSkinState currentState; + private static int useSharedMemory = 0; + static { + if (SwtUtil.isMacPlatform() == true) { + useSharedMemory = 1; + } + /* shared memory */ - if (SwtUtil.isMacPlatform()) { + if (useSharedMemory == 1) { System.loadLibrary("shared"); } } @@ -222,7 +229,8 @@ public class EmulatorSkinMain { EmulatorSkinState currentState = new EmulatorSkinState(); currentState.setMaxTouchPoint(maxtouchpoint); EmulatorFingers finger = new EmulatorFingers(currentState); - if (SwtUtil.isMacPlatform()) { + + if (useSharedMemory == 1) { skin = new EmulatorShmSkin(currentState, finger, config, skinInfo, isOnTop); } else { // linux & windows skin = new EmulatorSdlSkin(currentState, finger, config, skinInfo, isOnTop); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java index e663fe985e..c3accabc0c 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/GeneralPurposeSkinComposer.java @@ -108,8 +108,8 @@ public class GeneralPurposeSkinComposer implements ISkinComposer { } @Override - public Canvas compose() { - displayCanvas = new Canvas(shell, SWT.EMBEDDED); //TODO: + public Canvas compose(int style) { + displayCanvas = new Canvas(shell, style); int x = config.getSkinPropertyInt(SkinPropertiesConstants.WINDOW_X, EmulatorConfig.DEFAULT_WINDOW_X); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ISkinComposer.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ISkinComposer.java index 402a3238bf..34aee84730 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ISkinComposer.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/ISkinComposer.java @@ -32,7 +32,7 @@ import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Canvas; public interface ISkinComposer { - public abstract Canvas compose(); + public abstract Canvas compose(int style); public abstract void composeInternal(Canvas lcdCanvas, int x, int y, int scale, short rotationId); diff --git a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/PhoneShapeSkinComposer.java b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/PhoneShapeSkinComposer.java index 904035e309..64d3e966a7 100644 --- a/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/PhoneShapeSkinComposer.java +++ b/tizen/src/skin/client/src/org/tizen/emulator/skin/layout/PhoneShapeSkinComposer.java @@ -102,8 +102,8 @@ public class PhoneShapeSkinComposer implements ISkinComposer { } @Override - public Canvas compose() { - lcdCanvas = new Canvas(shell, SWT.EMBEDDED); //TODO: + public Canvas compose(int style) { + lcdCanvas = new Canvas(shell, style); int x = config.getSkinPropertyInt(SkinPropertiesConstants.WINDOW_X, EmulatorConfig.DEFAULT_WINDOW_X);