#!/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
#!/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
*/
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() {
*/
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);
}
protected Shell shell;
protected ImageRegistry imageRegistry;
protected Canvas lcdCanvas;
+ private int displayCanvasStyle;
protected SkinInformation skinInfo;
protected ISkinComposer skinComposer;
* @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;
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);
((GeneralPurposeSkinComposer) skinComposer).addGeneralPurposeListener(shell);
}
- lcdCanvas = skinComposer.compose();
+ lcdCanvas = skinComposer.compose(displayCanvasStyle);
/* load a hover color */
currentState.setHoverColor(loadHoverColor());
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");
}
}
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);
}
@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);
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);
}
@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);