Commit graph

8066 commits

Author SHA1 Message Date
Ryan C. Gordon
64accce776 Some Raspberry Pi build fixes (including Raspberry Pi 2 support).
Fixes Bugzilla #2879.

--HG--
extra : rebase_source : b9b8a69e971e5bf910c0dc592b5d9bf3c15e13ca
2015-04-11 05:58:37 +00:00
Ryan C. Gordon
beb96e3199 Placate static analysis with an assertion. 2015-04-10 21:40:50 -04:00
Ryan C. Gordon
8b83017158 Fixed memory leak in failure case that static analysis found. 2015-04-10 21:15:51 -04:00
Philipp Wiesemann
fc65a70a85 PSP: Removed empty statement. 2015-04-10 23:45:13 +02:00
Philipp Wiesemann
844ac0dbed Wayland: Removed empty statement. 2015-04-10 23:44:55 +02:00
Ryan C. Gordon
b2002bd0e5 Merged Alex Szpakowski's iOS-improvement branch to default.
Fixes Bugzilla #2798.
Fixes Bugzilla #2212.
Fixes Bugzilla #2826.
Fixes Bugzilla #2661.
Fixes Bugzilla #1885.
Fixes Bugzilla #1578.
Fixes Bugzilla #2751.

(whew!)

Notable changes, from Alex's notes:

- The SDL_WINDOW_ALLOW_HIGHDPI flag is now needed (along with SDL_GL_GetDrawableSize or SDL_GetRendererOutputSize) to use Retina / high DPI resolutions, bringing SDL’s Retina-related behavior on iOS in line with Mac OS X. Window dimensions and display modes are now in the “points” (non-high DPI) coordinate system rather than pixels, whereas SDL_GL_GetDrawableSize is in pixels.

- Reworked the custom extended launch screen code:
	- It now hides after the first SDL_PumpEvents call rather than SDL_CreateWindow, and it fades out in a similar manner to the system launch screen behavior.
	- It now mirrors the system launch screen behavior when deciding which image to display: it falls back to using the Launch Images dictionary in Info.plist if the iOS 8+ launch screen nib isn’t available, and if the Launch Images dictionary doesn’t exist it uses the old standard launch image names.
	- The extended launch screen can now be disabled via the SDL_IPHONE_LAUNCHSCREEN define in SDL_config_iphoneos.h.

- Added support for SDL_HINT_ACCELEROMETER_AS_JOYSTICK.

- Added access to a window view's renderbuffer and framebuffer to syswm.

- Added OpenGL ES debug labels for the Renderbuffer and Framebuffer Objects created with SDL_GL_CreateContext.

- Added support for sRGB OpenGL ES contexts on iOS 7+.

- Updated OpenGL ES contexts to support native-resolution rendering (when SDL_WINDOW_ALLOW_HIGHDPI is enabled) on the iPhone 6 Plus, i.e. 1080x1920 rather than 1242x2208.

- Updated SDL_GL_CreateContext, SDL_GL_SwapWindow, SDL_GL_MakeCurrent, and SDL_GL_DeleteContext to be more robust.

- Updated SDL windows to display a UIView at all times, even when an OpenGL context is not active. This allows rotation, touch events, and other windowing-related events to work properly without an active OpenGL context. It also makes it easier to use SDL_GetWindowWMInfo after creating a SDL window.

- Updated the iOS-specific Objective-C code to use cleaner and more modern language features and APIs, including ARC instead of manual reference counting.

- Updated SDL_HINT_ORIENTATIONS to allow disabling custom orientations if the hint is set with no valid orientation names.

- Fixed several rotation and orientation bugs with windows and display modes, especially in iOS 8+.

- Fixed SDL_SetWindowFullscreen failing to update the status bar visibility on iOS 7+.

- Fixed the orientation of the offset applied to the window’s view when the onscreen keyboard is shown in iOS 8+.

- Fixed SDL_IsScreenKeyboardShown (patch by Phil Hassey.)

- Fixed several major memory leaks caused by missing autorelease pool blocks in the iOS-specific Objective-C code.

- Removed several dead code paths.

