mirror of
				https://github.com/glfw/glfw.git
				synced 2025-11-04 14:16:42 +00:00 
			
		
		
		
	Internal header cleanup.
This commit is contained in:
		
							parent
							
								
									c85294e0b2
								
							
						
					
					
						commit
						f8d80a936f
					
				@ -54,14 +54,8 @@ typedef void* id;
 | 
			
		||||
#define _GLFW_PLATFORM_CURSOR_STATE         _GLFWcursorNS  ns
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific window structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Cocoa-specific per-window data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWwindowNS
 | 
			
		||||
{
 | 
			
		||||
    id              object;
 | 
			
		||||
@ -69,12 +63,12 @@ typedef struct _GLFWwindowNS
 | 
			
		||||
    id              view;
 | 
			
		||||
    unsigned int    modifierFlags;
 | 
			
		||||
    int             cursorInside;
 | 
			
		||||
 | 
			
		||||
} _GLFWwindowNS;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific library global data for Cocoa
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Cocoa-specific global data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWlibraryNS
 | 
			
		||||
{
 | 
			
		||||
    CGEventSourceRef eventSource;
 | 
			
		||||
@ -87,9 +81,8 @@ typedef struct _GLFWlibraryNS
 | 
			
		||||
} _GLFWlibraryNS;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific monitor structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Cocoa-specific per-monitor data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWmonitorNS
 | 
			
		||||
{
 | 
			
		||||
    CGDirectDisplayID   displayID;
 | 
			
		||||
@ -99,33 +92,27 @@ typedef struct _GLFWmonitorNS
 | 
			
		||||
} _GLFWmonitorNS;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific cursor structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Cocoa-specific per-cursor data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWcursorNS
 | 
			
		||||
{
 | 
			
		||||
    id                  object;
 | 
			
		||||
    id              object;
 | 
			
		||||
 | 
			
		||||
} _GLFWcursorNS;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific time structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Cocoa-specific global timer data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWtimeNS
 | 
			
		||||
{
 | 
			
		||||
        double      base;
 | 
			
		||||
        double      resolution;
 | 
			
		||||
    double          base;
 | 
			
		||||
    double          resolution;
 | 
			
		||||
 | 
			
		||||
} _GLFWtimeNS;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
// Time
 | 
			
		||||
void _glfwInitTimer(void);
 | 
			
		||||
 | 
			
		||||
// Fullscreen
 | 
			
		||||
GLboolean _glfwSetVideoMode(_GLFWmonitor* monitor, const GLFWvidmode* desired);
 | 
			
		||||
void _glfwRestoreVideoMode(_GLFWmonitor* monitor);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -45,13 +45,8 @@
 | 
			
		||||
#define _GLFW_PLATFORM_LIBRARY_CONTEXT_STATE    _GLFWlibraryEGL egl
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific OpenGL context structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// EGL-specific per-context data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWcontextEGL
 | 
			
		||||
{
 | 
			
		||||
   EGLConfig      config;
 | 
			
		||||
@ -61,12 +56,12 @@ typedef struct _GLFWcontextEGL
 | 
			
		||||
#if defined(_GLFW_X11)
 | 
			
		||||
   XVisualInfo*   visual;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
} _GLFWcontextEGL;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific library global data for EGL
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// EGL-specific global data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWlibraryEGL
 | 
			
		||||
{
 | 
			
		||||
    EGLDisplay      display;
 | 
			
		||||
@ -77,10 +72,6 @@ typedef struct _GLFWlibraryEGL
 | 
			
		||||
} _GLFWlibraryEGL;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
int _glfwInitContextAPI(void);
 | 
			
		||||
void _glfwTerminateContextAPI(void);
 | 
			
		||||
