From e72c336d01b32bee304c8a2989e2335fcc26c143 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Mon, 7 Sep 2026 14:42:21 -0400 Subject: Android improvements, update deps Signed-off-by: Andrew Opalach --- .../packagefiles/glfm/android_additions.diff | 59 ++++++++++++++++++++++ .../glfm/android_get_egl_internal.diff | 39 ++++++++++++++ .../packagefiles/glfm/get_egl_internal.diff | 39 -------------- 3 files changed, 98 insertions(+), 39 deletions(-) create mode 100644 subprojects/packagefiles/glfm/android_additions.diff create mode 100644 subprojects/packagefiles/glfm/android_get_egl_internal.diff delete mode 100644 subprojects/packagefiles/glfm/get_egl_internal.diff (limited to 'subprojects/packagefiles') diff --git a/subprojects/packagefiles/glfm/android_additions.diff b/subprojects/packagefiles/glfm/android_additions.diff new file mode 100644 index 0000000..81b1059 --- /dev/null +++ b/subprojects/packagefiles/glfm/android_additions.diff @@ -0,0 +1,59 @@ +diff --git a/include/glfm.h b/include/glfm.h +index ceace39..cf7ee70 100644 +--- a/include/glfm.h ++++ b/include/glfm.h +@@ -272,6 +272,8 @@ typedef enum { + GLFMKeyCodePrintScreen = 0x9B, ///< Print Screen or System Request key. + GLFMKeyCodeScrollLock = 0x9C, + GLFMKeyCodePause = 0x9D, ///< Pause/Break key. ++ GLFMKeyCodeVolumeUp = 0x9E, ++ GLFMKeyCodeVolumeDown = 0x9F, + + GLFMKeyCodeNumLock = 0xA0, ///< NumLock key ("clear" on Apple platforms). + GLFMKeyCodeNumpadDecimal = 0xA1, +@@ -890,7 +892,7 @@ ANativeActivity *glfmAndroidGetActivity(void) GLFM_DEPRECATED("Use glfmGetAndroi + /// The returned `ANativeActivity` may be invalidated when the surface is destroyed. If a reference to the + /// `ANativeActivity` is kept, call this function again to get an updated reference in ``GLFMSurfaceCreatedFunc`` or + /// ``GLFMAppFocusFunc``. +-void *glfmGetAndroidActivity(const GLFMDisplay *display); ++void *glfmGetAndroidActivity(const GLFMDisplay *display, void **jni); + + #endif // GLFM_EXPOSE_NATIVE_ANDROID + +diff --git a/src/glfm_android.c b/src/glfm_android.c +index 12f3c63..6f77d0a 100644 +--- a/src/glfm_android.c ++++ b/src/glfm_android.c +@@ -1117,6 +1117,8 @@ static bool glfm__onKeyEvent(GLFMPlatformData *platformData, AInputEvent *event) + [AKEYCODE_DPAD_RIGHT] = GLFMKeyCodeArrowRight, + + [AKEYCODE_POWER] = GLFMKeyCodePower, ++ [AKEYCODE_VOLUME_UP] = GLFMKeyCodeVolumeUp, ++ [AKEYCODE_VOLUME_DOWN] = GLFMKeyCodeVolumeDown, + + [AKEYCODE_A] = GLFMKeyCodeA, + [AKEYCODE_B] = GLFMKeyCodeB, +@@ -1215,6 +1217,9 @@ static bool glfm__onKeyEvent(GLFMPlatformData *platformData, AInputEvent *event) + [AKEYCODE_NUMPAD_DOT] = GLFMKeyCodeNumpadDecimal, + [AKEYCODE_NUMPAD_ENTER] = GLFMKeyCodeNumpadEnter, + [AKEYCODE_NUMPAD_EQUALS] = GLFMKeyCodeNumpadEqual, ++ ++ [AKEYCODE_DPAD_CENTER] = GLFMKeyCodeMediaSelect, ++ [AKEYCODE_MEDIA_PLAY_PAUSE] = GLFMKeyCodeMediaPlayPause + }; + + GLFMKeyCode keyCode = GLFMKeyCodeUnknown; +@@ -2794,11 +2799,12 @@ ANativeActivity *glfmAndroidGetActivity(void) { + return platformDataGlobal->activity; + } + +-void *glfmGetAndroidActivity(const GLFMDisplay *display) { ++void *glfmGetAndroidActivity(const GLFMDisplay *display, void **jni) { + if (!display || !display->platformData) { + return NULL; + } + GLFMPlatformData *platformData = display->platformData; ++ *jni = platformData->jniEnv; + return platformData->activity; + } + diff --git a/subprojects/packagefiles/glfm/android_get_egl_internal.diff b/subprojects/packagefiles/glfm/android_get_egl_internal.diff new file mode 100644 index 0000000..3c9098c --- /dev/null +++ b/subprojects/packagefiles/glfm/android_get_egl_internal.diff @@ -0,0 +1,39 @@ +diff --git a/include/glfm.h b/include/glfm.h +index ceace39..d18711c 100644 +--- a/include/glfm.h ++++ b/include/glfm.h +@@ -892,6 +892,9 @@ ANativeActivity *glfmAndroidGetActivity(void) GLFM_DEPRECATED("Use glfmGetAndroi + /// ``GLFMAppFocusFunc``. + void *glfmGetAndroidActivity(const GLFMDisplay *display); + ++void *glfmGetEglDisplay(const GLFMDisplay *display); ++void *glfmGetEglContext(const GLFMDisplay *display); ++ + #endif // GLFM_EXPOSE_NATIVE_ANDROID + + #ifdef __cplusplus +diff --git a/src/glfm_android.c b/src/glfm_android.c +index 67d1927..7942ddf 100644 +--- a/src/glfm_android.c ++++ b/src/glfm_android.c +@@ -2800,4 +2800,20 @@ void *glfmGetAndroidActivity(const GLFMDisplay *display) { + return platformData->activity; + } + ++void *glfmGetEglDisplay(const GLFMDisplay *display) { ++ if (!display || !display->platformData) { ++ return NULL; ++ } ++ GLFMPlatformData *platformData = display->platformData; ++ return platformData->eglDisplay; ++} ++ ++void *glfmGetEglContext(const GLFMDisplay *display) { ++ if (!display || !display->platformData) { ++ return NULL; ++ } ++ GLFMPlatformData *platformData = display->platformData; ++ return platformData->eglContext; ++} ++ + #endif // __ANDROID__ diff --git a/subprojects/packagefiles/glfm/get_egl_internal.diff b/subprojects/packagefiles/glfm/get_egl_internal.diff deleted file mode 100644 index 3c9098c..0000000 --- a/subprojects/packagefiles/glfm/get_egl_internal.diff +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/include/glfm.h b/include/glfm.h -index ceace39..d18711c 100644 ---- a/include/glfm.h -+++ b/include/glfm.h -@@ -892,6 +892,9 @@ ANativeActivity *glfmAndroidGetActivity(void) GLFM_DEPRECATED("Use glfmGetAndroi - /// ``GLFMAppFocusFunc``. - void *glfmGetAndroidActivity(const GLFMDisplay *display); - -+void *glfmGetEglDisplay(const GLFMDisplay *display); -+void *glfmGetEglContext(const GLFMDisplay *display); -+ - #endif // GLFM_EXPOSE_NATIVE_ANDROID - - #ifdef __cplusplus -diff --git a/src/glfm_android.c b/src/glfm_android.c -index 67d1927..7942ddf 100644 ---- a/src/glfm_android.c -+++ b/src/glfm_android.c -@@ -2800,4 +2800,20 @@ void *glfmGetAndroidActivity(const GLFMDisplay *display) { - return platformData->activity; - } - -+void *glfmGetEglDisplay(const GLFMDisplay *display) { -+ if (!display || !display->platformData) { -+ return NULL; -+ } -+ GLFMPlatformData *platformData = display->platformData; -+ return platformData->eglDisplay; -+} -+ -+void *glfmGetEglContext(const GLFMDisplay *display) { -+ if (!display || !display->platformData) { -+ return NULL; -+ } -+ GLFMPlatformData *platformData = display->platformData; -+ return platformData->eglContext; -+} -+ - #endif // __ANDROID__ -- cgit v1.2.3-101-g0448