diff options
Diffstat (limited to 'src/engine/external/glfw/lib/macosx/platform.h')
| -rw-r--r-- | src/engine/external/glfw/lib/macosx/platform.h | 349 |
1 files changed, 0 insertions, 349 deletions
diff --git a/src/engine/external/glfw/lib/macosx/platform.h b/src/engine/external/glfw/lib/macosx/platform.h deleted file mode 100644 index 6f90df88..00000000 --- a/src/engine/external/glfw/lib/macosx/platform.h +++ /dev/null @@ -1,349 +0,0 @@ -//======================================================================== -// GLFW - An OpenGL framework -// File: platform.h -// Platform: Mac OS X -// API Version: 2.6 -// WWW: http://glfw.sourceforge.net -//------------------------------------------------------------------------ -// Copyright (c) 2002-2006 Camilla Berglund -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would -// be appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -// -//======================================================================== - -#ifndef _platform_h_ -#define _platform_h_ - - -// This is the Mac OS X version of GLFW -#define _GLFW_MAC_OS_X - - -// Include files -#include <Carbon/Carbon.h> -#include <OpenGL/OpenGL.h> -#include <AGL/agl.h> -#include <sched.h> -#include <pthread.h> -#include <sys/sysctl.h> -#include "../../include/GL/glfw.h" - - -//======================================================================== -// Defines -//======================================================================== - -#define _GLFW_MAX_PATH_LENGTH (8192) - -#define MAC_KEY_ENTER 0x24 -#define MAC_KEY_RETURN 0x34 -#define MAC_KEY_ESC 0x35 -#define MAC_KEY_F1 0x7A -#define MAC_KEY_F2 0x78 -#define MAC_KEY_F3 0x63 -#define MAC_KEY_F4 0x76 -#define MAC_KEY_F5 0x60 -#define MAC_KEY_F6 0x61 -#define MAC_KEY_F7 0x62 -#define MAC_KEY_F8 0x64 -#define MAC_KEY_F9 0x65 -#define MAC_KEY_F10 0x6D -#define MAC_KEY_F11 0x67 -#define MAC_KEY_F12 0x6F -#define MAC_KEY_F13 0x69 -#define MAC_KEY_F14 0x6B -#define MAC_KEY_F15 0x71 -#define MAC_KEY_UP 0x7E -#define MAC_KEY_DOWN 0x7D -#define MAC_KEY_LEFT 0x7B -#define MAC_KEY_RIGHT 0x7C -#define MAC_KEY_TAB 0x30 -#define MAC_KEY_BACKSPACE 0x33 -#define MAC_KEY_HELP 0x72 -#define MAC_KEY_DEL 0x75 -#define MAC_KEY_PAGEUP 0x74 -#define MAC_KEY_PAGEDOWN 0x79 -#define MAC_KEY_HOME 0x73 -#define MAC_KEY_END 0x77 -#define MAC_KEY_KP_0 0x52 -#define MAC_KEY_KP_1 0x53 -#define MAC_KEY_KP_2 0x54 -#define MAC_KEY_KP_3 0x55 -#define MAC_KEY_KP_4 0x56 -#define MAC_KEY_KP_5 0x57 -#define MAC_KEY_KP_6 0x58 -#define MAC_KEY_KP_7 0x59 -#define MAC_KEY_KP_8 0x5B -#define MAC_KEY_KP_9 0x5C -#define MAC_KEY_KP_DIVIDE 0x4B -#define MAC_KEY_KP_MULTIPLY 0x43 -#define MAC_KEY_KP_SUBTRACT 0x4E -#define MAC_KEY_KP_ADD 0x45 -#define MAC_KEY_KP_DECIMAL 0x41 -#define MAC_KEY_KP_EQUAL 0x51 -#define MAC_KEY_KP_ENTER 0x4C - -//======================================================================== -// full-screen/desktop-window "virtual" function table -//======================================================================== - -typedef int ( * GLFWmacopenwindowfun )( int, int, int, int, int, int, int, int, int, int, int, int, int, int, int ); -typedef void ( * GLFWmacclosewindowfun )( void ); -typedef void ( * GLFWmacsetwindowtitlefun )( const char * ); -typedef void ( * GLFWmacsetwindowsizefun )( int, int ); -typedef void ( * GLFWmacsetwindowposfun )( int, int ); -typedef void ( * GLFWmaciconifywindowfun )( void ); -typedef void ( * GLFWmacrestorewindowfun )( void ); -typedef void ( * GLFWmacrefreshwindowparamsfun )( void ); -typedef void ( * GLFWmacsetmousecursorposfun )( int, int ); - -typedef struct -{ - GLFWmacopenwindowfun OpenWindow; - GLFWmacclosewindowfun CloseWindow; - GLFWmacsetwindowtitlefun SetWindowTitle; - GLFWmacsetwindowsizefun SetWindowSize; - GLFWmacsetwindowposfun SetWindowPos; - GLFWmaciconifywindowfun IconifyWindow; - GLFWmacrestorewindowfun RestoreWindow; - GLFWmacrefreshwindowparamsfun RefreshWindowParams; - GLFWmacsetmousecursorposfun SetMouseCursorPos; -} -_GLFWmacwindowfunctions; - - -//======================================================================== -// Global variables (GLFW internals) -//======================================================================== - -GLFWGLOBAL CFDictionaryRef _glfwDesktopVideoMode; - -//------------------------------------------------------------------------ -// Window structure -//------------------------------------------------------------------------ -typedef struct _GLFWwin_struct _GLFWwin; - -struct _GLFWwin_struct { - - // ========= PLATFORM INDEPENDENT MANDATORY PART ========================= - - // Window states - int Opened; // Flag telling if window is opened or not - int Active; // Application active flag - int Iconified; // Window iconified flag - - // User callback functions - GLFWwindowsizefun WindowSizeCallback; - GLFWwindowclosefun WindowCloseCallback; - GLFWwindowrefreshfun WindowRefreshCallback; - GLFWmousebuttonfun MouseButtonCallback; - GLFWmouseposfun MousePosCallback; - GLFWmousewheelfun MouseWheelCallback; - GLFWkeyfun KeyCallback; - GLFWcharfun CharCallback; - - // User selected window settings - int Fullscreen; // Fullscreen flag - int MouseLock; // Mouse-lock flag - int AutoPollEvents; // Auto polling flag - int SysKeysDisabled; // System keys disabled flag - int RefreshRate; // Refresh rate (for fullscreen mode) - int WindowNoResize; // Resize- and maximize gadgets disabled flag - int Samples; - - // Window status - int Width, Height; // Window width and heigth - - // Extensions & OpenGL version - int Has_GL_SGIS_generate_mipmap; - int Has_GL_ARB_texture_non_power_of_two; - int GLVerMajor,GLVerMinor; - - - // ========= PLATFORM SPECIFIC PART ====================================== - - WindowRef MacWindow; - AGLContext AGLContext; - CGLContextObj CGLContext; - - EventHandlerUPP MouseUPP; - EventHandlerUPP CommandUPP; - EventHandlerUPP KeyboardUPP; - EventHandlerUPP WindowUPP; - - _GLFWmacwindowfunctions* WindowFunctions; - - // for easy access by _glfwPlatformGetWindowParam - int Accelerated; - int RedBits, GreenBits, BlueBits, AlphaBits; - int DepthBits; - int StencilBits; - int AccumRedBits, AccumGreenBits, AccumBlueBits, AccumAlphaBits; - int AuxBuffers; - int Stereo; -}; - -GLFWGLOBAL _GLFWwin _glfwWin; - - -//------------------------------------------------------------------------ -// User input status (some of this should go in _GLFWwin) -//------------------------------------------------------------------------ -GLFWGLOBAL struct { - - // ========= PLATFORM INDEPENDENT MANDATORY PART ========================= - - // Mouse status - int MousePosX, MousePosY; - int WheelPos; - char MouseButton[ GLFW_MOUSE_BUTTON_LAST+1 ]; - - // Keyboard status - char Key[ GLFW_KEY_LAST+1 ]; - int LastChar; - - // User selected settings - int StickyKeys; - int StickyMouseButtons; - int KeyRepeat; - - - // ========= PLATFORM SPECIFIC PART ====================================== - - UInt32 Modifiers; - -} _glfwInput; - - - - -//------------------------------------------------------------------------ -// Thread information -//------------------------------------------------------------------------ -typedef struct _GLFWthread_struct _GLFWthread; - -// Thread record (one for each thread) -struct _GLFWthread_struct { - // Pointer to previous and next threads in linked list - _GLFWthread *Previous, *Next; - - // GLFW user side thread information - GLFWthread ID; - GLFWthreadfun Function; - - // System side thread information - pthread_t PosixID; -}; - -// General thread information -GLFWGLOBAL struct { - // Critical section lock - pthread_mutex_t CriticalSection; - - // Next thread ID to use (increments for every created thread) - GLFWthread NextID; - - // First thread in linked list (always the main thread) - _GLFWthread First; -} _glfwThrd; - - -//------------------------------------------------------------------------ -// Library global data -//------------------------------------------------------------------------ -GLFWGLOBAL struct { - - // Timer data - struct { - double t0; - } Timer; - - struct { - // Bundle for dynamically-loading extension function pointers - CFBundleRef OpenGLFramework; - } Libs; - - int Unbundled; - -} _glfwLibrary; - - - -//======================================================================== -// Macros for encapsulating critical code sections (i.e. making parts -// of GLFW thread safe) -//======================================================================== - -// Define so we can use the same thread code as X11 -#define _glfw_numprocessors(n) { \ - int mib[2], ncpu; \ - size_t len = 1; \ - mib[0] = CTL_HW; \ - mib[1] = HW_NCPU; \ - n = 1; \ - if( sysctl( mib, 2, &ncpu, &len, NULL, 0 ) != -1 ) \ - { \ - if( len > 0 ) \ - { \ - n = ncpu; \ - } \ - } \ -} - -// Thread list management -#define ENTER_THREAD_CRITICAL_SECTION \ -pthread_mutex_lock( &_glfwThrd.CriticalSection ); -#define LEAVE_THREAD_CRITICAL_SECTION \ -pthread_mutex_unlock( &_glfwThrd.CriticalSection ); - - -//======================================================================== -// Prototypes for platform specific internal functions -//======================================================================== - -void _glfwChangeToResourcesDirectory( void ); - -int _glfwInstallEventHandlers( void ); - -//======================================================================== -// Prototypes for full-screen/desktop-window "virtual" functions -//======================================================================== - -int _glfwMacFSOpenWindow( int width, int height, int redbits, int greenbits, int bluebits, int alphabits, int depthbits, int stencilbits, int accumredbits, int accumgreenbits, int accumbluebits, int accumalphabits, int auxbuffers, int stereo, int refreshrate ); -void _glfwMacFSCloseWindow( void ); -void _glfwMacFSSetWindowTitle( const char *title ); -void _glfwMacFSSetWindowSize( int width, int height ); -void _glfwMacFSSetWindowPos( int x, int y ); -void _glfwMacFSIconifyWindow( void ); -void _glfwMacFSRestoreWindow( void ); -void _glfwMacFSRefreshWindowParams( void ); -void _glfwMacFSSetMouseCursorPos( int x, int y ); - -int _glfwMacDWOpenWindow( int width, int height, int redbits, int greenbits, int bluebits, int alphabits, int depthbits, int stencilbits, int accumredbits, int accumgreenbits, int accumbluebits, int accumalphabits, int auxbuffers, int stereo, int refreshrate ); -void _glfwMacDWCloseWindow( void ); -void _glfwMacDWSetWindowTitle( const char *title ); -void _glfwMacDWSetWindowSize( int width, int height ); -void _glfwMacDWSetWindowPos( int x, int y ); -void _glfwMacDWIconifyWindow( void ); -void _glfwMacDWRestoreWindow( void ); -void _glfwMacDWRefreshWindowParams( void ); -void _glfwMacDWSetMouseCursorPos( int x, int y ); - -#endif // _platform_h_ |