src/video/uikit


Log

Author Commit Date CI Message
Alex Szpakowski 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.
Alex Szpakowski 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.
Alex Szpakowski 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.
Alex Szpakowski feb2ab1e 2014-11-20T18:45:04 Minor objective-c code style improvements
Alex Szpakowski 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.
Alex Szpakowski 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.
Alex Szpakowski 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.
Alex Szpakowski 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.
Alex Szpakowski 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.)
Pierre-Loup A. Griffais 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
Alex Szpakowski 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.
Alex Szpakowski 2dac6bf5 2014-08-07T00:44:16 Fixed opengl context share groups on iOS.
Alex Szpakowski 02b06c66 2014-08-06T13:50:50 Merged default into iOS-improvements
Sam Lantinga 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()
Alex Szpakowski f5543f93 2014-08-06T03:24:16 Updated the iOS backend code to use Objective-C's automatic reference counting (ARC).
Alex Szpakowski 36289977 2014-08-06T00:45:11 Minor code update for less verbosity
Alex Szpakowski caad673f 2014-07-29T00:36:12 Added missing autorelease pool blocks in UIKit backend code. Fixes memory leak issues, especially in SDL_video.
Alex Szpakowski 31257842 2014-07-29T00:05:48 Added support for SDL_SetWindowBordered on iOS. Worked around a bug with rotating the device on iOS 8.
Alex Szpakowski 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.
Alex Szpakowski 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)
Alex Szpakowski 029e0193 2014-07-23T21:55:42 Fixed SDL_SetWindowFullscreen on iOS for the last time, hopefully. Fixed iOS version checking code.
Alex Szpakowski ef0490a7 2014-07-23T03:05:31 More cleanup of the iOS Objective-C code.
Alex Szpakowski 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.
Alex Szpakowski 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...
Alex Szpakowski 078ca9f0 2014-07-22T20:06:13 Cleaned up iOS OpenGL ES context creation code and added sRGB context support on iOS 7+
Alex Szpakowski cf2958a8 2014-07-22T16:48:35 Fixed SDL_SetWindowFullscreen on iOS to properly update the view's frame.
Alex Szpakowski 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.
Alex Szpakowski e234575d 2014-07-17T22:55:59 Disabled the custom iOS splashscreen code - it interferes with the normal rotation and orientation behaviour of SDL windows.
Alex Szpakowski d2e445d7 2014-07-17T18:05:12 Properly send a window resize event in all cases when viewDidLayoutSubviews is triggered.
Alex Szpakowski 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.
Alex Szpakowski b21544c1 2014-07-16T20:05:00 The iOS 7 transparent status bar now uses white text rather than black.
Alex Szpakowski b4d15ece 2014-07-16T16:12:20 Fixed SDL_SetWindowFullscreen not properly updating the status bar visibility in iOS 7+
Alex Szpakowski 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.
Alex Szpakowski 734b5233 2014-07-14T16:50:25 Misc. iOS code improvements. - Use @autoreleasepool instead of NSAutoReleasePool. - Code style fixups.
Sam Lantinga 7187b74c 2014-07-07T11:00:25 Fixed compiler warnings on iOS
Sam Lantinga 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.
Sam Lantinga b7b6d8ab 2014-06-22T02:30:36 Fixed crash initializing OpenGL ES renderer if OpenGL renderer fails
Sam Lantinga d7924c73 2014-06-21T12:43:57 Fixed bug 2563 - Remove obsolete code for supporting iOS < 5 Alex Szpakowski Now that SDL for iOS requires at least iOS 5.1 at runtime, there are several old codepaths in the UIKit backend which can be removed. I've attached a patch which does so.
David Ludwig 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.
Sam Lantinga f7de4ae1 2014-02-22T15:23:09 Fixed bug 2407 - Support for OpenGL ES 3 contexts on iOS Alex Szpakowski Currently the UIKit/EAGL backend for SDL's OpenGL context creation API doesn't support OpenGL ES 3, despite iOS 7+ being capable (on devices with the necessary hardware.) I have attached a patch to add support. It's also slightly more future-proof, so eventual OpenGL ES 4+ capability on iOS should hopefully work without requiring changes to SDL's UIKit/EAGL backend.
Sam Lantinga 58edac3e 2014-02-02T00:53:27 Fixed bug 2374 - Update copyright for 2014... Is it that time already??
Gabriel Jacobo f848adff 2013-11-29T10:06:08 Improve Android pause/resume behavior.
David Ludwig 46740a5a 2013-11-28T22:09:21 WinRT: merged with latest SDL 2.x/HG code SDL 2.x recently accepted patches to enable OpenGL ES 2 support via Google's ANGLE library. The thought is to try to eventually merge SDL/WinRT's OpenGL code with SDL-official's.
Ryan C. Gordon 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.
Sam Lantinga 75a23d99 2013-11-11T20:51:19 Fixed bug 2212 - SDL_SetTextInputRect has no effect on iOS philhassey Overview: While SDL_SetTextInputRect works perfectly to move my window out of the way of the virtual keyboard using SDL2/Android, on iOS this function has no effect. Steps to Reproduce: Call SDL_SetTextInputRect with a rect near the bottom of the screen before calling SDL_StartTextInput. Actual Results: The iOS virtual keyboard is displayed after calling SDL_StartTextInput, but the screen is not shifted to reveal the TextInputRect region. Expected Results: The screen should be shifted to reveal the TextInputRect region (like with SDL2/Android.) This patch implements SDL_SetTextInputRect for uikit/iOS. It sets up notification handlers to respond to changes in the display of the keyboard. These handlers then change the frame of the view so it is moved out of the way of the keyboard as per SetTextInputRect.
David Ludwig 69c5d21d 2013-10-27T21:26:46 WinRT: merged with SDL 2.0.1 codebase
Sam Lantinga f8c11bb9 2013-10-20T23:05:53 Fixed the status bar visibility in iOS 7
Sam Lantinga 6435a82d 2013-10-14T09:12:30 Backed out revision fb5ab0e91c56, the platform specific messagebox functions don't have the right prototype since they're designed to be used standalone.
Ryan C. Gordon 5607cc45 2013-10-05T00:29:57 Avoid redundant state changes in the GLES2 renderer.
Ryan C. Gordon ce45fa28 2013-10-02T22:18:04 SDLK_DELETE should probably be SDLK_BACKSPACE on iOS. The key on the software keyboard works like backspace, at least. Not sure what happens with a bluetooth keyboard here.
Sam Lantinga f79fc33a 2013-08-29T08:29:21 Christoph Mallon: Remove pointless if (x) before SDL_free(x)
David Ludwig f7049b93 2013-08-12T22:29:55 WinRT: merged with SDL 2.0.0 codebase (aka. SDL hg rev d4ce48ff30d1)
Gabriel Jacobo 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.
Sam Lantinga 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.
Sam Lantinga 1df1e696 2013-07-14T11:28:44 Added the platform specific messagebox function to the video function list