(svn r11521) -Codechange: [OSX] Check what the running os version is in a cleaner way.

This commit is contained in:
egladil
2007-11-25 14:43:16 +00:00
parent 9aaa455e5d
commit 1d5010edf9
9 changed files with 153 additions and 5 deletions

View File

@@ -8,6 +8,7 @@
#ifdef WITH_COCOA
#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3
#include <AvailabilityMacros.h>
#import <Cocoa/Cocoa.h>
@@ -229,13 +230,17 @@ void QZ_GameSizeChanged()
static CocoaSubdriver *QZ_CreateWindowSubdriver(int width, int height, int bpp)
{
long sysVersion;
CocoaSubdriver *ret;
if (Gestalt(gestaltSystemVersion, &sysVersion) == noErr && sysVersion >= 0x1040) {
return QZ_CreateWindowQuartzSubdriver(width, height, bpp);
if (MacOSVersionIsAtLeast(10, 4, 0)) {
ret = QZ_CreateWindowQuartzSubdriver(width, height, bpp);
if (ret != NULL) return ret;
}
return QZ_CreateWindowQuickdrawSubdriver(width, height, bpp);
ret = QZ_CreateWindowQuickdrawSubdriver(width, height, bpp);
if (ret != NULL) return ret;
return NULL;
}
@@ -282,6 +287,8 @@ const char *VideoDriver_Cocoa::Start(const char * const *parm)
{
int width, height, bpp;
if (!MacOSVersionIsAtLeast(10, 3, 0)) return "The Cocoa video driver requires Mac OS X 10.3 or later.";
if (_cocoa_video_started) return "Already started";
_cocoa_video_started = true;

View File

@@ -8,6 +8,9 @@
#ifdef WITH_COCOA
#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3
#include <AvailabilityMacros.h>
#import <Cocoa/Cocoa.h>
#import <sys/time.h> /* gettimeofday */
#import <sys/param.h> /* for MAXPATHLEN */

View File

@@ -8,6 +8,7 @@
#ifdef WITH_COCOA
#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3
#include <AvailabilityMacros.h>
#import <Cocoa/Cocoa.h>

View File

@@ -8,6 +8,7 @@
#ifdef WITH_COCOA
#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_4
#include <AvailabilityMacros.h>
#import <Cocoa/Cocoa.h>
@@ -685,6 +686,7 @@ CGPoint WindowQuartzSubdriver::PrivateLocalToCG(NSPoint* p)
p->y = window_height - p->y;
*p = [ qzview convertPoint:*p toView: nil ];
*p = [ window convertBaseToScreen:*p ];
p->y = device_height - p->y;
@@ -779,6 +781,11 @@ CocoaSubdriver *QZ_CreateWindowQuartzSubdriver(int width, int height, int bpp)
{
WindowQuartzSubdriver *ret;
if (!MacOSVersionIsAtLeast(10, 4, 0)) {
DEBUG(driver, 0, "The cocoa quartz subdriver requires Mac OS X 10.4 or later.");
return NULL;
}
if (bpp != 8 && bpp != 32) {
DEBUG(driver, 0, "The cocoa quartz subdriver only supports 8 and 32 bpp.");
return NULL;

View File

@@ -8,6 +8,8 @@
#ifdef WITH_COCOA
#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3
#define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_3
#include <AvailabilityMacros.h>
#import <Cocoa/Cocoa.h>
@@ -796,6 +798,10 @@ CocoaSubdriver *QZ_CreateWindowQuickdrawSubdriver(int width, int height, int bpp
{
WindowQuickdrawSubdriver *ret;
if (MacOSVersionIsAtLeast(10, 4, 0)) {
DEBUG(driver, 0, "The cocoa quickdraw subdriver is not recommended for Mac OS X 10.4 or later.");
}
if (bpp != 8 && bpp != 32) {
DEBUG(driver, 0, "The cocoa quickdraw subdriver only supports 8 and 32 bpp.");
return NULL;