Move UIKit stuff to separate java class
This commit is contained in:
1 parent
7eef602fae
commit
e96db799c4
11 files changed
+99
-50
No files matched your search
@@ -8,6 +8,7 @@ import javafx.application.Application;
|
||||
import org.lwjgl.glfw.CallbackBridge;
|
||||
|
||||
import net.kdt.pojavlaunch.prefs.*;
|
||||
import net.kdt.pojavlaunch.uikit.*;
|
||||
import net.kdt.pojavlaunch.utils.*;
|
||||
import net.kdt.pojavlaunch.value.*;
|
||||
|
||||
@@ -29,7 +30,7 @@ public class PLaunchApp {
|
||||
|
||||
if (args[0].startsWith("/Applications/")) {
|
||||
System.out.println("We are on java now! Starting UI...");
|
||||
org.lwjgl.glfw.CallbackBridge.nativeLaunchUI(args);
|
||||
UIKit.launchUI(args);
|
||||
} else {
|
||||
launchMinecraft();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package net.kdt.pojavlaunch.uikit;
|
||||
|
||||
import org.lwjgl.glfw.*;
|
||||
|
||||
public class UIKit {
|
||||
static {
|
||||
System.loadLibrary("pojavexec");
|
||||
}
|
||||
|
||||
public static native int launchUI(String[] uiArgs);
|
||||
public static native void runOnUIThread(UIKitCallback callback);
|
||||
|
||||
|
||||
public static void callback_AppDelegate_didFinishLaunching(int width, int height) {
|
||||
GLFW.mGLFWWindowWidth = CallbackBridge.width;
|
||||
GLFW.mGLFWWindowHeight = CallbackBridge.height;
|
||||
CallbackBridge.mouseX = CallbackBridge.width / 2;
|
||||
CallbackBridge.mouseY = height / 2;
|
||||
net.kdt.pojavlaunch.PLaunchApp.applicationDidFinishLaunching();
|
||||
}
|
||||
|
||||
public static void callback_SurfaceViewController_onTouch(int event, int x, int y) {
|
||||
switch (event) {
|
||||
case ACTION_DOWN:
|
||||
case ACTION_UP:
|
||||
CallbackBridge.mouseLastX = x;
|
||||
CallbackBridge.mouseLastY = y;
|
||||
break;
|
||||
|
||||
case ACTION_MOVE:
|
||||
if (GLFW.mGLFWIsGrabbing) {
|
||||
CallbackBridge.mouseX += x - CallbackBridge.mouseLastX;
|
||||
CallbackBridge.mouseY += y - CallbackBridge.mouseLastY;
|
||||
|
||||
CallbackBridge.mouseLastX = CallbackBridge.x;
|
||||
CallbackBridge.mouseLastY = CallbackBridge.y;
|
||||
} else {
|
||||
CallbackBridge.mouseX = CallbackBridge.x;
|
||||
CallbackBridge.mouseY = CallbackBridge.y;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
sendCursorPos(CallbackBridge.mouseX, CallbackBridge.mouseY);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package net.kdt.pojavlaunch.uikit;
|
||||
|
||||
public interface UIKitCallback {
|
||||
public void onCallback();
|
||||
}
|
||||
@@ -47,41 +47,6 @@ public class CallbackBridge {
|
||||
public static boolean mouseLeft;
|
||||
public static StringBuilder DEBUG_STRING = new StringBuilder();
|
||||
|
||||
|
||||
public static native void nativeLaunchUI(String[] uiArgs);
|
||||
public static void callback_AppDelegate_didFinishLaunching(int width, int height) {
|
||||
GLFW.mGLFWWindowWidth = width;
|
||||
GLFW.mGLFWWindowHeight = height;
|
||||
mouseX = width / 2;
|
||||
mouseY = height / 2;
|
||||
net.kdt.pojavlaunch.PLaunchApp.applicationDidFinishLaunching();
|
||||
}
|
||||
|
||||
public static void callback_SurfaceViewController_onTouch(int event, int x, int y) {
|
||||
switch (event) {
|
||||
case ACTION_DOWN:
|
||||
case ACTION_UP:
|
||||
mouseLastX = x;
|
||||
mouseLastY = y;
|
||||
break;
|
||||
|
||||
case ACTION_MOVE:
|
||||
if (GLFW.mGLFWIsGrabbing) {
|
||||
mouseX += x - mouseLastX;
|
||||
mouseY += y - mouseLastY;
|
||||
|
||||
mouseLastX = x;
|
||||
mouseLastY = y;
|
||||
} else {
|
||||
mouseX = x;
|
||||
mouseY = y;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
sendCursorPos(mouseX, mouseY);
|
||||
}
|
||||
|
||||
public static boolean nativeIsGrabbing() {
|
||||
return GLFW.mGLFWIsGrabbing;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user