int _glfwCreateContext(_GLFWwindow* window,
 | 
			
		||||
 | 
			
		||||
@ -66,27 +66,22 @@ typedef int (*PFNGLXSWAPINTERVALMESAPROC)(int);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific OpenGL context structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// GLX-specific per-context data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWcontextGLX
 | 
			
		||||
{
 | 
			
		||||
    GLXContext      context; // OpenGL rendering context
 | 
			
		||||
    XVisualInfo*    visual;  // Visual for selected GLXFBConfig
 | 
			
		||||
    // Rendering context
 | 
			
		||||
    GLXContext      context;
 | 
			
		||||
    // Visual of selected GLXFBConfig
 | 
			
		||||
    XVisualInfo*    visual;
 | 
			
		||||
 | 
			
		||||
} _GLFWcontextGLX;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific library global data for GLX
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// GLX-specific global data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWlibraryGLX
 | 
			
		||||
{
 | 
			
		||||
    // Server-side GLX version
 | 
			
		||||
    int             versionMajor, versionMinor;
 | 
			
		||||
    int             eventBase;
 | 
			
		||||
    int             errorBase;
 | 
			
		||||
@ -108,15 +103,13 @@ typedef struct _GLFWlibraryGLX
 | 
			
		||||
    GLboolean       ARB_context_flush_control;
 | 
			
		||||
 | 
			
		||||
#if defined(_GLFW_DLOPEN_LIBGL)
 | 
			
		||||
    void*           libGL;  // dlopen handle for libGL.so
 | 
			
		||||
    // dlopen handle for libGL.so (for glfwGetProcAddress)
 | 
			
		||||
    void*           libGL;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
} _GLFWlibraryGLX;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
int _glfwInitContextAPI(void);
 | 
			
		||||
void _glfwTerminateContextAPI(void);
 | 
			
		||||
int _glfwCreateContext(_GLFWwindow* window,
 | 
			
		||||
 | 
			
		||||
@ -135,7 +135,7 @@ typedef struct _GLFWcursor      _GLFWcursor;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Internal types
 | 
			
		||||
// Platform-independent structures
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
/*! @brief Window configuration.
 | 
			
		||||
@ -298,7 +298,6 @@ struct _GLFWmonitor
 | 
			
		||||
 | 
			
		||||
/*! @brief Cursor structure
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
struct _GLFWcursor
 | 
			
		||||
{
 | 
			
		||||
    _GLFWcursor*    next;
 | 
			
		||||
@ -628,6 +627,7 @@ void _glfwPlatformDestroyCursor(_GLFWcursor* cursor);
 | 
			
		||||
 */
 | 
			
		||||
void _glfwPlatformSetCursor(_GLFWwindow* window, _GLFWcursor* cursor);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Event API functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
@ -36,13 +36,8 @@
 | 
			
		||||
    _GLFWjoystickIOKit iokit_js[GLFW_JOYSTICK_LAST + 1]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific joystick structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// IOKit-specific per-joystick data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWjoystickIOKit
 | 
			
		||||
{
 | 
			
		||||
    int             present;
 | 
			
		||||
@ -56,13 +51,10 @@ typedef struct _GLFWjoystickIOKit
 | 
			
		||||
 | 
			
		||||
    float*          axes;
 | 
			
		||||
    unsigned char*  buttons;
 | 
			
		||||
 | 
			
		||||
} _GLFWjoystickIOKit;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
void _glfwInitJoysticks(void);
 | 
			
		||||
void _glfwTerminateJoysticks(void);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -31,13 +31,8 @@
 | 
			
		||||
    _GLFWjoystickLinux linux_js[GLFW_JOYSTICK_LAST + 1]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific joystick structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Linux-specific per-joystick data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWjoystickLinux
 | 
			
		||||
{
 | 
			
		||||
    int             present;
 | 
			
		||||
@ -50,10 +45,6 @@ typedef struct _GLFWjoystickLinux
 | 
			
		||||
} _GLFWjoystickLinux;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
void _glfwInitJoysticks(void);
 | 
			
		||||
void _glfwTerminateJoysticks(void);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -32,35 +32,26 @@
 | 
			
		||||
#define _GLFW_PLATFORM_LIBRARY_CONTEXT_STATE    _GLFWlibraryNSGL nsgl
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific OpenGL context structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// NSGL-specific per-context data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWcontextNSGL
 | 
			
		||||
{
 | 
			
		||||
    id           pixelFormat;
 | 
			
		||||
    id	         context;
 | 
			
		||||
 | 
			
		||||
} _GLFWcontextNSGL;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific library global data for NSGL
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// NSGL-specific global data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWlibraryNSGL
 | 
			
		||||
{
 | 
			
		||||
    // dlopen handle for dynamically loading OpenGL extension entry points
 | 
			
		||||
    // dlopen handle for OpenGL.framework (for glfwGetProcAddress)
 | 
			
		||||
    void*           framework;
 | 
			
		||||
 | 
			
		||||
} _GLFWlibraryNSGL;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
int _glfwInitContextAPI(void);
 | 
			
		||||
void _glfwTerminateContextAPI(void);
 | 
			
		||||
int _glfwCreateContext(_GLFWwindow* window,
 | 
			
		||||
 | 
			
		||||
@ -32,6 +32,9 @@
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// POSIX-specific global timer data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWtimePOSIX
 | 
			
		||||
{
 | 
			
		||||
    GLboolean   monotonic;
 | 
			
		||||
@ -40,6 +43,7 @@ typedef struct _GLFWtimePOSIX
 | 
			
		||||
 | 
			
		||||
} _GLFWtimePOSIX;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void _glfwInitTimer(void);
 | 
			
		||||
 | 
			
		||||
#endif // _posix_time_h_
 | 
			
		||||
 | 
			
		||||
@ -33,10 +33,8 @@
 | 
			
		||||
#define _GLFW_PLATFORM_LIBRARY_TLS_STATE _GLFWtlsPOSIX posix_tls
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
// POSIX-specific global TLS data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWtlsPOSIX
 | 
			
		||||
{
 | 
			
		||||
    pthread_key_t   context;
 | 
			
		||||
@ -44,10 +42,6 @@ typedef struct _GLFWtlsPOSIX
 | 
			
		||||
} _GLFWtlsPOSIX;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
int _glfwInitTLS(void);
 | 
			
		||||
void _glfwTerminateTLS(void);
 | 
			
		||||
void _glfwSetCurrentContext(_GLFWwindow* context);
 | 
			
		||||
 | 
			
		||||
@ -38,20 +38,14 @@
 | 
			
		||||
#define _GLFW_PLATFORM_LIBRARY_CONTEXT_STATE    _GLFWlibraryWGL wgl
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific OpenGL context structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// WGL-specific per-context data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWcontextWGL
 | 
			
		||||
{
 | 
			
		||||
    // Platform specific window resources
 | 
			
		||||
    HDC       dc;              // Private GDI device context
 | 
			
		||||
    HGLRC     context;         // Permanent rendering context
 | 
			
		||||
 | 
			
		||||
    // Platform specific extensions (context specific)
 | 
			
		||||
    // WGL extensions (context specific)
 | 
			
		||||
    PFNWGLSWAPINTERVALEXTPROC           SwapIntervalEXT;
 | 
			
		||||
    PFNWGLGETPIXELFORMATATTRIBIVARBPROC GetPixelFormatAttribivARB;
 | 
			
		||||
    PFNWGLGETEXTENSIONSSTRINGEXTPROC    GetExtensionsStringEXT;
 | 
			
		||||
@ -66,15 +60,15 @@ typedef struct _GLFWcontextWGL
 | 
			
		||||
    GLboolean                           EXT_create_context_es2_profile;
 | 
			
		||||
    GLboolean                           ARB_create_context_robustness;
 | 
			
		||||
    GLboolean                           ARB_context_flush_control;
 | 
			
		||||
 | 
			
		||||
} _GLFWcontextWGL;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific library global data for WGL
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// WGL-specific global data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWlibraryWGL
 | 
			
		||||
{
 | 
			
		||||
    // opengl32.dll
 | 
			
		||||
    // opengl32.dll (for glfwGetProcAddress)
 | 
			
		||||
    struct {
 | 
			
		||||
        HINSTANCE   instance;
 | 
			
		||||
    } opengl32;
 | 
			
		||||
@ -82,10 +76,6 @@ typedef struct _GLFWlibraryWGL
 | 
			
		||||
} _GLFWlibraryWGL;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
int _glfwInitContextAPI(void);
 | 
			
		||||
void _glfwTerminateContextAPI(void);
 | 
			
		||||
int _glfwCreateContext(_GLFWwindow* window,
 | 
			
		||||
 | 
			
		||||
@ -72,9 +72,7 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Hack: Define things that some windows.h variants don't
 | 
			
		||||
//========================================================================
 | 
			
		||||
// HACK: Define macros that some older windows.h variants don't
 | 
			
		||||
 | 
			
		||||
#ifndef WM_MOUSEHWHEEL
 | 
			
		||||
 #define WM_MOUSEHWHEEL 0x020E
 | 
			
		||||
@ -105,10 +103,6 @@ typedef struct tagCHANGEFILTERSTRUCT
 | 
			
		||||
#endif /*Windows 7*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// DLLs that are loaded at glfwInit()
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
// winmm.dll function pointer typedefs
 | 
			
		||||
typedef MMRESULT (WINAPI * JOYGETDEVCAPS_T)(UINT,LPJOYCAPS,UINT);
 | 
			
		||||
typedef MMRESULT (WINAPI * JOYGETPOS_T)(UINT,LPJOYINFO);
 | 
			
		||||
@ -156,32 +150,24 @@ typedef HRESULT (WINAPI * DWMISCOMPOSITIONENABLED_T)(BOOL*);
 | 
			
		||||
#define _GLFW_PLATFORM_CURSOR_STATE         _GLFWcursorWin32  win32
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific window structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Win32-specific per-window data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWwindowWin32
 | 
			
		||||
{
 | 
			
		||||
    // Platform specific window resources
 | 
			
		||||
    HWND                handle;    // Window handle
 | 
			
		||||
    DWORD               dwStyle;   // Window styles used for window creation
 | 
			
		||||
    DWORD               dwExStyle; // --"--
 | 
			
		||||
    HWND                handle;
 | 
			
		||||
    DWORD               dwStyle;
 | 
			
		||||
    DWORD               dwExStyle;
 | 
			
		||||
 | 
			
		||||
    // Various platform specific internal variables
 | 
			
		||||
    GLboolean           cursorCentered;
 | 
			
		||||
    GLboolean           cursorInside;
 | 
			
		||||
    GLboolean           cursorHidden;
 | 
			
		||||
    int                 oldCursorX, oldCursorY;
 | 
			
		||||
 | 
			
		||||
} _GLFWwindowWin32;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific library global data for Win32
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Win32-specific global data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWlibraryWin32
 | 
			
		||||
{
 | 
			
		||||
    DWORD               foregroundLockTimeout;
 | 
			
		||||
@ -209,13 +195,11 @@ typedef struct _GLFWlibraryWin32
 | 
			
		||||
        DWMISCOMPOSITIONENABLED_T DwmIsCompositionEnabled;
 | 
			
		||||
    } dwmapi;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
} _GLFWlibraryWin32;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific monitor structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Win32-specific per-monitor data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWmonitorWin32
 | 
			
		||||
{
 | 
			
		||||
    // This size matches the static size of DISPLAY_DEVICE.DeviceName
 | 
			
		||||
@ -225,18 +209,17 @@ typedef struct _GLFWmonitorWin32
 | 
			
		||||
} _GLFWmonitorWin32;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific cursor structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Win32-specific per-cursor data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWcursorWin32
 | 
			
		||||
{
 | 
			
		||||
    HCURSOR handle;
 | 
			
		||||
 | 
			
		||||
} _GLFWcursorWin32;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific time structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Win32-specific global timer data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWtimeWin32
 | 
			
		||||
{
 | 
			
		||||
    GLboolean           hasPC;
 | 
			
		||||
@ -246,27 +229,17 @@ typedef struct _GLFWtimeWin32
 | 
			
		||||
} _GLFWtimeWin32;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
// Window class
 | 
			
		||||
GLboolean _glfwRegisterWindowClass(void);
 | 
			
		||||
void _glfwUnregisterWindowClass(void);
 | 
			
		||||
 | 
			
		||||
// Desktop compositing
 | 
			
		||||
BOOL _glfwIsCompositionEnabled(void);
 | 
			
		||||
 | 
			
		||||
// Wide strings
 | 
			
		||||
WCHAR* _glfwCreateWideStringFromUTF8(const char* source);
 | 
			
		||||
char* _glfwCreateUTF8FromWideString(const WCHAR* source);
 | 
			
		||||
 | 
			
		||||
// Time
 | 
			
		||||
void _glfwInitTimer(void);
 | 
			
		||||
 | 
			
		||||
// Fullscreen support
 | 
			
		||||
GLboolean _glfwSetVideoMode(_GLFWmonitor* monitor, const GLFWvidmode* desired);
 | 
			
		||||
void _glfwRestoreVideoMode(_GLFWmonitor* monitor);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif // _win32_platform_h_
 | 
			
		||||
 | 
			
		||||
@ -31,10 +31,8 @@
 | 
			
		||||
#define _GLFW_PLATFORM_LIBRARY_TLS_STATE _GLFWtlsWin32 win32_tls
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
// Win32-specific global TLS data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWtlsWin32
 | 
			
		||||
{
 | 
			
		||||
    GLboolean       allocated;
 | 
			
		||||
@ -43,10 +41,6 @@ typedef struct _GLFWtlsWin32
 | 
			
		||||
} _GLFWtlsWin32;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
int _glfwInitTLS(void);
 | 
			
		||||
void _glfwTerminateTLS(void);
 | 
			
		||||
void _glfwSetCurrentContext(_GLFWwindow* context);
 | 
			
		||||
 | 
			
		||||
@ -31,13 +31,8 @@
 | 
			
		||||
    _GLFWjoystickWinMM winmm_js[GLFW_JOYSTICK_LAST + 1]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific joystick structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// WinMM-specific per-joystick data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWjoystickWinMM
 | 
			
		||||
{
 | 
			
		||||
    float           axes[6];
 | 
			
		||||
@ -46,10 +41,6 @@ typedef struct _GLFWjoystickWinMM
 | 
			
		||||
} _GLFWjoystickWinMM;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
void _glfwInitJoysticks(void);
 | 
			
		||||
void _glfwTerminateJoysticks(void);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -50,8 +50,13 @@
 | 
			
		||||
#define _GLFW_PLATFORM_CURSOR_STATE         _GLFWcursorWayland  wl
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Wayland-specific video mode data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWvidmodeWayland _GLFWvidmodeWayland;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Wayland-specific per-window data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWwindowWayland
 | 
			
		||||
{
 | 
			
		||||
    int                         width, height;
 | 
			
		||||
@ -61,8 +66,12 @@ typedef struct _GLFWwindowWayland
 | 
			
		||||
    struct wl_shell_surface*    shell_surface;
 | 
			
		||||
    EGLSurface                  egl_surface;
 | 
			
		||||
    struct wl_callback*         callback;
 | 
			
		||||
 | 
			
		||||
} _GLFWwindowWayland;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Wayland-specific global data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWlibraryWayland
 | 
			
		||||
{
 | 
			
		||||
    struct wl_display*          display;
 | 
			
		||||
@ -90,8 +99,12 @@ typedef struct _GLFWlibraryWayland
 | 
			
		||||
 | 
			
		||||
    _GLFWwindow*                pointerFocus;
 | 
			
		||||
    _GLFWwindow*                keyboardFocus;
 | 
			
		||||
 | 
			
		||||
} _GLFWlibraryWayland;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Wayland-specific per-monitor data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWmonitorWayland
 | 
			
		||||
{
 | 
			
		||||
    struct wl_output*           output;
 | 
			
		||||
@ -103,18 +116,19 @@ typedef struct _GLFWmonitorWayland
 | 
			
		||||
 | 
			
		||||
    int                         x;
 | 
			
		||||
    int                         y;
 | 
			
		||||
 | 
			
		||||
} _GLFWmonitorWayland;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Wayland-specific per-cursor data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWcursorWayland
 | 
			
		||||
{
 | 
			
		||||
    int                         dummy;
 | 
			
		||||
 | 
			
		||||
} _GLFWcursorWayland;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
void _glfwAddOutput(uint32_t name, uint32_t version);
 | 
			
		||||
 | 
			
		||||
#endif // _wayland_platform_h_
 | 
			
		||||
 | 
			
		||||
@ -618,7 +618,7 @@ static int errorHandler(Display *display, XErrorEvent* event)
 | 
			
		||||
//////                       GLFW internal API                      //////
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
// Install the X error handler
 | 
			
		||||
// Sets the X error handler callback
 | 
			
		||||
//
 | 
			
		||||
void _glfwGrabXErrorHandler(void)
 | 
			
		||||
{
 | 
			
		||||
@ -626,7 +626,7 @@ void _glfwGrabXErrorHandler(void)
 | 
			
		||||
    XSetErrorHandler(errorHandler);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Remove the X error handler
 | 
			
		||||
// Clears the X error handler callback
 | 
			
		||||
//
 | 
			
		||||
void _glfwReleaseXErrorHandler(void)
 | 
			
		||||
{
 | 
			
		||||
@ -635,7 +635,7 @@ void _glfwReleaseXErrorHandler(void)
 | 
			
		||||
    XSetErrorHandler(NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Report X error
 | 
			
		||||
// Reports the specified error, appending information about the last X error
 | 
			
		||||
//
 | 
			
		||||
void _glfwInputXError(int error, const char* message)
 | 
			
		||||
{
 | 
			
		||||
@ -646,7 +646,7 @@ void _glfwInputXError(int error, const char* message)
 | 
			
		||||
    _glfwInputError(error, "%s: %s", message, buffer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Create a cursor object
 | 
			
		||||
// Creates a native cursor object from the specified image and hotspot
 | 
			
		||||
//
 | 
			
		||||
Cursor _glfwCreateCursor(const GLFWimage* image, int xhot, int yhot)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -72,22 +72,14 @@
 | 
			
		||||
#define _GLFW_PLATFORM_CURSOR_STATE         _GLFWcursorX11  x11
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// GLFW platform specific types
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific window structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// X11-specific per-window data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWwindowX11
 | 
			
		||||
{
 | 
			
		||||
    // Platform specific window resources
 | 
			
		||||
    Colormap        colormap;          // Window colormap
 | 
			
		||||
    Window          handle;            // Window handle
 | 
			
		||||
    Colormap        colormap;
 | 
			
		||||
    Window          handle;
 | 
			
		||||
 | 
			
		||||
    // Various platform specific internal variables
 | 
			
		||||
    GLboolean       overrideRedirect; // True if window is OverrideRedirect
 | 
			
		||||
    GLboolean       overrideRedirect;
 | 
			
		||||
 | 
			
		||||
    // Cached position and size used to filter out duplicate events
 | 
			
		||||
    int             width, height;
 | 
			
		||||
@ -101,9 +93,8 @@ typedef struct _GLFWwindowX11
 | 
			
		||||
} _GLFWwindowX11;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific library global data for X11
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// X11-specific global data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWlibraryX11
 | 
			
		||||
{
 | 
			
		||||
    Display*        display;
 | 
			
		||||
@ -214,9 +205,8 @@ typedef struct _GLFWlibraryX11
 | 
			
		||||
} _GLFWlibraryX11;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific monitor structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// X11-specific per-monitor data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWmonitorX11
 | 
			
		||||
{
 | 
			
		||||
    RROutput        output;
 | 
			
		||||
@ -226,41 +216,30 @@ typedef struct _GLFWmonitorX11
 | 
			
		||||
} _GLFWmonitorX11;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// Platform-specific cursor structure
 | 
			
		||||
//------------------------------------------------------------------------
 | 
			
		||||
// X11-specific per-cursor data
 | 
			
		||||
//
 | 
			
		||||
typedef struct _GLFWcursorX11
 | 
			
		||||
{
 | 
			
		||||
    Cursor handle;
 | 
			
		||||
 | 
			
		||||
} _GLFWcursorX11;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
// Prototypes for platform specific internal functions
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
// Gamma
 | 
			
		||||
void _glfwInitGammaRamp(void);
 | 
			
		||||
 | 
			
		||||
// Fullscreen support
 | 
			
		||||
GLboolean _glfwSetVideoMode(_GLFWmonitor* monitor, const GLFWvidmode* desired);
 | 
			
		||||
void _glfwRestoreVideoMode(_GLFWmonitor* monitor);
 | 
			
		||||
 | 
			
		||||
// Clipboard handling
 | 
			
		||||
void _glfwHandleSelectionClear(XEvent* event);
 | 
			
		||||
void _glfwHandleSelectionRequest(XEvent* event);
 | 
			
		||||
void _glfwPushSelectionToManager(_GLFWwindow* window);
 | 
			
		||||
 | 
			
		||||
Cursor _glfwCreateCursor(const GLFWimage* image, int xhot, int yhot);
 | 
			
		||||
 | 
			
		||||
// Window support
 | 
			
		||||
_GLFWwindow* _glfwFindWindowByHandle(Window handle);
 | 
			
		||||
unsigned long _glfwGetWindowProperty(Window window,
 | 
			
		||||
                                     Atom property,
 | 
			
		||||
                                     Atom type,
 | 
			
		||||
                                     unsigned char** value);
 | 
			
		||||
 | 
			
		||||
// X11 error handler
 | 
			
		||||
void _glfwGrabXErrorHandler(void);
 | 
			
		||||
void _glfwReleaseXErrorHandler(void);
 | 
			
		||||
void _glfwInputXError(int error, const char* message);
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,7 @@
 | 
			
		||||
#ifndef _xkb_unicode_h_
 | 
			
		||||
#define _xkb_unicode_h_
 | 
			
		||||
 | 
			
		||||
// Unicode support
 | 
			
		||||
 | 
			
		||||
long _glfwKeySym2Unicode(unsigned int keysym);
 | 
			
		||||
 | 
			
		||||
#endif // _xkb_unicode_h_
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user