/////////////////////////////////////////////////////////////////////////////
-// Name: src/mac/cocoa/utils.mm
+// Name: src/osx/cocoa/utils.mm
// Purpose: various cocoa utility functions
// Author: Stefan Csomor
// Modified by:
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;
}
+bool wxApp::DoInitGui()
+{
+ return true;
+}
+
+void wxApp::DoCleanUp()
+{
+}
+
void wxMacWakeUp()
{
// TODO
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 )
// 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)
// 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 );
// get OS version
int major, minor;
- wxString release = wxCFStringRef( [ [UIDevice currentDevice] systemVersion] ).AsString() ;
+ wxString release = wxCFStringRef( wxCFRetain( [ [UIDevice currentDevice] systemVersion] ) ).AsString() ;
if ( release.empty() ||
- wxSscanf(release.c_str(), wxT("%d.%d"), &major, &minor) != 2 )
+ // TODO use wx method
+ scanf(release.c_str(), wxT("%d.%d"), &major, &minor) != 2 )
{
// failed to get version string or unrecognized format
major =
wxString wxGetOsDescription()
{
- wxString release = wxCFStringRef( [ [UIDevice currentDevice] systemName] ).AsString() ;
+ wxString release = wxCFStringRef( wxCFRetain([ [UIDevice currentDevice] systemName] )).AsString() ;
return release;
}