+ }
+ 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
+
+ CGImageRef image = NULL;
+ if (nsimage != nil)
+ {
+ CGContextRef context = wxOSXCreateBitmapContextFromNSImage(nsimage);
+ if ( scaleptr )
+ {
+ // determine content scale
+ CGRect userrect = CGRectMake(0, 0, 10, 10);
+ CGRect devicerect;
+ devicerect = CGContextConvertRectToDeviceSpace(context, userrect);
+ *scaleptr = devicerect.size.height / userrect.size.height;
+ }