1 #import "../posix/posix_public.h"
3 #import <Foundation/NSGeometry.h>
4 @class NSEvent, NSOpenGLContext, NSWindow;
6 #import <ApplicationServices/ApplicationServices.h>
7 #import <OpenGL/CGLTypes.h>
11 const char *macosx_scanForLibraryDirectory(void);
14 void Sys_InitInput(void);
15 void Sys_ShutdownInput(void);
16 CGDirectDisplayID Sys_DisplayToUse(void);
17 //extern void osxQuit();
18 void SetProgramPath(char *path);
19 void Sys_SetMouseInputRect(CGRect newRect);
21 void Sys_AnnoyingBanner();
28 CGDirectDisplayID display;
29 CGTableCount tableSize;
37 CGDirectDisplayID display;
38 NSDictionary *desktopMode;
39 NSDictionary *gameMode;
41 CGDisplayCount displayCount;
42 glwgamma_t *originalDisplayGammaTables;
43 glwgamma_t inGameTable;
46 NSOpenGLContext *_ctx;
47 CGLContextObj _cgl_ctx;
53 unsigned int bufferSwapCount;
54 unsigned int glPauseCount;
57 extern glwstate_t glw_state;
59 #define OSX_SetGLContext(context) \
61 NSOpenGLContext *_context = (context); \
62 glw_state._ctx = _context; \
63 glw_state._cgl_ctx = [_context cglContext]; \
66 #define OSX_GetNSGLContext() glw_state._ctx
67 #define OSX_GetCGLContext() glw_state._cgl_ctx
69 #define OSX_GLContextIsCurrent() glw_state._ctx_is_current
70 #define OSX_GLContextSetCurrent() \
72 [glw_state._ctx makeCurrentContext]; \
73 glw_state._ctx_is_current = (glw_state._ctx != nil); \
76 #define OSX_GLContextClearCurrent() \
78 [NSOpenGLContext clearCurrentContext]; \
79 glw_state._ctx_is_current = NO; \