|
de91b124
|
2017-08-14T06:28:21
|
|
Fixed bug 3745 - specify SDLCALL as the calling convention for API callbacks
Patches contributed by Ozkan Sezer
|
|
9be597a0
|
2017-08-12T22:16:04
|
|
iOS: Fix app orientation when creating a landscape fullscreen window with the device currently in portrait orientation.
|
|
01050d4e
|
2017-07-15T17:41:58
|
|
iOS: Use modern replacements for deprecated functions, when available.
|
|
bb100d3b
|
2017-06-10T21:29:37
|
|
Expose display refresh rate on iOS/tvOS 10.3+.
|
|
9ac3bb70
|
2017-05-09T10:10:42
|
|
Added support for mixing Qt and SDL on iOS
You should call SDL_SetMainReady(), and then customize the QIOSApplicationDelegate like this, in your application code:
/* Additional support for applications mixing Qt and SDL */
@interface QIOSApplicationDelegate : UIResponder <UIApplicationDelegate>
@end
extern "C"
{
void SDL_OnApplicationWillResignActive();
void SDL_OnApplicationDidEnterBackground();
void SDL_OnApplicationWillEnterForeground();
void SDL_OnApplicationDidBecomeActive();
}
@interface QIOSApplicationDelegate (SDL)
- (void)applicationWillResignActive:(UIApplication*)application;
- (void)applicationDidEnterBackground:(UIApplication*)application;
- (void)applicationWillEnterForeground:(UIApplication*)application;
- (void)applicationDidBecomeActive:(UIApplication*)application;
@end
@implementation QIOSApplicationDelegate (SDL)
- (void)applicationWillResignActive:(UIApplication*)application
{
SDL_OnApplicationWillResignActive();
}
- (void)applicationDidEnterBackground:(UIApplication*)application
{
SDL_OnApplicationDidEnterBackground();
}
- (void)applicationWillEnterForeground:(UIApplication*)application
{
SDL_OnApplicationWillEnterForeground();
}
- (void)applicationDidBecomeActive:(UIApplication*)application
{
SDL_OnApplicationDidBecomeActive();
}
@end // QIOSApplicationDelegate
|
|
266816b4
|
2017-03-26T21:00:19
|
|
Removed newlines from error messages.
|
|
45b774e3
|
2017-01-01T18:33:28
|
|
Updated copyright for 2017
|
|
b4e069e7
|
2016-12-26T02:12:21
|
|
Fixed bug 3517 - Compiler warnings with gcc -Wstrict-prototypes
felix
Compiling even a simple SDL2 'hello world' program with gcc -Wstrict-prototypes (GCC 6.2.1) results in warnings like:
/usr/include/SDL2/SDL_gamecontroller.h:143:1: attention : function declaration isn't a prototype [-Wstrict-prototypes]
extern DECLSPEC int SDLCALL SDL_GameControllerNumMappings();
^~~~~~
It seems there is a missing 'void' between the parentheses.
|
|
eda74fda
|
2016-12-18T13:05:14
|
|
tvOS: Expose remote swipe gestures as arrow key presses (thanks oviano!)
|
|
787a54c8
|
2016-12-18T12:28:28
|
|
iOS bug #3377: work around bugs in some third party iOS libraries (e.g. Google admob) where they assume the optional UIApplicationDelegate ?window? property always exists and will crash if it doesn?t.
|
|
524bf3c2
|
2016-12-09T01:47:43
|
|
Fixed bug 3513 - SDL_GL_SwapWindow does not return error status
Return an error code from SDL_GL_SwapWindow(), like the other SDL APIs.
|
|
84c0780e
|
2016-12-02T02:21:35
|
|
Fixed bug 3305 - Fixed TextInput status when the keyboard was dismissed with the dismiss key on the iPad
Diego
I was previously unaware that rotating the device to a different orientation when the keyboard is shown causes a keyboardWillHide followed by a keyboardWillShow notification. The previous patch would then mistakenly StopTextInput when rotating. This patch fixes that by checking if the device is rotating before stopping text input.
|
|
27d4f099
|
2016-10-07T23:40:44
|
|
Implemented SDL_GetHintBoolean() to make it easier to check boolean hints
|
|
765d8bea
|
2016-10-01T12:46:36
|
|
Fixed bug 3305 - Fixed TextInput status when the keyboard was dismissed with the dismiss key on the iPad
Diego
The keyboard on iPads has a dismiss button that hides the keyboard. When the keyboard was hidden using that button, instead of the return key, SDL was still reporting IsTextInputActive as true. This patch adds an extra SDL_StopTextInput when iOS reports the keyboard will hide.
|
|
f31c7086
|
2016-09-25T15:02:06
|
|
Enable SDL_LoadObject on iOS 8+ and tvOS.
|
|
77bacfd7
|
2016-09-25T11:46:25
|
|
tvOS launch images are now properly supported.
|
|
40ecac8e
|
2016-09-25T00:21:12
|
|
Don't try to load a launch storyboard on tvOS (it doesn't use them).
|
|
666d3fec
|
2016-09-24T23:33:49
|
|
iOS/tvOS: Try to load the launch screen as a storyboard. Xcode 8 compiles it as a storyboard instead of a nib.
|
|
9165ba7e
|
2016-09-24T20:12:57
|
|
iOS/tvOS: Always send SDL_WINDOWEVENT_FOCUS_GAINED when a window is created on the main screen (fixes bug #3395).
|
|
450fa8cd
|
2016-09-24T18:46:34
|
|
Use OS-provided click counts on macOS and iOS for mouse press and release events.
|
|
4bcce330
|
2016-09-15T21:49:29
|
|
tvOS: Add drop-file support
|
|
f0505766
|
2016-09-13T22:18:06
|
|
Initial Apple TV / tvOS support.
The Apple TV remote is currently exposed as a joystick with its touch surface treated as two axes. Key presses are also generated when its buttons and touch surface are used.
A new hint has been added to help deal with deciding whether to background the app when the remote's menu button is pressed: SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS.
|
|
1096f323
|
2016-09-09T15:12:09
|
|
Reverted previous commit which breaks game controller input processing.
|
|
61c0f2cf
|
2016-09-08T20:38:23
|
|
Suggestion from Apple: use kCFRunLoopCommonModes which does more complete event processing
|
|
d0bd0e48
|
2016-07-02T13:38:31
|
|
iOS: Fix an OpenGL ES error when rotating the device if MSAA is used (thanks Cole Campbell!)
Fixes bug #3378.
|
|
34f095e0
|
2016-04-10T22:07:10
|
|
iOS: Fixed SDL_GL_CreateContext crashing instead of returning null when a GLES3 context is requested on iOS 6 and older.
|
|
6cfa71a1
|
2016-04-02T13:21:01
|
|
iOS: Also do the Dictation crash workaround before executing the animation callback.
|
|
5520ed9c
|
2016-04-01T19:18:50
|
|
iOS: Workaround for a crash after Dictation is used.
|
|
7da168db
|
2016-02-10T19:31:23
|
|
Fixed spaces in license comments.
|
|
8e7cd6b5
|
2016-02-03T20:32:55
|
|
iOS: Implemented clipboard support.
|
|
87ea39be
|
2016-01-09T17:41:09
|
|
Removed dead code (caught by Clang's static analyzer).
|
|
49e47688
|
2016-01-05T05:38:55
|
|
Patched to compile on iOS.
|
|
eeb89999
|
2016-01-05T05:22:35
|
|
Patched to compile.
|
|
c3114975
|
2016-01-04T23:52:40
|
|
Added SDL_GetDisplayUsableBounds().
|
|
42065e78
|
2016-01-02T10:10:34
|
|
Updated copyright to 2016
|
|
9c51c4a6
|
2015-11-12T22:44:32
|
|
Mac: Detect the d-pad and pause buttons on Steelseries MFi gamepads (bug #3124.)
|
|
72678358
|
2015-11-12T20:58:11
|
|
iOS: Fixed crashes when rotating the screen after destroying a window.
|
|
ab2a3500
|
2015-09-25T15:17:20
|
|
iOS: show message boxes using the new UIAlertController APIs when supported, rather than the deprecated UIAlertView.
UIAlertController is also supported on tvOS, whereas UIAlertView is not.
|
|
ecfdb10c
|
2015-09-15T00:25:07
|
|
iOS SDL_GL_CreateContext: Clamp the multisample sample count when the requested value is too high, rather than failing to create the context.
This matches the SDL_GL_CreateContext behavior in OS X.
|
|
82c8825c
|
2015-09-09T19:08:52
|
|
iOS: Added support for force-touch on capable devices.
|
|
c344b734
|
2015-07-19T19:56:16
|
|
iOS: Avoid generating an OpenGL error (but still fail to create the context) if the specified MSAA sample count is unsupported.
|
|
6ea942da
|
2015-07-19T19:44:40
|
|
Added MSAA support for OpenGL ES contexts on iOS.
Note that extra steps must be taken when using glReadPixels to read the contents of the main OpenGL ES framebuffer on iOS, if multisampling is used. See the OpenGL ES section of README-ios.md for details.
|
|
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().
|
|
a86df3b7
|
2015-06-09T21:08:24
|
|
iOS: Fixed some cases where SDL_DestroyWindow or SDL_GL_DeleteContext can cause crashes.
|
|
fd8b7c1c
|
2015-06-05T19:41:18
|
|
Fixed comments at conditional compilation macros.
|
|
2c4a6ea0
|
2015-05-26T06:27:46
|
|
Updated the copyright year to 2015
|
|
240a3fbf
|
2015-05-16T16:55:56
|
|
iOS: Added support for SDL_DisableScreenSaver and SDL_EnableScreenSaver.
|
|
d1372bb9
|
2015-05-05T16:20:11
|
|
Fixed the window offset on iOS when resuming an app with a borderless or fullscreen window that has the on-screen keyboard visible.
|
|
d603bb30
|
2015-05-05T16:16:10
|
|
Fixed a crash on iOS when none of the orientations in Info.plist match the SDL window's actual orientation.
Fixes bug #2967.
|
|
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.
|
|
a27fad1e
|
2015-04-12T01:50:28
|
|
Fixed orientation issues in the iOS extended launch screen.
|
|
fe6c797c
|
2015-04-10T23:30:31
|
|
Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
|
|
c4035654
|
2015-04-09T19:28:00
|
|
Added framebuffer and colorbuffer members to the uikit portion of the SDL_SysWMinfo struct, removed SDL_iOSGetViewRenderbuffer and SDL_iOSGetViewFramebuffer.
|
|
fcd0f06a
|
2015-04-08T15:59:29
|
|
Renamed SDL_iPhoneGetViewFramebuffer/Renderbuffer to SDL_iOSGetViewFramebuffer/Renderbuffer. Added #defines for SDL_iOSSetAnimationCallback and SDL_iOSSetEventPump, which point to SDL_iPhoneSetAnimationCallback and SDL_iPhoneSetEventPump.
|
|
26c28114
|
2015-04-08T15:35:07
|
|
Merged default into iOS-improvements
|
|
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
|
|
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.
|
|
3e17fbee
|
2015-01-24T23:53:41
|
|
Fixed the extended launch screen causing minor visual issues when rotating the screen in some circumstances.
|
|
01bfc215
|
2015-01-15T01:06:14
|
|
Several improvements to the iOS backend:
- Added new custom launch screen code. It uses the launch screen nib when available on iOS 8+, the launch images dictionary if the launch screen nib isn't available, and the old standard image names if the launch image dictionary isn't in the plist.
The launch screen is now hidden during the first call to SDL_PumpEvents rather than SDL_CreateWindow so apps can have the launch screen still visible if they do time-consuming loading after creating their window. It also fades out in roughly the same way as the system launch screen behavior.
It can be disabled by setting the SDL_IPHONE_LAUNCHSCREEN define in SDL_config_iphoneos.h to 0.
- A blank UIView is now created and displayed when the window is first created. The old behavior was to defer creating any view until SDL_GL_CreateContext, which prevented rotation, touch events, and other windowing-related things from working until then. This also makes it easier to use SDL_GetWindowWMInfo after creating a window.
- Moved the keyboard and animation callback code from SDL's UIView subclasses to its UIViewController subclass, which lets them work properly in all cases when a SDL window is valid, even before SDL_GL_CreateContext is called and after SDL_GL_DeleteContext is called.
- SDL_GL_CreateContext, SDL_GL_SwapWindow, SDL_GL_MakeCurrent, and SDL_GL_DeleteContext are more robust.
- Fixed some edge cases where SDL windows weren't rotating properly or their reported sizes were out of sync with their actual sizes.
- Removed all calls to [UIApplication setStatusBarOrientation:]. It doesn't seem to work as expected in all cases in recent iOS versions.
- Some code style cleanup.
|
|
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!
|
|
bc4b6f06
|
2014-11-27T20:25:54
|
|
Minor Objective-C code tweaks.
|
|
6df55c66
|
2014-11-23T23:29:24
|
|
Removed an ugly hack to make windows rotate properly on iOS 8+.
Recent commits apparently resolved the issue that made the hack necessary.
|
|
9b8a1768
|
2014-11-23T23:23:47
|
|
Cleaned up the iOS text input code, fixed the orientation of the view offset when the onscreen keyboard is shown in iOS 8+, and changed UIKit_SetTextInputRect to update the view offset if the keyboard is currently visible.
|
|
9c398852
|
2014-11-22T22:20:40
|
|
Corrected header file documentation comment.
|
|
6d85f522
|
2014-11-21T10:03:02
|
|
The iOS OpenGL ES context's color Renderbuffer Object is no longer completely destroyed and recreated in layoutSubviews. Its storage is now only reallocated when the actual size of the layer changes. The framebuffer object and renderbuffer object binding states are no longer clobbered by the storage reallocation code in layoutSubviews.
|
|
38c6e9d1
|
2014-11-21T03:29:57
|
|
Added debug labels for the OpenGL ES objects created with SDL_GL_CreateContext on iOS.
More misc. code cleanup.
|
|
feb2ab1e
|
2014-11-20T18:45:04
|
|
Minor objective-c code style improvements
|
|
650ace88
|
2014-11-20T17:19:26
|
|
Fixed mismatching orientations for the window width and height on iOS when the window is created or the app is brought to the foreground, when SDL_HINT_ORIENTATIONS or SDL_WINDOW_FULLSCREEN is used.
|
|
ef559ddb
|
2014-11-02T20:55:13
|
|
iOS: Added support for iOS 8 LaunchScreen NIBs.
iOS 8 introduces LaunchScreen NIBs which use autolayout to handle all devices and orientations with a single NIB instead of multiple launch images. This is also the only way to get the App Store badge "Optimized for iPhone 6 and iPhone 6 Plus". So if the application is running on iOS 8 or greater AND has specified a LaunchScreen in their Info.plist, this patch will use the NIB as the launch screen. Otherwise, the code falls back to the legacy code path.
Note: Upon audit of the legacy path, it appears that it does not properly handle the UILaunchImages Info.plist convention. I've added comments inline to the code about this. However, in about a year from now, nobody is going to care about this path since everybody should be using LaunchScreen NIBs.
|
|
28fe9f0c
|
2014-10-28T01:34:40
|
|
Switched to the core versions of OpenGL ES framebuffer object and renderbuffer functions.
Both the extension (OES) and the core versions work, but the core versions are more correct for GLES2+ and they're less verbose.
|
|
d89620a8
|
2014-10-24T04:06:45
|
|
Removed the codepath that gets compiled if IPHONE_TOUCH_EFFICIENT_DANGEROUS is not defined.
The "dangerous" codepath relies on the fact that UITouch objects are persistent for the entire touch sequence, which is always guaranteed by Apple.
|
|
a0481bb1
|
2014-10-24T03:56:34
|
|
Completely removed custom splash screen code. iOS 8 introduced yet another official way to do launch images (via a Storyboard), and the custom splash screen code was broken on newer devices and caused bugs for all devices anyway.
|
|
ba565622
|
2014-09-14T17:04:54
|
|
Enabling highdpi mode on an iPhone 6 Plus should now create a 1080x1920 OpenGL view, rather than 1242x2208 (414x736@3x.)
|
|
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
|
|
deceab25
|
2014-08-08T15:14:09
|
|
Added iOS-specific functions to get the window view's current OpenGL Renderbuffer and Framebuffer objects, so they can be more easily rebound when necessary.
|
|
2dac6bf5
|
2014-08-07T00:44:16
|
|
Fixed opengl context share groups on iOS.
|
|
02b06c66
|
2014-08-06T13:50:50
|
|
Merged default into iOS-improvements
|
|
6299daec
|
2014-08-06T00:28:02
|
|
The OpenGL context returned by the UIKit backend is now an actual OpenGL context instead of the OpenGL view we created.
This allows you to use the returned context in functions like CVOpenGLESTextureCacheCreate()
|
|
f5543f93
|
2014-08-06T03:24:16
|
|
Updated the iOS backend code to use Objective-C's automatic reference counting (ARC).
|
|
36289977
|
2014-08-06T00:45:11
|
|
Minor code update for less verbosity
|
|
caad673f
|
2014-07-29T00:36:12
|
|
Added missing autorelease pool blocks in UIKit backend code. Fixes memory leak issues, especially in SDL_video.
|
|
31257842
|
2014-07-29T00:05:48
|
|
Added support for SDL_SetWindowBordered on iOS. Worked around a bug with rotating the device on iOS 8.
|
|
0e5df605
|
2014-07-24T22:35:25
|
|
Fixed SDL_SetWindowFullscreen on iOS causing the window's reported dimensions and supported orientations to go out of sync with what they should be, if the device orientation was different from the screen orientation when the function call was made.
|
|
05afbfdf
|
2014-07-23T22:35:14
|
|
Integrated Phil Hassey's patch to fix SDL_IsScreenKeyboardShown on iOS (https://bugzilla.libsdl.org/show_bug.cgi?id=2660)
|
|
029e0193
|
2014-07-23T21:55:42
|
|
Fixed SDL_SetWindowFullscreen on iOS for the last time, hopefully.
Fixed iOS version checking code.
|
|
ef0490a7
|
2014-07-23T03:05:31
|
|
More cleanup of the iOS Objective-C code.
|
|
6d552cae
|
2014-07-23T01:33:59
|
|
90% of iOS users on the App Store run at least iOS 7, so it doesn't make sense to support building using an SDK that doesn't support iOS 7. The minimum supported runtime version is still iOS 5.1.
|
|
967549c9
|
2014-07-23T01:28:24
|
|
Updated the iOS Objective-C code to use NSDictionary/NSArray/NSNumber literals and subscripting, for improved code clarity.
This requires at least Xcode 4.5 and the iOS 6 SDK to build, but it doesn't change the minimum supported runtime version (iOS 5.1). Less than 2% of iOS users are running iOS 5, so I hope developers aren't trying to build SDL using an SDK which doesn't support iOS 6/7...
|
|
078ca9f0
|
2014-07-22T20:06:13
|
|
Cleaned up iOS OpenGL ES context creation code and added sRGB context support on iOS 7+
|
|
cf2958a8
|
2014-07-22T16:48:35
|
|
Fixed SDL_SetWindowFullscreen on iOS to properly update the view's frame.
|
|
e02e3452
|
2014-07-21T02:46:53
|
|
The default implementation of [view layoutSubviews] actually does something in iOS 6+, so we should call [super layoutSubviews] when overriding it.
|
|
e234575d
|
2014-07-17T22:55:59
|
|
Disabled the custom iOS splashscreen code - it interferes with the normal rotation and orientation behaviour of SDL windows.
|
|
d2e445d7
|
2014-07-17T18:05:12
|
|
Properly send a window resize event in all cases when viewDidLayoutSubviews is triggered.
|
|
b55be6e7
|
2014-07-16T21:06:15
|
|
Fixed SDL_HINT_ORIENTATIONS to properly allow disabling custom orientations if the hint is set with no valid orientations.
|
|
b21544c1
|
2014-07-16T20:05:00
|
|
The iOS 7 transparent status bar now uses white text rather than black.
|
|
b4d15ece
|
2014-07-16T16:12:20
|
|
Fixed SDL_SetWindowFullscreen not properly updating the status bar visibility in iOS 7+
|
|
3672409c
|
2014-07-14T22:35:48
|
|
Changed the way retina resolutions are handled in iOS.
Previously, SDL would always expose display modes and window dimensions in terms of pixels, and would add an extra 'fake' display mode on retina screens which would contain the non-retina resolution. Calling SDL_CreateWindow with the dimensions of that fake display mode would not work.
Now, SDL only exposes display modes and window dimensions in terms of points rather than pixels. If the SDL_WINDOW_ALLOW_HIGHDPI flag is passed into SDL_CreateWindow, then any OpenGL contexts created from that window will be sized in pixels rather than points (retrievable with SDL_GL_GetDrawableSize.) Window dimensions and mouse coordinates are still in terms of points rather than pixels even with that flag.
This matches the behavior of SDL in OS X more closely, and lets users choose whether to make use of retina displays and lets them handle it properly.
|
|
734b5233
|
2014-07-14T16:50:25
|
|
Misc. iOS code improvements.
- Use @autoreleasepool instead of NSAutoReleasePool.
- Code style fixups.
|
|
7187b74c
|
2014-07-07T11:00:25
|
|
Fixed compiler warnings on iOS
|
|
d44f3922
|
2014-07-07T10:33:32
|
|
Fixed bug 2629 - Mac: crash when calling SDL_DestroyWindow with an active OpenGL context
Alex Szpakowski
Since this commit https://hg.libsdl.org/SDL/rev/59b543340d63 , calling SDL_DestroyWindow will crash the program if the window has an active OpenGL context.
This is because the Cocoa_DestroyWindow code sets the window's driverdata to NULL and then calls [context setWindow:NULL], which tries to access the window's driverdata, resulting in a null pointer dereference.
I have attached a patch which fixes the issue by moving the line which sets the driverdata to NULL to after the lines which call functions that use the driverdata pointer.
|