- The iOS 7 SDK (Xcode 5) or newer is now required to build SDL for iOS.
2015-04-09 22:28:37 -04:00
Alex Szpakowski
58fb5ed781 Added framebuffer and colorbuffer members to the uikit portion of the SDL_SysWMinfo struct, removed SDL_iOSGetViewRenderbuffer and SDL_iOSGetViewFramebuffer.
--HG--
branch : iOS-improvements
2015-04-09 19:28:00 -03:00
Philipp Wiesemann
620a06dec9 Backed out changeset 84407b33fe1e 2015-04-09 22:14:05 +02:00
Philipp Wiesemann
3d3885f7bb Wayland: Fixed not freeing memory if initialization failed. 2015-04-09 21:13:41 +02:00
Philipp Wiesemann
060eee3c4f Wayland: Fixed accessing not fully initialized subsystem if errors happened.
The VideoInit() implementation returned 0 on errors instead of -1.
2015-04-09 21:13:20 +02:00
Philipp Wiesemann
fa7a33f5f3 Wayland: Fixed accessing not fully initialized window if no memory available.
The CreateWindow() implementation returned 0 on no more memory instead of -1.
2015-04-09 21:11:43 +02:00
Philipp Wiesemann
0f74f5f039 Android: Fixed calling a getter method twice. 2015-04-08 22:24:33 +02:00
Philipp Wiesemann
742fdb475d Android: Fixed creating mouse coordinates which are not needed if hint is set. 2015-04-08 22:18:10 +02:00
Philipp Wiesemann
a817381653 Android: Fixed not resetting mouse pointer state if hint was changed at runtime. 2015-04-08 22:15:25 +02:00
Alex Szpakowski
d7781e2eff Renamed SDL_iPhoneGetViewFramebuffer/Renderbuffer to SDL_iOSGetViewFramebuffer/Renderbuffer. Added #defines for SDL_iOSSetAnimationCallback and SDL_iOSSetEventPump, which point to SDL_iPhoneSetAnimationCallback and SDL_iPhoneSetEventPump.
--HG--
branch : iOS-improvements
2015-04-08 15:59:29 -03:00
Alex Szpakowski
f699d4bf09 Generated dynapi prototypes for the new iPhone functions.
--HG--
branch : iOS-improvements
2015-04-08 15:44:07 -03:00
Alex Szpakowski
2e1e6ca72a Merged default into iOS-improvements
--HG--
branch : iOS-improvements
2015-04-08 15:35:07 -03:00
Ryan C. Gordon
fcc02ce4eb Removed unused variable. 2015-04-08 02:42:29 -04:00
Ryan C. Gordon
669dc26987 X11: Removed code to set "icon" title, since it was never used.
(Leftover from SDL 1.2, which let you specify this?)
2015-04-08 02:31:54 -04:00
Ryan C. Gordon
2ea17952a1 Patched to compile on Windows. 2015-04-08 02:24:17 -04:00
Ryan C. Gordon
0392357711 Wayland: Patched to compile. 2015-04-08 02:22:28 -04:00
Ryan C. Gordon
67034e77b6 DirectInput: ignore everything but joysticks and gamepads (thanks, Justin!).
Fixes Bugzilla #2460.

--HG--
extra : rebase_source : db50b42eeefe76084e477dc521fcd8f86fe9d1b0
2015-04-08 02:14:59 -04:00
Ryan C. Gordon
e7b13cff94 SDL_SetWindowTitle() should never set a NULL pointer for the title string.
Various backends reacted differently (or not at all) in the presence of a
NULL pointer. This simplifies things.

