]> git.saurik.com Git - wxWidgets.git/commitdiff
support getting device resolution on all osx ports
authorStefan Csomor <csomor@advancedconcepts.ch>
Fri, 28 Jun 2013 13:24:27 +0000 (13:24 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Fri, 28 Jun 2013 13:24:27 +0000 (13:24 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/osx/cocoa/private.h
include/wx/osx/core/private.h
src/osx/carbon/utilscocoa.mm
src/osx/core/bitmap.cpp

index 49dd2b4eeb38f11818420d5c81e1341e1c9ba552..e55ea62c1ba2a7178c041de6444bdd5d6cad3c4d 100644 (file)
@@ -42,7 +42,6 @@ OSStatus WXDLLIMPEXP_CORE wxMacDrawCGImage(
 WX_NSImage WXDLLIMPEXP_CORE wxOSXGetNSImageFromCGImage( CGImageRef image, double scale = 1.0 );
 CGImageRef WXDLLIMPEXP_CORE wxOSXCreateCGImageFromNSImage( WX_NSImage nsimage, double *scale = NULL );
 CGContextRef WXDLLIMPEXP_CORE wxOSXCreateBitmapContextFromNSImage( WX_NSImage nsimage);
-double WXDLLIMPEXP_CORE wxOSXGetMainScreenContentScaleFactor();
 
 wxBitmap WXDLLIMPEXP_CORE wxOSXCreateSystemBitmap(const wxString& id, const wxString &client, const wxSize& size);
 WXWindow WXDLLIMPEXP_CORE wxOSXGetMainWindow();
index 9c4660a7656ba630d265f86addbc011764a18c53..fb1d230c325c4fa9b3c21f79f934115504c27434 100644 (file)
@@ -122,7 +122,9 @@ WXDLLIMPEXP_CORE CGDataProviderRef wxMacCGDataProviderCreateWithCFData( CFDataRe
 WXDLLIMPEXP_CORE CGDataConsumerRef wxMacCGDataConsumerCreateWithCFData( CFMutableDataRef data );
 WXDLLIMPEXP_CORE CGDataProviderRef wxMacCGDataProviderCreateWithMemoryBuffer( const wxMemoryBuffer& buf );
 
-CGColorSpaceRef WXDLLIMPEXP_CORE wxMacGetGenericRGBColorSpace(void);
+WXDLLIMPEXP_CORE CGColorSpaceRef wxMacGetGenericRGBColorSpace(void);
+
+WXDLLIMPEXP_CORE double wxOSXGetMainScreenContentScaleFactor();
 
 class wxWindowMac;
 // to
index ff1d770dbc6fc7c59951ead15c59f994b96d45c7..58ec857b1a681ef474bc80bb0c47b554b6cc550e 100644 (file)
@@ -381,6 +381,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
@@ -446,7 +473,7 @@ CGContextRef WXDLLIMPEXP_CORE wxOSXCreateBitmapContextFromNSImage( WX_NSImage ns
     return hbitmap;
 }
 
-double WXDLLIMPEXP_CORE wxOSXGetMainScreenContentScaleFactor()
+double wxOSXGetMainScreenContentScaleFactor()
 {
 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7)
     if ( [ [NSScreen mainScreen] respondsToSelector:@selector(backingScaleFactor)] )
index 4da8104bf9f03c2be14ba08b44ebdae0810f21ae..ac0804d1f1a19f9a509577998178f46cb655a859 100644 (file)
@@ -1857,13 +1857,11 @@ bool wxBundleResourceHandler::LoadFile(wxBitmap *bitmap,
     
     wxCFRef<CFURLRef> imageURL;
     
-#if wxOSX_USE_COCOA
     if ( wxOSXGetMainScreenContentScaleFactor() > 1.9 )
     {
         imageURL.reset(CFBundleCopyResourceURL(CFBundleGetMainBundle(), resname2x, restype, NULL));
         scale = 2.0;
     }
-#endif
     
     if ( imageURL.get() == NULL )
     {