summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles/glfm
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/packagefiles/glfm')
-rw-r--r--subprojects/packagefiles/glfm/android_additions.diff59
-rw-r--r--subprojects/packagefiles/glfm/android_get_egl_internal.diff (renamed from subprojects/packagefiles/glfm/get_egl_internal.diff)0
2 files changed, 59 insertions, 0 deletions
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/get_egl_internal.diff b/subprojects/packagefiles/glfm/android_get_egl_internal.diff
index 3c9098c..3c9098c 100644
--- a/subprojects/packagefiles/glfm/get_egl_internal.diff
+++ b/subprojects/packagefiles/glfm/android_get_egl_internal.diff