Fixes Bugzilla #2902.
2015-04-08 02:00:14 -04:00
Ryan C. Gordon
14d69c7f05 Make SDL_stdinc.h work when compiling with -Wundef (thanks, Ben!).
Fixes Bugzilla #2664.
2015-04-08 01:42:47 -04:00
Ryan C. Gordon
f4d6bf7c5e Patched to compile on C89 compilers. 2015-04-08 01:40:01 -04:00
Ryan C. Gordon
b344c3f2ed Log Android hardware at startup (thanks, rettichschnidi!).
Fixes Bugzilla #2653.
2015-04-08 01:37:17 -04:00
Ryan C. Gordon
806c03c496 Do the "fix" for asserts with MSVC's /W4 warnings only on MSVC.
Naturally, this way generates a warning on GCC and Clang instead.  :)
2015-04-07 23:40:01 -04:00
Ryan C. Gordon
96c35e69fb Wayland: changed a few "SetError(); return -1;" to "return SetError()". 2015-04-07 22:49:56 -04:00
Alex Szpakowski
0bacddf42e Merged default into iOS-improvements
--HG--
branch : iOS-improvements
2015-04-06 15:26:37 -03:00
Ryan C. Gordon
a47b4d648c X11: Always specify "True" if setting GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB.
Fixes Bugzilla #2897.
2015-04-06 00:11:58 -04:00
Ryan C. Gordon
51fdbabb56 This function can be static. 2015-04-06 00:10:54 -04:00
Ryan C. Gordon
a5fff20ab1 Make loading/saving dollar gesture templates endian clean (thanks, Martin!).
Fixes Bugzilla #2674.
2015-04-05 18:59:52 -04:00
Ryan C. Gordon
f7e517a061 Add some SDL_SetError() calls to the dollar gesture code (thanks, Martin!).
Fixes Bugzilla #2673.
2015-04-05 18:44:24 -04:00
Ryan C. Gordon
dd2a173a33 Patched to compile on Android when audio subsystem is disabled (thanks, Jonas!)
Fixes Bugzilla #2797.
2015-04-05 15:52:37 -04:00
Sam Lantinga
d18f975b1b Fixed detecting the NVIDIA controller which shows up as both a mouse and a game controller 2015-04-01 19:18:56 -07:00
Joseba García Etxebarria
ddad0a1315 Cast the result of calling getButtonState to an Integer 2015-04-02 00:55:45 +02:00
Sam Lantinga
9549f560ba Added a game controller entry for the NVIDIA Controller 2015-04-01 18:22:42 -07:00
Edward Rudd
9e9a67f64e handle the case where the ibus address can't be found. (prevents nasty crash) 2015-04-01 16:11:37 -04:00
Ryan C. Gordon
7ccd2d26a9 Patched to compile on Android (I hope). 2015-04-01 14:45:09 -04:00
Ryan C. Gordon
bedac6b53a 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!

--HG--
extra : amend_source : 7748c650f37edd47c721e4e7e96cf5995f5ac459
2015-04-01 12:14:56 -04:00
Sam Lantinga
ba8fa2b18a Fixed relative mouse motion moving farther and farther off screen. 2015-03-30 11:31:53 -07:00
Emmanuel Gil Peyrot
8dba903d57 Wayland: Specify the output we want to put our window on.
Fixes Bugzilla #2803.

--HG--
extra : histedit_source : 34f21203939ff8993648acdbe02eb1b5cab0f2e2
2015-03-28 19:43:46 +01:00
Ryan C. Gordon
d6ffb03a60 Minor input grab clarifications.
Clarify that grabbing the mouse only works with one window at a time; this was
always true at the system level, though SDL could previously get confused
by multiple simultaneous grabs, so now we explicitly break any existing
grab before starting a new one and document it as such.

Also track the window that is currently grabbed, and provide an API to query
for that window. This makes it easy to automate mouse ungrabbing at
breakpoints with gdb7's scripting, since the scripts can now know which window
to ungrab.

In 2.1, we should probably change this API to SDL_GrabInput(win) and
SDL_UngrabInput(void), or something.

--HG--
extra : rebase_source : c99570ccdaeb40c13fb0b00236fc77669705a189
extra : amend_source : 40993aa08816ef218bc10aa5d3a2aaa84f284240
2015-03-28 00:48:03 -04:00
Joseba García Etxebarria
1163b6da1c Renamed SDLGenericMotionListener back to SDLGenericMotionListener_API12 2015-03-27 18:09:51 -04:00
Philipp Wiesemann
bc4a24e207 Removed not needed call to SDL_free(). 2015-03-25 22:48:57 +01:00
Philipp Wiesemann
8f0ea4bcf7 Android: Removed outdated comment from source. 2015-03-25 22:47:22 +01:00
Ryan C. Gordon
adc62e29fb Make the Dynamic API master switch more clear. 2015-03-25 11:18:54 -04:00
Ryan C. Gordon
d9f45dce57 Add a hint watch callback for SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH. 2015-03-25 10:59:10 -04:00
Ryan C. Gordon
b335d1a182 Removed unnecessary SDL_log.h include. 2015-03-25 10:48:59 -04:00
Joseba García Etxebarria
e997a4144d * More Android patch work 2015-03-24 21:02:28 +01:00