Mercurial > hg > openttd
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)) {