Commit Graph

8068 Commits

Author SHA1 Message Date
Philipp Wiesemann
18c2c7afce Windows: Fixed format string for error message. 2015-04-11 20:43:11 +02:00
Philipp Wiesemann
62e57a47cf Mac: Fixed typo in two error messages. 2015-04-11 20:41:49 +02:00
Ryan C. Gordon
aa3ee05f47 Some Raspberry Pi build fixes (including Raspberry Pi 2 support).
Fixes Bugzilla #2879.
2015-04-11 05:58:37 +00:00
Ryan C. Gordon
42b84aa9e1 Placate static analysis with an assertion. 2015-04-10 21:40:50 -04:00
Ryan C. Gordon
a37140004c Fixed memory leak in failure case that static analysis found. 2015-04-10 21:15:51 -04:00
Philipp Wiesemann
80aef1b842 PSP: Removed empty statement. 2015-04-10 23:45:13 +02:00
Philipp Wiesemann
714a1b1aed Wayland: Removed empty statement. 2015-04-10 23:44:55 +02:00
Ryan C. Gordon
0e15dc1e82 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
03a3b1872d 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
4bd29b621f Backed out changeset 84407b33fe1e 2015-04-09 22:14:05 +02:00
Philipp Wiesemann
bd2c634dd8 Wayland: Fixed not freeing memory if initialization failed. 2015-04-09 21:13:41 +02:00
Philipp Wiesemann
aba0568043 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
74bc344ce7 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
98aaddbdde Android: Fixed calling a getter method twice. 2015-04-08 22:24:33 +02:00
Philipp Wiesemann
e75f9079db Android: Fixed creating mouse coordinates which are not needed if hint is set. 2015-04-08 22:18:10 +02:00
Philipp Wiesemann
7ff481fc41 Android: Fixed not resetting mouse pointer state if hint was changed at runtime. 2015-04-08 22:15:25 +02:00
Alex Szpakowski
7270f337cc 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
a261ff1094 Generated dynapi prototypes for the new iPhone functions.
--HG--
branch : iOS-improvements
2015-04-08 15:44:07 -03:00
Alex Szpakowski
89e1563688 Merged default into iOS-improvements
--HG--
branch : iOS-improvements
2015-04-08 15:35:07 -03:00
Ryan C. Gordon
46f961f5ef Removed unused variable. 2015-04-08 02:42:29 -04:00
Ryan C. Gordon
90963b9523 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
16f1f63e4e Patched to compile on Windows. 2015-04-08 02:24:17 -04:00
Ryan C. Gordon
2b15e4d1f0 Wayland: Patched to compile. 2015-04-08 02:22:28 -04:00
Ryan C. Gordon
9c4e5d8133 DirectInput: ignore everything but joysticks and gamepads (thanks, Justin!).
Fixes Bugzilla #2460.
2015-04-08 02:14:59 -04:00
Ryan C. Gordon
06e0d9d6b3 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
a19e127cda 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
af26888c2f Patched to compile on C89 compilers. 2015-04-08 01:40:01 -04:00
Ryan C. Gordon
b0ad5c3e78 Log Android hardware at startup (thanks, rettichschnidi!).
Fixes Bugzilla #2653.
2015-04-08 01:37:17 -04:00
Ryan C. Gordon
7c14914a5b 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
34e27edf6c Wayland: changed a few "SetError(); return -1;" to "return SetError()". 2015-04-07 22:49:56 -04:00
Alex Szpakowski
182e206acd Merged default into iOS-improvements
--HG--
branch : iOS-improvements
2015-04-06 15:26:37 -03:00
Ryan C. Gordon
f72cfa3696 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
ea72cde0e2 This function can be static. 2015-04-06 00:10:54 -04:00
Ryan C. Gordon
be4c21fb36 Make loading/saving dollar gesture templates endian clean (thanks, Martin!).
Fixes Bugzilla #2674.
2015-04-05 18:59:52 -04:00
Ryan C. Gordon
89f2975b53 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
e0409417c1 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
acb5492583 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
a00125c9be Cast the result of calling getButtonState to an Integer 2015-04-02 00:55:45 +02:00
Sam Lantinga
a3336de9e1 Added a game controller entry for the NVIDIA Controller 2015-04-01 18:22:42 -07:00
Edward Rudd
555eff59b7 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
6c0c8cef5b Patched to compile on Android (I hope). 2015-04-01 14:45:09 -04:00
Ryan C. Gordon
244550f0d7 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!
2015-04-01 12:14:56 -04:00
Sam Lantinga
97094ebd2b Fixed relative mouse motion moving farther and farther off screen. 2015-03-30 11:31:53 -07:00
Emmanuel Gil Peyrot
027e2472ec Wayland: Specify the output we want to put our window on.
Fixes Bugzilla #2803.
2015-03-28 19:43:46 +01:00
Ryan C. Gordon
8873c00053 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.
2015-03-28 00:48:03 -04:00
Joseba García Etxebarria
fe4155e517 Renamed SDLGenericMotionListener back to SDLGenericMotionListener_API12 2015-03-27 18:09:51 -04:00
Philipp Wiesemann
3279a4dd4b Removed not needed call to SDL_free(). 2015-03-25 22:48:57 +01:00
Philipp Wiesemann
728db68685 Android: Removed outdated comment from source. 2015-03-25 22:47:22 +01:00
Ryan C. Gordon
96771b8c31 Make the Dynamic API master switch more clear. 2015-03-25 11:18:54 -04:00
Ryan C. Gordon
82001dbbfb Add a hint watch callback for SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH. 2015-03-25 10:59:10 -04:00