diff -r 50560ca58f80 Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj
--- a/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj Mon Oct 24 23:18:53 2011 -0400
+++ b/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj Wed Nov 02 09:22:08 2011 +0100
@@ -1596,9 +1596,12 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_DEBUGGING_SYMBOLS = full;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_THUMB_SUPPORT = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = NO;
- IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
+ IPHONEOS_DEPLOYMENT_TARGET = 3.0;
ONLY_ACTIVE_ARCH = NO;
PREBINDING = NO;
SDKROOT = iphoneos;
@@ -1613,9 +1616,12 @@
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_FAST_MATH = YES;
+ GCC_THUMB_SUPPORT = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = NO;
- IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
+ IPHONEOS_DEPLOYMENT_TARGET = 3.0;
PREBINDING = NO;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
diff -r 50560ca58f80 include/SDL_config_iphoneos.h
--- a/include/SDL_config_iphoneos.h Mon Oct 24 23:18:53 2011 -0400
+++ b/include/SDL_config_iphoneos.h Wed Nov 02 09:22:08 2011 +0100
@@ -106,7 +106,7 @@
/* enable iPhone version of Core Audio driver */
#define SDL_AUDIO_DRIVER_COREAUDIO 1
/* Enable the dummy audio driver (src/audio/dummy/\*.c) */
-#define SDL_AUDIO_DRIVER_DUMMY 1
+#define SDL_AUDIO_DRIVER_DUMMY 0
/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
#define SDL_HAPTIC_DISABLED 1
@@ -132,16 +132,16 @@
/* enable OpenGL ES */
#define SDL_VIDEO_OPENGL_ES 1
#define SDL_VIDEO_RENDER_OGL_ES 1
-#define SDL_VIDEO_RENDER_OGL_ES2 1
+#define SDL_VIDEO_RENDER_OGL_ES2 0
/* Enable system power support */
-#define SDL_POWER_UIKIT 1
+#define SDL_POWER_UIKIT 0
/* enable iPhone keyboard support */
#define SDL_IPHONE_KEYBOARD 1
/* enable joystick subsystem */
-#define SDL_JOYSTICK_DISABLED 0
+#define SDL_JOYSTICK_DISABLED 1
/* Set max recognized G-force from accelerometer
See src/joystick/uikit/SDLUIAccelerationDelegate.m for notes on why this is needed
diff -r 50560ca58f80 src/video/uikit/SDL_uikitopenglview.m
--- a/src/video/uikit/SDL_uikitopenglview.m Mon Oct 24 23:18:53 2011 -0400
+++ b/src/video/uikit/SDL_uikitopenglview.m Wed Nov 02 09:22:08 2011 +0100
@@ -114,8 +114,8 @@
// !!! FIXME: use the screen this is on!
/* Use the main screen scale (for retina display support) */
- if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
- self.contentScaleFactor = [UIScreen mainScreen].scale;
+ if ([self respondsToSelector:@selector(contentScaleFactor)])
+ self.contentScaleFactor = [[UIScreen mainScreen] scale];
self.autoresizingMask = 0; // don't allow autoresize, since we need to do some magic in -(void)updateFrame.
}
@@ -144,8 +144,8 @@
// !!! FIXME: use the screen this is on!
/* Use the main screen scale (for retina display support) */
- if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
- self.contentScaleFactor = [UIScreen mainScreen].scale;
+ if ([self respondsToSelector:@selector(contentScaleFactor)])
+ self.contentScaleFactor = [[UIScreen mainScreen] scale];
}
- (void)setCurrentContext
diff -r 50560ca58f80 src/video/uikit/SDL_uikitvideo.m
--- a/src/video/uikit/SDL_uikitvideo.m Mon Oct 24 23:18:53 2011 -0400
+++ b/src/video/uikit/SDL_uikitvideo.m Wed Nov 02 09:22:08 2011 +0100
@@ -178,7 +178,7 @@
// UIScreenMode showed up in 3.2 (the iPad and later). We're
// misusing this supports_multiple_displays flag here for that.
- if (!SDL_UIKit_supports_multiple_displays) {
+ if (SDL_UIKit_supports_multiple_displays) {
UIScreenMode *uimode = [uiscreen currentMode];
[uimode retain]; // once for the desktop_mode
[uimode retain]; // once for the current_mode
@@ -200,10 +200,8 @@
{
_this->gl_config.driver_loaded = 1;
- NSString *reqSysVer = @"3.2";
- NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
- if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
- SDL_UIKit_supports_multiple_displays = YES;
+ // this tells us whether we are running on ios >= 3.2
+ SDL_UIKit_supports_multiple_displays = [UIScreen instancesRespondToSelector:@selector(currentMode)];
// Add the main screen.
UIScreen *uiscreen = [UIScreen mainScreen];
diff -r 50560ca58f80 src/video/uikit/SDL_uikitview.m
--- a/src/video/uikit/SDL_uikitview.m Mon Oct 24 23:18:53 2011 -0400
+++ b/src/video/uikit/SDL_uikitview.m Wed Nov 02 09:22:08 2011 +0100
@@ -311,7 +311,7 @@
/* iPhone keyboard addition functions */
#if SDL_IPHONE_KEYBOARD
-SDL_uikitview * getWindowView(SDL_Window * window)
+SDL_uikitview *SDL_getUikitView(SDL_Window *window)
{
if (window == NULL) {
SDL_SetError("Window does not exist");
@@ -328,9 +328,9 @@
return view;
}
-int SDL_iPhoneKeyboardShow(SDL_Window * window)
+int SDL_iPhoneKeyboardShow(SDL_Window *window)
{
- SDL_uikitview *view = getWindowView(window);
+ SDL_uikitview *view = SDL_getUikitView(window);
if (view == nil) {
return -1;
}
@@ -339,9 +339,9 @@
return 0;
}
-int SDL_iPhoneKeyboardHide(SDL_Window * window)
+int SDL_iPhoneKeyboardHide(SDL_Window *window)
{
- SDL_uikitview *view = getWindowView(window);
+ SDL_uikitview *view = SDL_getUikitView(window);
if (view == nil) {
return -1;
}
@@ -350,9 +350,9 @@
return 0;
}
-SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window)
+SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window *window)
{
- SDL_uikitview *view = getWindowView(window);
+ SDL_uikitview *view = SDL_getUikitView(window);
if (view == nil) {
return 0;
}
@@ -360,9 +360,9 @@
return view.keyboardVisible;
}
-int SDL_iPhoneKeyboardToggle(SDL_Window * window)
+int SDL_iPhoneKeyboardToggle(SDL_Window *window)
{
- SDL_uikitview *view = getWindowView(window);
+ SDL_uikitview *view = SDL_getUikitView(window);
if (view == nil) {
return -1;
}
@@ -380,24 +380,24 @@
/* stubs, used if compiled without keyboard support */
-int SDL_iPhoneKeyboardShow(SDL_Window * window)
+int SDL_iPhoneKeyboardShow(SDL_Window *window)
{
SDL_SetError("Not compiled with keyboard support");
return -1;
}
-int SDL_iPhoneKeyboardHide(SDL_Window * window)
+int SDL_iPhoneKeyboardHide(SDL_Window *window)
{
SDL_SetError("Not compiled with keyboard support");
return -1;
}
-SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window)
+SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window *window)
{
return 0;
}
-int SDL_iPhoneKeyboardToggle(SDL_Window * window)
+int SDL_iPhoneKeyboardToggle(SDL_Window *window)
{
SDL_SetError("Not compiled with keyboard support");
return -1;
diff -r 50560ca58f80 src/video/uikit/SDL_uikitviewcontroller.m
--- a/src/video/uikit/SDL_uikitviewcontroller.m Mon Oct 24 23:18:53 2011 -0400
+++ b/src/video/uikit/SDL_uikitviewcontroller.m Wed Nov 02 09:22:08 2011 +0100
@@ -28,8 +28,8 @@
#include "SDL_uikitwindow.h"
-#import "SDL_uikitviewcontroller.h"
-
+#include "SDL_uikitviewcontroller.h"
+#include "SDL_uikitvideo.h"
@implementation SDL_uikitviewcontroller
@@ -116,38 +116,17 @@
const UIInterfaceOrientation toInterfaceOrientation = [self interfaceOrientation];
SDL_WindowData *data = self->window->driverdata;
UIWindow *uiwindow = data->uiwindow;
- UIScreen *uiscreen = [uiwindow screen];
+ UIScreen *uiscreen;
+ if (SDL_UIKit_supports_multiple_displays)
+ uiscreen = [uiwindow screen];
+ else
+ uiscreen = [UIScreen mainScreen];
const int noborder = self->window->flags & SDL_WINDOW_BORDERLESS;
CGRect frame = noborder ? [uiscreen bounds] : [uiscreen applicationFrame];
- const CGSize size = frame.size;
- int w, h;
-
- switch (toInterfaceOrientation) {
- case UIInterfaceOrientationPortrait:
- case UIInterfaceOrientationPortraitUpsideDown:
- w = (size.width < size.height) ? size.width : size.height;
- h = (size.width > size.height) ? size.width : size.height;
- break;
-
- case UIInterfaceOrientationLandscapeLeft:
- case UIInterfaceOrientationLandscapeRight:
- w = (size.width > size.height) ? size.width : size.height;
- h = (size.width < size.height) ? size.width : size.height;
- break;
-
- default:
- SDL_assert(0 && "Unexpected interface orientation!");
- return;
- }
-
- frame.size.width = w;
- frame.size.height = h;
- frame.origin.x = 0;
- frame.origin.y = 0;
[uiwindow setFrame:frame];
[data->view updateFrame];
- SDL_SendWindowEvent(self->window, SDL_WINDOWEVENT_RESIZED, w, h);
+ SDL_SendWindowEvent(self->window, SDL_WINDOWEVENT_RESIZED, frame.size.width, frame.size.height);
}
@end