]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/iphone/utils.mm
Fix harmless unused parameters warnings.
[wxWidgets.git] / src / osx / iphone / utils.mm
index 8c780ac93dd28caa61bfc5bf24716cce53548400..738b52dffa9719fabfa170788adb7e254016cdfa 100644 (file)
@@ -77,8 +77,8 @@ bool wxApp::CallOnInit()
 int wxApp::OnRun()
 {
     wxMacAutoreleasePool pool;
-    char* appname = "test";
-    UIApplicationMain( 1, &appname, nil, @"wxAppDelegate" );
+    const char* appname = "app";
+    UIApplicationMain( 1, (char**) &appname, nil, @"wxAppDelegate" );
     return 1;
 }
 
@@ -137,15 +137,31 @@ extern CGSize MeasureTextInContext( UIFont *font, NSString* text )
 void wxClientDisplayRect(int *x, int *y, int *width, int *height)
 {
     CGRect r = [[UIScreen mainScreen] applicationFrame];
-    if ( x )
-        *x = r.origin.x;
-    if ( y )
-        *y = r.origin.y;
-    if ( width )
-        *width = r.size.width;
-    if ( height )
-        *height = r.size.height;
-    
+    CGRect bounds = [[UIScreen mainScreen] bounds];
+    if ( bounds.size.height > r.size.height )
+    {
+        // portrait
+        if ( x )
+            *x = r.origin.x;
+        if ( y )
+            *y = r.origin.y;
+        if ( width )
+            *width = r.size.width;
+        if ( height )
+            *height = r.size.height;
+    }
+    else
+    {
+        // landscape
+        if ( x )
+            *x = r.origin.y;
+        if ( y )
+            *y = r.origin.x;
+        if ( width )
+            *width = r.size.height;
+        if ( height )
+            *height = r.size.width;
+    }
 }
 
 void wxGetMousePosition( int* x, int* y )
@@ -162,12 +178,25 @@ int wxDisplayDepth()
 // Get size of display
 void wxDisplaySize(int *width, int *height)
 {
+    CGRect r = [[UIScreen mainScreen] applicationFrame];
     CGRect bounds = [[UIScreen mainScreen] bounds];
-    
-    if ( width )
-        *width = (int)bounds.size.width ;
-    if ( height )
-        *height = (int)bounds.size.height;
+
+    if ( bounds.size.height > r.size.height )
+    {
+        // portrait
+        if ( width )
+            *width = (int)bounds.size.width ;
+        if ( height )
+            *height = (int)bounds.size.height;
+    }
+    else
+    {
+        // landscape
+        if ( width )
+            *width = (int)bounds.size.height ;
+        if ( height )
+            *height = (int)bounds.size.width;
+    }
 }
 
 wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
@@ -224,21 +253,21 @@ wxBitmap wxWindowDCImpl::DoGetAsBitmap(const wxRect *subrect) const
     // call this method when a Blit is performed with it as a source.
     if (!m_window)
         return wxNullBitmap;
-        
+
     wxSize sz = m_window->GetSize();
-    
+
     int left = subrect != NULL ? subrect->x : 0 ;
     int top = subrect != NULL ? subrect->y : 0 ;
     int width = subrect != NULL ? subrect->width : sz.x;
     int height = subrect !=  NULL ? subrect->height : sz.y ;
-    
+
     wxBitmap bmp = wxBitmap(width, height, 32);
-    
+
     CGContextRef context = (CGContextRef)bmp.GetHBITMAP();
-    
+
     CGContextSaveGState(context);
-    
-    
+
+
     CGContextTranslateCTM( context, 0,  height );
     CGContextScaleCTM( context, 1, -1 );