new method for contentScaleFactor on main screen

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2013-06-28 10:41:20 +00:00
parent 9c4672b0f8
commit e788ceb8fa

View 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);
}
}