mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-13 14:51:51 -04:00
Merge branch 'v3_openjdk' of https://github.com/PojavLauncherTeam/PojavLauncher into v3_openjdk
This commit is contained in:
commit
dd2c38e8c4
@ -31,7 +31,7 @@ static gboolean gtk_has_been_loaded = FALSE;
|
|||||||
static gboolean gnome_has_been_loaded = FALSE;
|
static gboolean gnome_has_been_loaded = FALSE;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
include <jni.h>
|
#include <jni.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: sun_awt_X11_XDesktopPeer
|
* Class: sun_awt_X11_XDesktopPeer
|
||||||
|
@ -217,38 +217,39 @@ JNIEXPORT void JNICALL
|
|||||||
Java_sun_awt_X11_XRobotPeer_keyPressImpl (JNIEnv *env,
|
Java_sun_awt_X11_XRobotPeer_keyPressImpl (JNIEnv *env,
|
||||||
jclass cls,
|
jclass cls,
|
||||||
jint keycode) {
|
jint keycode) {
|
||||||
|
/*
|
||||||
AWT_LOCK();
|
AWT_LOCK();
|
||||||
|
|
||||||
DTRACE_PRINTLN1("RobotPeer: keyPressImpl(%i)", keycode);
|
DTRACE_PRINTLN1("RobotPeer: keyPressImpl(%i)", keycode);
|
||||||
/*
|
|
||||||
XTestFakeKeyEvent(awt_display,
|
XTestFakeKeyEvent(awt_display,
|
||||||
XKeysymToKeycode(awt_display, awt_getX11KeySym(keycode)),
|
XKeysymToKeycode(awt_display, awt_getX11KeySym(keycode)),
|
||||||
True,
|
True,
|
||||||
CurrentTime);
|
CurrentTime);
|
||||||
|
|
||||||
XSync(awt_display, False);
|
XSync(awt_display, False);
|
||||||
*/
|
|
||||||
AWT_UNLOCK();
|
|
||||||
|
|
||||||
|
AWT_UNLOCK();
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL
|
JNIEXPORT void JNICALL
|
||||||
Java_sun_awt_X11_XRobotPeer_keyReleaseImpl (JNIEnv *env,
|
Java_sun_awt_X11_XRobotPeer_keyReleaseImpl (JNIEnv *env,
|
||||||
jclass cls,
|
jclass cls,
|
||||||
jint keycode) {
|
jint keycode) {
|
||||||
|
/*
|
||||||
AWT_LOCK();
|
AWT_LOCK();
|
||||||
|
|
||||||
DTRACE_PRINTLN1("RobotPeer: keyReleaseImpl(%i)", keycode);
|
DTRACE_PRINTLN1("RobotPeer: keyReleaseImpl(%i)", keycode);
|
||||||
/*
|
|
||||||
XTestFakeKeyEvent(awt_display,
|
XTestFakeKeyEvent(awt_display,
|
||||||
XKeysymToKeycode(awt_display, awt_getX11KeySym(keycode)),
|
XKeysymToKeycode(awt_display, awt_getX11KeySym(keycode)),
|
||||||
False,
|
False,
|
||||||
CurrentTime);
|
CurrentTime);
|
||||||
|
|
||||||
XSync(awt_display, False);
|
XSync(awt_display, False);
|
||||||
*/
|
|
||||||
AWT_UNLOCK();
|
AWT_UNLOCK();
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL
|
JNIEXPORT void JNICALL
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
#include <jni.h>
|
#include <jni.h>
|
||||||
|
|
||||||
// #include "jni_util.h"
|
// #include "jni_util.h"
|
||||||
#include "awt_Taskbar.h"
|
// #include "awt_Taskbar.h"
|
||||||
|
|
||||||
|
|
||||||
extern JavaVM *jvm;
|
extern JavaVM *jvm;
|
||||||
|
@ -32,14 +32,6 @@
|
|||||||
#include "sizecalc.h"
|
#include "sizecalc.h"
|
||||||
// #include "sun_awt_UNIXToolkit.h"
|
// #include "sun_awt_UNIXToolkit.h"
|
||||||
|
|
||||||
#define HEADLESS
|
|
||||||
|
|
||||||
#ifndef HEADLESS
|
|
||||||
#include "awt.h"
|
|
||||||
#include "gtk_interface.h"
|
|
||||||
#endif /* !HEADLESS */
|
|
||||||
|
|
||||||
|
|
||||||
static jclass this_class = NULL;
|
static jclass this_class = NULL;
|
||||||
static jmethodID icon_upcall_method = NULL;
|
static jmethodID icon_upcall_method = NULL;
|
||||||
|
|
||||||
@ -51,11 +43,7 @@ static jmethodID icon_upcall_method = NULL;
|
|||||||
*/
|
*/
|
||||||
JNIEXPORT jboolean JNICALL
|
JNIEXPORT jboolean JNICALL
|
||||||
Java_sun_awt_UNIXToolkit_check_1gtk(JNIEnv *env, jclass klass, jint version) {
|
Java_sun_awt_UNIXToolkit_check_1gtk(JNIEnv *env, jclass klass, jint version) {
|
||||||
#ifndef HEADLESS
|
|
||||||
return (jboolean)gtk_check_version(version);
|
|
||||||
#else
|
|
||||||
return JNI_FALSE;
|
return JNI_FALSE;
|
||||||
#endif /* !HEADLESS */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -67,11 +55,7 @@ Java_sun_awt_UNIXToolkit_check_1gtk(JNIEnv *env, jclass klass, jint version) {
|
|||||||
JNIEXPORT jboolean JNICALL
|
JNIEXPORT jboolean JNICALL
|
||||||
Java_sun_awt_UNIXToolkit_load_1gtk(JNIEnv *env, jclass klass, jint version,
|
Java_sun_awt_UNIXToolkit_load_1gtk(JNIEnv *env, jclass klass, jint version,
|
||||||
jboolean verbose) {
|
jboolean verbose) {
|
||||||
#ifndef HEADLESS
|
|
||||||
return (jboolean)gtk_load(env, version, verbose);
|
|
||||||
#else
|
|
||||||
return JNI_FALSE;
|
return JNI_FALSE;
|
||||||
#endif /* !HEADLESS */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -83,23 +67,7 @@ Java_sun_awt_UNIXToolkit_load_1gtk(JNIEnv *env, jclass klass, jint version,
|
|||||||
JNIEXPORT jboolean JNICALL
|
JNIEXPORT jboolean JNICALL
|
||||||
Java_sun_awt_UNIXToolkit_unload_1gtk(JNIEnv *env, jclass klass)
|
Java_sun_awt_UNIXToolkit_unload_1gtk(JNIEnv *env, jclass klass)
|
||||||
{
|
{
|
||||||
#ifndef HEADLESS
|
|
||||||
return (jboolean)gtk->unload();
|
|
||||||
#else
|
|
||||||
return JNI_FALSE;
|
return JNI_FALSE;
|
||||||
#endif /* !HEADLESS */
|
|
||||||
}
|
|
||||||
|
|
||||||
jboolean init_method(JNIEnv *env, jobject this)
|
|
||||||
{
|
|
||||||
if (this_class == NULL) {
|
|
||||||
this_class = (*env)->NewGlobalRef(env,
|
|
||||||
(*env)->GetObjectClass(env, this));
|
|
||||||
icon_upcall_method = (*env)->GetMethodID(env, this_class,
|
|
||||||
"loadIconCallback", "([BIIIIIZ)V");
|
|
||||||
CHECK_NULL_RETURN(icon_upcall_method, JNI_FALSE);
|
|
||||||
}
|
|
||||||
return JNI_TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -113,38 +81,7 @@ JNIEXPORT jboolean JNICALL
|
|||||||
Java_sun_awt_UNIXToolkit_load_1gtk_1icon(JNIEnv *env, jobject this,
|
Java_sun_awt_UNIXToolkit_load_1gtk_1icon(JNIEnv *env, jobject this,
|
||||||
jstring filename)
|
jstring filename)
|
||||||
{
|
{
|
||||||
#ifndef HEADLESS
|
|
||||||
int len;
|
|
||||||
char *filename_str = NULL;
|
|
||||||
GError **error = NULL;
|
|
||||||
|
|
||||||
if (filename == NULL)
|
|
||||||
{
|
|
||||||
return JNI_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
len = (*env)->GetStringUTFLength(env, filename);
|
|
||||||
filename_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc,
|
|
||||||
sizeof(char), len + 1);
|
|
||||||
if (filename_str == NULL) {
|
|
||||||
JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
|
|
||||||
return JNI_FALSE;
|
|
||||||
}
|
|
||||||
if (!init_method(env, this) ) {
|
|
||||||
free(filename_str);
|
|
||||||
return JNI_FALSE;
|
|
||||||
}
|
|
||||||
(*env)->GetStringUTFRegion(env, filename, 0, len, filename_str);
|
|
||||||
jboolean result = gtk->get_file_icon_data(env, filename_str, error,
|
|
||||||
icon_upcall_method, this);
|
|
||||||
|
|
||||||
/* Release the strings we've allocated. */
|
|
||||||
free(filename_str);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
#else /* HEADLESS */
|
|
||||||
return JNI_FALSE;
|
return JNI_FALSE;
|
||||||
#endif /* !HEADLESS */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -159,55 +96,7 @@ Java_sun_awt_UNIXToolkit_load_1stock_1icon(JNIEnv *env, jobject this,
|
|||||||
jint widget_type, jstring stock_id, jint icon_size,
|
jint widget_type, jstring stock_id, jint icon_size,
|
||||||
jint text_direction, jstring detail)
|
jint text_direction, jstring detail)
|
||||||
{
|
{
|
||||||
#ifndef HEADLESS
|
|
||||||
int len;
|
|
||||||
char *stock_id_str = NULL;
|
|
||||||
char *detail_str = NULL;
|
|
||||||
|
|
||||||
if (stock_id == NULL)
|
|
||||||
{
|
|
||||||
return JNI_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
len = (*env)->GetStringUTFLength(env, stock_id);
|
|
||||||
stock_id_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc,
|
|
||||||
sizeof(char), len + 1);
|
|
||||||
if (stock_id_str == NULL) {
|
|
||||||
JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
|
|
||||||
return JNI_FALSE;
|
|
||||||
}
|
|
||||||
(*env)->GetStringUTFRegion(env, stock_id, 0, len, stock_id_str);
|
|
||||||
|
|
||||||
/* Detail isn't required so check for NULL. */
|
|
||||||
if (detail != NULL)
|
|
||||||
{
|
|
||||||
len = (*env)->GetStringUTFLength(env, detail);
|
|
||||||
detail_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc,
|
|
||||||
sizeof(char), len + 1);
|
|
||||||
if (detail_str == NULL) {
|
|
||||||
JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
|
|
||||||
return JNI_FALSE;
|
|
||||||
}
|
|
||||||
(*env)->GetStringUTFRegion(env, detail, 0, len, detail_str);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!init_method(env, this) ) {
|
|
||||||
return JNI_FALSE;
|
|
||||||
}
|
|
||||||
jboolean result = gtk->get_icon_data(env, widget_type, stock_id_str,
|
|
||||||
icon_size, text_direction, detail_str,
|
|
||||||
icon_upcall_method, this);
|
|
||||||
|
|
||||||
/* Release the strings we've allocated. */
|
|
||||||
free(stock_id_str);
|
|
||||||
if (detail_str != NULL)
|
|
||||||
{
|
|
||||||
free(detail_str);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
#else /* HEADLESS */
|
|
||||||
return JNI_FALSE;
|
return JNI_FALSE;
|
||||||
#endif /* !HEADLESS */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -218,11 +107,7 @@ Java_sun_awt_UNIXToolkit_load_1stock_1icon(JNIEnv *env, jobject this,
|
|||||||
JNIEXPORT void JNICALL
|
JNIEXPORT void JNICALL
|
||||||
Java_sun_awt_UNIXToolkit_nativeSync(JNIEnv *env, jobject this)
|
Java_sun_awt_UNIXToolkit_nativeSync(JNIEnv *env, jobject this)
|
||||||
{
|
{
|
||||||
#ifndef HEADLESS
|
|
||||||
AWT_LOCK();
|
|
||||||
XSync(awt_display, False);
|
|
||||||
AWT_UNLOCK();
|
|
||||||
#endif /* !HEADLESS */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -233,18 +118,7 @@ Java_sun_awt_UNIXToolkit_nativeSync(JNIEnv *env, jobject this)
|
|||||||
JNIEXPORT void JNICALL
|
JNIEXPORT void JNICALL
|
||||||
Java_sun_awt_SunToolkit_closeSplashScreen(JNIEnv *env, jclass cls)
|
Java_sun_awt_SunToolkit_closeSplashScreen(JNIEnv *env, jclass cls)
|
||||||
{
|
{
|
||||||
typedef void (*SplashClose_t)();
|
|
||||||
SplashClose_t splashClose;
|
|
||||||
void* hSplashLib = dlopen(0, RTLD_LAZY);
|
|
||||||
if (!hSplashLib) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
splashClose = (SplashClose_t)dlsym(hSplashLib,
|
|
||||||
"SplashClose");
|
|
||||||
if (splashClose) {
|
|
||||||
splashClose();
|
|
||||||
}
|
|
||||||
dlclose(hSplashLib);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -256,14 +130,7 @@ JNIEXPORT jboolean JNICALL
|
|||||||
Java_sun_awt_UNIXToolkit_gtkCheckVersionImpl(JNIEnv *env, jobject this,
|
Java_sun_awt_UNIXToolkit_gtkCheckVersionImpl(JNIEnv *env, jobject this,
|
||||||
jint major, jint minor, jint micro)
|
jint major, jint minor, jint micro)
|
||||||
{
|
{
|
||||||
char *ret;
|
return JNI_FALSE;
|
||||||
|
|
||||||
ret = gtk->gtk_check_version(major, minor, micro);
|
|
||||||
if (ret == NULL) {
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -274,11 +141,8 @@ Java_sun_awt_UNIXToolkit_gtkCheckVersionImpl(JNIEnv *env, jobject this,
|
|||||||
JNIEXPORT jint JNICALL
|
JNIEXPORT jint JNICALL
|
||||||
Java_sun_awt_UNIXToolkit_get_1gtk_1version(JNIEnv *env, jclass klass)
|
Java_sun_awt_UNIXToolkit_get_1gtk_1version(JNIEnv *env, jclass klass)
|
||||||
{
|
{
|
||||||
#ifndef HEADLESS
|
// return GTK_ANY;
|
||||||
return gtk ? gtk->version : GTK_ANY;
|
return (jint) 1;
|
||||||
#else
|
|
||||||
return GTK_ANY;
|
|
||||||
#endif /* !HEADLESS */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef HEADLESS
|
#undef HEADLESS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user