diff src/video/cocoa/wnd_quickdraw.mm @ 7943:d7120b427cf5 draft

(svn r11498) -Add [FS#1411]: [OSX] Added support for using Quartz instead of Quickdraw in windowed mode on OS X 10.4 and higher. Based on a patch by blackis.
author egladil <egladil@openttd.org>
date Fri, 23 Nov 2007 02:44:05 +0000
parents 025c23786172
children f68ccdd562d9
line wrap: on
line diff
--- a/src/video/cocoa/wnd_quickdraw.mm
+++ b/src/video/cocoa/wnd_quickdraw.mm
@@ -54,7 +54,7 @@
 
 
 /* Subclass of NSWindow to fix genie effect and support resize events  */
-@interface OTTD_QuartzWindow : NSWindow {
+@interface OTTD_QuickdrawWindow : NSWindow {
 	WindowQuickdrawSubdriver *driver;
 }
 
@@ -70,7 +70,7 @@
 @end
 
 /* Delegate for our NSWindow to send ask for quit on close */
-@interface OTTD_QuartzWindowDelegate : NSObject{
+@interface OTTD_QuickdrawWindowDelegate : NSObject{
 	WindowQuickdrawSubdriver *driver;
 }
 
@@ -93,7 +93,7 @@
 	void *pixel_buffer;
 	void *window_buffer;
 
-	OTTD_QuartzWindow *window;
+	OTTD_QuickdrawWindow *window;
 
 	#define MAX_DIRTY_RECTS 100
 	Rect dirty_rects[MAX_DIRTY_RECTS];
@@ -179,7 +179,7 @@
 };
 
 
-@implementation OTTD_QuartzWindow
+@implementation OTTD_QuickdrawWindow
 
 - (void)setDriver:(WindowQuickdrawSubdriver*)drv
 {
@@ -275,7 +275,7 @@
 
 @end
 
-@implementation OTTD_QuartzWindowDelegate
+@implementation OTTD_QuickdrawWindowDelegate
 - (void)setDriver:(WindowQuickdrawSubdriver*)drv
 {
 	driver = drv;
@@ -390,7 +390,7 @@
 
 	/* Check if we should recreate the window */
 	if (window == nil) {
-		OTTD_QuartzWindowDelegate *delegate;
+		OTTD_QuickdrawWindowDelegate *delegate;
 
 		/* Set the window style */
 		style = NSTitledWindowMask;
@@ -398,7 +398,7 @@
 		style |= NSResizableWindowMask;
 
 		/* Manually create a window, avoids having a nib file resource */
-		window = [ [ OTTD_QuartzWindow alloc ]
+		window = [ [ OTTD_QuickdrawWindow alloc ]
 						initWithContentRect:contentRect
 						styleMask:style
 						backing:NSBackingStoreBuffered
@@ -421,7 +421,7 @@
 		[ window setAcceptsMouseMovedEvents:YES ];
 		[ window setViewsNeedDisplay:NO ];
 
-		delegate = [ [ OTTD_QuartzWindowDelegate alloc ] init ];
+		delegate = [ [ OTTD_QuickdrawWindowDelegate alloc ] init ];
 		[ delegate setDriver:this ];
 		[ window setDelegate: [ delegate autorelease ] ];
 	} else {
@@ -803,6 +803,11 @@
 {
 	WindowQuickdrawSubdriver *ret;
 
+	if (bpp != 8 && bpp != 32) {
+		DEBUG(driver, 0, "The cocoa quickdraw subdriver only supports 8 and 32 bpp.");
+		return NULL;
+	}
+
 	ret = new WindowQuickdrawSubdriver(bpp);
 
 	if (!ret->ChangeResolution(width, height)) {