|
88dfa466
|
2018-06-18T13:14:04
|
|
Use a blank cursor instead of PointerIcon.TYPE_NULL since that shows the default cursor on Samsung DeX
|
|
4a4bac95
|
2018-06-12T13:22:58
|
|
Deal with fullscreen limitations under windowed Android environments (Chromebook, DeX, etc.) (Thanks Rachel!)
|
|
fe196db7
|
2018-06-07T17:07:03
|
|
Track android device panel width & height as well as window surface & height.
Expand SDLActivity::SDLSurface::surfaceChanged() callback to grab the panel width and height at the same time and pass that along to the native code. Only works on API 17+. Duplicates surface dimensions whenever it fails.
Add Android_DeviceWidth/Android_DeviceHeight globals to native code.
Disambiguate Android_ScreenWidth/Android_ScreenHeight -> Android_SurfaceWidth/Android_SurfaceHeight
Use device width/height for all display mode settings.
|
|
2dedbc72
|
2018-06-05T12:46:11
|
|
Add Android support for relative mouse mode to SDL.
|
|
f536fbea
|
2018-03-16T11:08:53
|
|
Reimplemented Android cursor API support using reflection so it builds with older SDKs
|
|
e20d4173
|
2018-03-15T18:22:48
|
|
Added Android custom cursor implementation
This is commented out in SDLActivity.java, with the note #CURSORIMPLEENTATION because it requires API 24, which is higher than the minimum required SDK
|
|
849d042f
|
2018-02-24T08:58:22
|
|
Fixed bug 4091 - Undefined references to Android audio functions when SDL_AUDIO_DISABLED is on
Manuel Sabogal
If SDL is compiled with the Audio subsystem disabled there are some undefined references to the functions ANDROIDAUDIO_ResumeDevices and ANDROIDAUDIO_PauseDevices in the file src/video/android/SDL_androidevents.c.
|
|
40b27fd5
|
2018-02-12T17:00:00
|
|
revert the recent typecast assignment changes (see bug #4079)
also change the void* typedefs for the two vulkan function
pointers added in vulkan_internal.h into generic function
pointer typedefs.
|
|
6e01fbb7
|
2018-02-11T18:23:37
|
|
On Android show the system UI when an SDL window is windowed, hide the system UI when it's fullscreen, like we do on iOS.
We're increasing the Android SDK minimum version to API 19, this doesn't increase the minimum target API, which is API 14.
|
|
90e72bf4
|
2018-01-30T18:08:34
|
|
Fixed ISO C99 compatibility
SDL now builds with gcc 7.2 with the following command line options:
-Wall -pedantic-errors -Wno-deprecated-declarations -Wno-overlength-strings --std=c99
|
|
e3cc5b2c
|
2018-01-03T10:03:25
|
|
Updated copyright for 2018
|
|
4478707b
|
2017-10-31T13:49:59
|
|
Add SDL_GetDisplayDPI implementation on Android. (thanks Rachel!)
|
|
c8e3e0c4
|
2017-09-06T01:10:10
|
|
Fixed bug 3799 - SDL_CreateWindow fails with SDL_WINDOW_VULKAN (libvulkan.so.1 not found)
Manuel Sabogal
Android NDK defines Vulkan as libvulkan.so, not libvulkan.so.1. This is causing the program to not being able to create a window using SDL_WINDOW_VULKAN.
To fix this issue just change the line http://hg.libsdl.org/SDL/file/bbaec41e93b5/src/video/android/SDL_androidvulkan.c#l53 from "libvulkan.so.1" to "libvulkan.so"
|
|
50efbda7
|
2017-08-28T00:43:14
|
|
Fixed mingw Windows build, since SDL_vulkan_internal.h includes windows.h
|
|
0d011ec6
|
2017-08-28T00:22:23
|
|
Renaming of guard header names to quiet -Wreserved-id-macro
|
|
ce2b1644
|
2017-08-28T00:11:38
|
|
Be clear that disabling Vulkan surface support disables the entire SDL Vulkan integration
|
|
5cd1a959
|
2017-08-27T23:53:09
|
|
Fixed Android build with Vulkan support
|
|
82ffabc8
|
2017-08-27T22:34:15
|
|
Fixed Android build
|
|
25e3a1ec
|
2017-08-27T22:15:57
|
|
vulkan: Initial Vulkan support!
This work was done by Jacob Lifshay and Mark Callow; I'm just merging it
into revision control.
|
|
de91b124
|
2017-08-14T06:28:21
|
|
Fixed bug 3745 - specify SDLCALL as the calling convention for API callbacks
Patches contributed by Ozkan Sezer
|
|
e54eede2
|
2017-08-13T21:05:15
|
|
Provide the correct state of the on-screen keyboard to the API (patch from Sylvain)
|
|
6ee66139
|
2017-08-13T20:55:59
|
|
Fixed bug 3235 - Make the Android window creation similar to iOS' window creation
Sylvain
Here's a patch.
It tries to get the hint first. Resizable will allow any orientation. Otherwise it uses width/height window.
setOrientation method is splitted in static and non-static, so that it can be overloaded in a user subclass.
Some artefact observed :
surfaceChanged() can be called twice at the beginning. When the phone starts in portrait and run a landscape application.
|
|
c0862512
|
2017-08-12T12:24:59
|
|
Fixed bug 3128 - Removing all the static variables from android SDLActivity and accompanying JNI calls.
owen
I removed all the static variables from SDLActivity.java
Updated all the SDL_android.c jni calls as well
I added a new function to SDL_android.c/ h
void Android_JNI_SeparateEventsHint(const char* c);
This is called by SDL_androidtouch.c so that this TU doesn't need to call any JNI functions.
|
|
78c84e70
|
2017-08-12T08:06:16
|
|
Fixed part of bug 3227 - patch for multiple buttons at the same time not working
Philipp Wiesemann
There is another problem with the current implementation which maybe should be fixed first (to prevent some work). It was written as if it would get the number of a button from the Java side but actually it gets the state of all buttons. That is why it should not work if more than one button is pressed at once.
|
|
56363ebf
|
2017-08-02T10:22:48
|
|
Fixed bug 3690 - SDL2 KMS/DRM render context support
Manuel
The attached patch adds support for KMS/DRM context graphics.
It builds with no problem on X86_64 GNU/Linux systems, provided the needed libraries are present, and on ARM GNU/Linux systems that have KMS/DRM support and a GLES2 implementation.
Tested on Raspberry Pi: KMS/DRM is what the Raspberry Pi will use as default in the near future, once the propietary DispmanX API by Broadcom is overtaken by open graphics stack, it's possible to boot current Raspbian system in KMS mode by adding "dtoverlay=vc4-kms-v3d" to config.txt on Raspbian's boot partition.
X86 systems use KMS right away in every current GNU/Linux system.
Simple build instructions:
$./autogen.sh
$./configure --enable-video-kmsdrm
$make
|
|
2008d866
|
2017-07-20T10:46:38
|
|
Fixed bug 3703 - Missing media keys support on Amazon Fire TV remote control
Holger Schemel
Summary: This patch adds support for key events for the "rewind" and "fast forward" media keys on the Amazon Fire TV remote control.
How to reproduce the problem: Run Android build of SDL2 application on the Amazon Fire TV (tested with "stick" version) and log key events.
Expected behaviour: Every key pressed on the Fire TV remote control should result in a corresponding key event (pressed/released).
Observed behaviour: Of the bottom row of buttons on the Fire TV remote control, only the "play/pause" (middle) button generates a key event, while the "rewind" (left) and "fast forward" (right) buttons to not generate any event at all.
The attached patch adds support for these two missing buttons/keys.
Note 1: Some missing definitions were added for the already existing key codes SDL_SCANCODE_APP1 and SDL_SCANCODE_APP2 (to keep up the correct order of enumerations / array positions when adding the two new key codes).
Note 2: Definitions in "scancodes_linux.h" and "scancodes_xfree86.h" (to also add support for these keys on other platforms) were added without testing. However, I was unable to find corresponding definitions for these two media keys for Windows and Mac OS X.
Note 3: I have also updated the (broken) link to the USB usage page standard PDF document (comment in "include/SDL_scancode.h").
|
|
ccf0566c
|
2017-05-16T06:30:39
|
|
SDL - add SDL_WINDOW_VULKAN and make Android_CreateWindow only create an EGLSurface when SDL_WINDOW_VULKAN is not present. This makes it so the ANativeWindow* can be used with vkCreateAndroidSurfaceKHR, otherwise it will fail because having both an EGLSurface and VkSurfaceKHR attached to a window is not allowed according to the Vulkan spec:
"In particular, only one VkSurfaceKHR can exist at a time for a given window. Similarly, a native window cannot be used by both a VkSurfaceKHR and EGLSurface simultaneously"
CR: SamL
|
|
266816b4
|
2017-03-26T21:00:19
|
|
Removed newlines from error messages.
|
|
22161480
|
2017-03-14T07:22:08
|
|
Compile fix for android.
"ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]"
Moving some variable declarations to the top of Android_SetScreenResolution()
|
|
45b774e3
|
2017-01-01T18:33:28
|
|
Updated copyright for 2017
|
|
97d05b0d
|
2016-12-09T05:12:27
|
|
Fixed a bunch of SwapWindow calls that needed their return value updated
|
|
26f05ecb
|
2016-12-02T02:25:12
|
|
Fixed missing prototypes on Android, patch from Sylvain
|
|
f674f231
|
2016-10-07T15:21:19
|
|
Fixed bug 2808 - Fix SDL reporting wrong window size on resume
Jonas Kulla
At startup time, the single android window is assigned a "windowed" (window->windowed.{w,h}) size based on the current orientation of the mobile device; this size is never updated throughout the lifetime of the app.
This becomes problematic when the app is paused and then resumed in an orientation that it did not start up in. Eventually, 'SDL_OnWindowRestored()' is called, which calls 'SDL_UpdateFullscreenMode()'. This function is very problematic because it is written with a desktop monitor in mind: it tries to find a matching display mode for the windowed size, doesn't find any, and finally applies the windowed size as the fullscreen one. In the end, the windowed size is reported in a RESIZED event, which doesn't correspond to the actual surface size.
To see this in action: Start an orientation aware SDL app in eg. portrait mode, suspend the app, put the device into landscape orientation and resume the app. It will erroneously render in portrait mode (until the device is rotated again).
|
|
555e6c96
|
2016-10-01T14:18:29
|
|
Fix SDL not resizing window when Android screen resolution changes
|
|
cf28727f
|
2016-08-30T21:14:52
|
|
Android: Fixed missing mouse motion events while button down (thanks, Sylvain!).
Happened for real mouse if SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH was active.
Fixes Bugzilla #3313.
|
|
6f4bcd24
|
2016-08-11T22:22:09
|
|
audio: Renamed some internal driver symbols in various targets.
|
|
495057b0
|
2016-07-09T22:06:00
|
|
Android: Added new key codes from API 24.
|
|
8d035b1a
|
2016-01-12T22:23:00
|
|
Android: Added mouse initialization to reset state.
If the app is launched again then the shared object may be reused (on Android).
|
|
15603519
|
2016-01-11T20:02:48
|
|
Android: Added mapping of mouse forward button and mouse back button.
|
|
fa8c83c1
|
2016-01-03T06:50:50
|
|
Remove almost all instances of "volatile" keyword.
As Tiffany pointed out in Bugzilla, volatile is not useful for thread safety:
https://software.intel.com/en-us/blogs/2007/11/30/volatile-almost-useless-for-multi-threaded-programming/
Some of these volatiles didn't need to be, some were otherwise protected by
spinlocks or mutexes, and some got moved over to SDL_atomic_t data, etc.
Fixes Bugzilla #3220.
|
|
42065e78
|
2016-01-02T10:10:34
|
|
Updated copyright to 2016
|
|
86711041
|
2015-10-07T21:16:18
|
|
Android: Added new key codes without mapping.
|
|
0e45984f
|
2015-06-21T17:33:46
|
|
Fixed crash if initialization of EGL failed but was tried again later.
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
|
|
551fbf7b
|
2015-05-31T19:22:42
|
|
Android: Changed two unknown keys to be consistent with Windows and X11 mapping.
|
|
2c4a6ea0
|
2015-05-26T06:27:46
|
|
Updated the copyright year to 2015
|
|
b72938c8
|
2015-04-20T12:22:44
|
|
Windows: Always set the system timer resolution to 1ms by default.
An existing hint lets apps that don't need the timer resolution changed avoid
this, to save battery, etc, but this fixes several problems in timing, audio
callbacks not firing fast enough, etc.
Fixes Bugzilla #2944.
|
|
fe6c797c
|
2015-04-10T23:30:31
|
|
Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
|
|
458b94da
|
2015-04-08T22:18:10
|
|
Android: Fixed creating mouse coordinates which are not needed if hint is set.
|
|
b473d30f
|
2015-04-08T22:15:25
|
|
Android: Fixed not resetting mouse pointer state if hint was changed at runtime.
|
|
0713c1e5
|
2015-04-05T15:52:37
|
|
Patched to compile on Android when audio subsystem is disabled (thanks, Jonas!)
Fixes Bugzilla #2797.
|
|
64237d7f
|
2015-04-01T14:45:09
|
|
Patched to compile on Android (I hope).
|
|
f9041771
|
2015-04-01T12:14:56
|
|
Android: more separate-mouse-and-touch work.
This avoids a hint lookup for each mouse event we get by setting a static Java
variable from native code during our hint watcher callback.
Also attempts to do the right thing with mouse buttons if you happen to be
on an API14 (Ice Cream Sandwich, Android 4.0) or later device. We still
target API12 (Honeycomb MR1, Android 3.1) for SDL 2.0.4 though.
This isn't tested, so I'm pushing to see what the Android buildbot says. Stand
back, I'm a professional!
|
|
1270247c
|
2015-03-25T10:59:10
|
|
Add a hint watch callback for SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH.
|
|
83a44680
|
2015-03-25T10:48:59
|
|
Removed unnecessary SDL_log.h include.
|
|
ca7b18e4
|
2015-03-24T21:02:28
|
|
* More Android patch work
|
|
387fa5dc
|
2015-03-24T20:45:29
|
|
* Improve mouse support in Android. These changes require Android API v12 to compile
|
|
b88ca1b4
|
2015-02-10T16:28:56
|
|
the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here.
Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture.
More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
|
|
f4b7cf6e
|
2015-01-31T21:02:56
|
|
Fixed including SDL_config.h in implementation for Android.
SDL_internal.h should be included to support dynamic API.
|
|
f64e6742
|
2015-01-26T22:12:38
|
|
Fixed memory leak in video quit implementation for Android.
|
|
b48e54aa
|
2015-01-26T22:00:29
|
|
Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation
Jonas Kulla
The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c.
I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
|
|
a26a4e9e
|
2015-01-23T20:29:08
|
|
Fixed bug 2816 - [patch] Android: Expose screen refresh rate
Jonas Kulla
Display::getRefreshRate() is available on all API levels.
|
|
70438be2
|
2014-12-03T10:55:23
|
|
WinRT: fixed bug whereby SDL would override an app's default orientation
WinRT apps can set a default, preferred orientation via a .appxmanifest file.
SDL was overriding this on app startup, and making the app use all possible
orientations (landscape and portrait).
Thanks to Eric Wing for the heads up on this!
|
|
9c398852
|
2014-11-22T22:20:40
|
|
Corrected header file documentation comment.
|
|
d5d3721b
|
2014-10-24T19:50:29
|
|
Added new key codes from Android 4.4 (API 20) and 5.0 (API 21).
|
|
79035b39
|
2014-10-20T10:10:39
|
|
Bug 2739 - [Android] No support for SDL_DisableScreenSaver by Martin Gerhardy
|
|
47658057
|
2014-09-18T11:03:34
|
|
[Android] Better fix for #2480, pause/resume audio
|
|
4544343b
|
2014-09-17T11:41:12
|
|
[Android] Fixes #2480, music does not pause when process backgrounded
This modifies SDL_PauseAudio behavior to pause all audio devices instead of
just the default one (required on Android, at least for testmultiaudio on my
Nexus 4 which reported 2 audio devices).
It also changes SDL_PauseAudioDevice to retain the device lock from pause until
resume in order to save battery in mobile devices.
|
|
5f39ea89
|
2014-09-13T02:15:18
|
|
Fixed bug 2415 - Message Boxes aren't implemented on Android
Philipp Wiesemann
I attached a patch for an incomplete implementation of the messagebox parts.
It was not tested on lots of devices yet and features a very fragile workaround to block the calling SDL thread while the dialog is handled on Android's UI thread. Although it works for testmessage.c I assume there are lot of situations were it may fail (standby, device rotation and other changes). Also not all flags and colors are implemented.
On the other hand most uses of the messagebox are to show an error on start and fragility (or working at all) may not matter there.
|
|
24c86b55
|
2014-09-11T19:24:42
|
|
[X11] Reconcile logical keyboard state with physical state on FocusIn
since the window system doesn't do it for us like other platforms.
This prevents sticky keys and missed keys when going in and out
of focus, for example Alt would appear to stick if switching away
from an SDL app with Alt-Tab and had to be pressed again.
CR: Sam
|
|
1ed1f7f2
|
2014-06-28T12:36:44
|
|
Fixes #2611 #2610, Touch events cause crash on Android, thanks Alvin & Sylvain
This bug was introduced on this rev: https://hg.libsdl.org/SDL/rev/42f6bd8c8575
|
|
ece2a9bf
|
2014-06-02T09:20:09
|
|
Hopefully really fixed the Android build
|
|
5186be4a
|
2014-06-02T09:12:51
|
|
Fixed Android build
|
|
32665131
|
2014-06-02T09:01:26
|
|
Added a way to get the native Android window and EGL context
|
|
4bb6afef
|
2014-04-17T12:44:08
|
|
Comment out eglWaitGL from Android_GLES_SwapWindow
Let's hope for the best! If anyone has a device affected by this removal,
please file a bug!
|
|
3dcb451f
|
2014-04-09T21:29:19
|
|
Added a README file regarding WinRT support
To note, this file is currently formatted with CRLF line endings, rather than
LF, to allow the file to be viewed with Notepad.
|
|
1f92c9dc
|
2014-03-24T11:04:42
|
|
Emit SDL_RENDER_DEVICE_RESET on Android when the GLES context is recreated
|
|
58edac3e
|
2014-02-02T00:53:27
|
|
Fixed bug 2374 - Update copyright for 2014...
Is it that time already??
|
|
f848adff
|
2013-11-29T10:06:08
|
|
Improve Android pause/resume behavior.
|
|
1ad0d248
|
2013-11-25T12:28:09
|
|
[Android] Fixes #2228, reworked touch code
Lets Android take care of which is the primary pointer (the one acting as the
mouse in SDL), reorganized the Java side code as well to make it easier to
understand.
|
|
7e1289af
|
2013-11-24T23:56:17
|
|
Make internal SDL sources include SDL_internal.h instead of SDL_config.h
The new header will include SDL_config.h, but allows for other global stuff.
|
|
61959aa6
|
2013-11-22T13:24:53
|
|
OpenGL ES support for Windows
|
|
35915d4f
|
2013-11-14T20:14:02
|
|
Clean up the EGL related video backends (X11, Android, RPi)
|
|
aa337980
|
2013-11-10T14:50:37
|
|
Added a new unused key code from Android 4.4 (API 19).
|
|
22770a8f
|
2013-11-06T11:23:24
|
|
[Android] Fixes Bug 2041 - can't get SDL_QUIT event...
Thanks to Denis Bernard!
Also, changed the Android manifest so the app doesn't quit with orientation
changes, and made testgles.c exit properly on Android.
|
|
d0fddfab
|
2013-10-10T00:30:03
|
|
Fixes Bug 2134 - [Android] Black screen after resume (sometimes)
|
|
0db36f51
|
2013-10-05T17:08:19
|
|
Added detection of touch devices before first touch events happen on Android.
On Android available touch devices are now added with video initialization (like
the keyboard). This fixes SDL_GetNumTouchDevices() returning 0 before any touch
events happened although there is a touch screen available. The adding of touch
devices after a touch event was received is still active to allow connecting
devices later (if this is possible) and to provide a fallback if the new init
did not work somehow. For the implementation JNI was used and API level 9 is
required. There seems to be nothing in the Android NDK's input header (input.h)
to implement everything on C side without communication with Java side.
|
|
eec4710c
|
2013-08-29T14:03:44
|
|
Fixes bug #2074 - Thanks Sylvain!
SDL_syssem.c:159 comparison of unsigned expression >= 0 is always true
Solved by comparing unsigneds directly
SDL_systimer.c:164: warning: control may reach end of Compile
Solved by returning the default value if all else fails.
SDL_androidgl.c:41:1: warning: type specifier missing, defaults to 'int'
SDL_androidgl.c:47:1: warning: control reaches end of non-void function
Solved by adding void return type to the function implementation
|
|
695344d1
|
2013-08-21T09:43:09
|
|
OCD fixes: Adds a space before */
|
|
0eeb76d8
|
2013-08-19T16:29:46
|
|
Fixes bug #2037, common EGL code for Android and X11
|
|
dad42067
|
2013-08-12T11:13:50
|
|
Fixes #2022, do not resume on Android when surfaceChanged
If the app is in landscape mode and the user presses the power button, a pause
is followed immediately by a surfaceChanged event because the lock screen
is shown in portrait mode. This triggers a "false" resume.
So, we just pause and resume following the onWindowFocusChanged events.
Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before
blocking the event pump.
|
|
1ad936eb
|
2013-08-11T19:56:43
|
|
Fixed bug 2027 - Full-screen appears to be broken - hang in SDL_DestroyWindow()
Rainer Deyke
I'm running Linux Mint 15 with the Cinnamon window manager. SDL_DestroyWindow consistently locks up for me when the window if fullscreen.
|