diff options
Diffstat (limited to 'subprojects/packagefiles/glfm')
| -rw-r--r-- | subprojects/packagefiles/glfm/android_additions.diff | 59 | ||||
| -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 |