]> git.saurik.com Git - wxWidgets.git/commitdiff
new method for contentScaleFactor on main screen
authorStefan Csomor <csomor@advancedconcepts.ch>
Fri, 28 Jun 2013 10:41:20 +0000 (10:41 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Fri, 28 Jun 2013 10:41:20 +0000 (10:41 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/core/bitmap.cpp

index bf31f8a00c0798847d7ef0361c64df0782b74b49..4da8104bf9f03c2be14ba08b44ebdae0810f21ae 100644 (file)
@@ -1851,9 +1851,25 @@ bool wxBundleResourceHandler::LoadFile(wxBitmap *bitmap,
 {
     wxString ext = GetExtension().Lower();
     wxCFStringRef resname(name);
+    wxCFStringRef resname2x(name+"@2x");
     wxCFStringRef restype(ext);
+    double scale = 1.0;
     
-    wxCFRef<CFURLRef> imageURL(CFBundleCopyResourceURL(CFBundleGetMainBundle(), resname, restype, NULL));
+    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 )
+    {
+        imageURL.reset(CFBundleCopyResourceURL(CFBundleGetMainBundle(), resname, restype, NULL));
+        scale = 1.0;
+    }
     
     if ( imageURL.get() != NULL )
     {
@@ -1869,7 +1885,7 @@ bool wxBundleResourceHandler::LoadFile(wxBitmap *bitmap,
                                                        kCGRenderingIntentDefault);
         if ( image != NULL )
         {
-            bitmap->Create(image);
+            bitmap->Create(image,scale);
             CGImageRelease(image);
         }
     }