]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/utilscocoa.mm
Don't crash when laying out wxGridBagSizer with only hidden elements.
[wxWidgets.git] / src / osx / carbon / utilscocoa.mm
index 1de870f81ec2317341ff8e4fab8860040bde9328..000f6710a4ee4538f6006f6c3ae6bbb0cd4f6957 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
-// RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -381,6 +380,33 @@ wxBitmap wxOSXCreateSystemBitmap(const wxString& name, const wxString &client, c
 #endif
 }
 
+double wxOSXGetMainScreenContentScaleFactor()
+{
+    double scale;
+  
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000
+    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
+    {
+        scale=[[UIScreen mainScreen] scale];
+    }
+    else
+#endif
+    {
+        scale=1.0;
+    }
+    
+    return scale;
+}
+
+#endif
+
+#if wxOSX_USE_CARBON
+
+double wxOSXGetMainScreenContentScaleFactor()
+{
+    return 1.0;
+}
+
 #endif
 
 #if wxOSX_USE_COCOA
@@ -428,7 +454,7 @@ CGContextRef WXDLLIMPEXP_CORE wxOSXCreateBitmapContextFromNSImage( WX_NSImage ns
     CGContextRef hbitmap = NULL;
     if (nsimage != nil)
     {
-        CGFloat scale = [[NSScreen mainScreen] backingScaleFactor];
+        double scale = wxOSXGetMainScreenContentScaleFactor();
         
         NSSize imageSize = [nsimage size];
         
@@ -446,6 +472,16 @@ CGContextRef WXDLLIMPEXP_CORE wxOSXCreateBitmapContextFromNSImage( WX_NSImage ns
     return hbitmap;
 }
 
+double wxOSXGetMainScreenContentScaleFactor()
+{
+#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7)
+    if ( [ [NSScreen mainScreen] respondsToSelector:@selector(backingScaleFactor)] )
+        return [[NSScreen mainScreen] backingScaleFactor];
+    else
+#endif
+        return 1.0;
+}
+
 CGImageRef wxOSXCreateCGImageFromNSImage( WX_NSImage nsimage, double *scaleptr )
 {
     // based on http://www.mail-archive.com/cocoa-dev@lists.apple.com/msg18065.html