misc/winutils/include/GL/glut.h
author sheepluva
Sun, 30 Nov 2014 22:48:28 +0100
changeset 10594 7a61f321f399
parent 10017 de822cd3df3a
permissions -rw-r--r--
oops, fix logging. had = instead of <> in an error check
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     1
#ifndef __glut_h__
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     2
#define __glut_h__
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     3
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     4
/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     5
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     6
/* This program is freely distributable without licensing fees  and is
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     7
   provided without guarantee or warrantee expressed or  implied. This
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     8
   program is -not- in the public domain. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
     9
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    10
#if defined(_WIN32)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    11
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    12
/* GLUT 3.7 now tries to avoid including <windows.h>
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    13
   to avoid name space pollution, but Win32's <GL/gl.h>
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    14
   needs APIENTRY and WINGDIAPI defined properly. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    15
# if 0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    16
   /* This would put tons of macros and crap in our clean name space. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    17
#  define  WIN32_LEAN_AND_MEAN
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    18
#  include <windows.h>
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    19
# else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    20
   /* XXX This is from Win32's <windef.h> */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    21
#  ifndef APIENTRY
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    22
#   define GLUT_APIENTRY_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    23
#   if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    24
#    define APIENTRY    __stdcall
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    25
#   else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    26
#    define APIENTRY
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    27
#   endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    28
#  endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    29
   /* XXX This is from Win32's <winnt.h> */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    30
#  ifndef CALLBACK
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    31
#   if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) || defined(__LCC__)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    32
#    define CALLBACK __stdcall
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    33
#   else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    34
#    define CALLBACK
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    35
#   endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    36
#  endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    37
   /* XXX Hack for lcc compiler.  It doesn't support __declspec(dllimport), just __stdcall. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    38
#  if defined( __LCC__ )
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    39
#   undef WINGDIAPI
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    40
#   define WINGDIAPI __stdcall
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    41
#  else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    42
   /* XXX This is from Win32's <wingdi.h> and <winnt.h> */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    43
#   ifndef WINGDIAPI
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    44
#    define GLUT_WINGDIAPI_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    45
#    define WINGDIAPI __declspec(dllimport)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    46
#   endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    47
#  endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    48
   /* XXX This is from Win32's <ctype.h> */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    49
#  ifndef _WCHAR_T_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    50
typedef unsigned short wchar_t;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    51
#   define _WCHAR_T_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    52
#  endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    53
# endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    54
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    55
/* To disable automatic library usage for GLUT, define GLUT_NO_LIB_PRAGMA
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    56
   in your compile preprocessor options. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    57
# if !defined(GLUT_BUILDING_LIB) && !defined(GLUT_NO_LIB_PRAGMA)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    58
#  pragma comment (lib, "winmm.lib")      /* link with Windows MultiMedia lib */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    59
/* To enable automatic SGI OpenGL for Windows library usage for GLUT,
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    60
   define GLUT_USE_SGI_OPENGL in your compile preprocessor options.  */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    61
#  ifdef GLUT_USE_SGI_OPENGL
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    62
#   pragma comment (lib, "opengl.lib")    /* link with SGI OpenGL for Windows lib */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    63
#   pragma comment (lib, "glu.lib")       /* link with SGI OpenGL Utility lib */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    64
#   pragma comment (lib, "glut.lib")      /* link with Win32 GLUT for SGI OpenGL lib */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    65
#  else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    66
#   pragma comment (lib, "opengl32.lib")  /* link with Microsoft OpenGL lib */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    67
#   pragma comment (lib, "glu32.lib")     /* link with Microsoft OpenGL Utility lib */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    68
#   pragma comment (lib, "glut32.lib")    /* link with Win32 GLUT lib */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    69
#  endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    70
# endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    71
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    72
/* To disable supression of annoying warnings about floats being promoted
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    73
   to doubles, define GLUT_NO_WARNING_DISABLE in your compile preprocessor
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    74
   options. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    75
# ifndef GLUT_NO_WARNING_DISABLE
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    76
#  pragma warning (disable:4244)  /* Disable bogus VC++ 4.2 conversion warnings. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    77
#  pragma warning (disable:4305)  /* VC++ 5.0 version of above warning. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    78
# endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    79
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    80
/* Win32 has an annoying issue where there are multiple C run-time
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    81
   libraries (CRTs).  If the executable is linked with a different CRT
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    82
   from the GLUT DLL, the GLUT DLL will not share the same CRT static
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    83
   data seen by the executable.  In particular, atexit callbacks registered
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    84
   in the executable will not be called if GLUT calls its (different)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    85
   exit routine).  GLUT is typically built with the
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    86
   "/MD" option (the CRT with multithreading DLL support), but the Visual
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    87
   C++ linker default is "/ML" (the single threaded CRT).
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    88
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    89
   One workaround to this issue is requiring users to always link with
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    90
   the same CRT as GLUT is compiled with.  That requires users supply a
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    91
   non-standard option.  GLUT 3.7 has its own built-in workaround where
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    92
   the executable's "exit" function pointer is covertly passed to GLUT.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    93
   GLUT then calls the executable's exit function pointer to ensure that
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    94
   any "atexit" calls registered by the application are called if GLUT
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    95
   needs to exit.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    96
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    97
   Note that the __glut*WithExit routines should NEVER be called directly.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    98
   To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
    99
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   100
/* XXX This is from Win32's <process.h> */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   101
# if !defined(_MSC_VER) && !defined(__cdecl)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   102
   /* Define __cdecl for non-Microsoft compilers. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   103
#  define __cdecl
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   104
#  define GLUT_DEFINED___CDECL
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   105
# endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   106
# ifndef _CRTIMP
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   107
#  ifdef _NTSDK
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   108
    /* Definition compatible with NT SDK */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   109
#   define _CRTIMP
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   110
#  else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   111
    /* Current definition */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   112
#   ifdef _DLL
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   113
#    define _CRTIMP __declspec(dllimport)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   114
#   else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   115
#    define _CRTIMP
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   116
#   endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   117
#  endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   118
#  define GLUT_DEFINED__CRTIMP
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   119
# endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   120
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   121
/* GLUT API entry point declarations for Win32. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   122
# ifdef GLUT_BUILDING_LIB
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   123
#  define GLUTAPI __declspec(dllexport)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   124
# else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   125
#  ifdef _DLL
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   126
#   define GLUTAPI __declspec(dllimport)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   127
#  else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   128
#   define GLUTAPI extern
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   129
#  endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   130
# endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   131
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   132
/* GLUT callback calling convention for Win32. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   133
# define GLUTCALLBACK __cdecl
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   134
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   135
#endif  /* _WIN32 */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   136
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   137
#include <GL/gl.h>
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   138
#include <GL/glu.h>
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   139
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   140
#ifdef __cplusplus
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   141
extern "C" {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   142
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   143
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   144
#if defined(_WIN32)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   145
# ifndef GLUT_BUILDING_LIB
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   146
extern _CRTIMP void __cdecl exit(int);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   147
# endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   148
#else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   149
/* non-Win32 case. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   150
/* Define APIENTRY and CALLBACK to nothing if we aren't on Win32. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   151
# define APIENTRY
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   152
# define GLUT_APIENTRY_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   153
# define CALLBACK
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   154
/* Define GLUTAPI and GLUTCALLBACK as below if we aren't on Win32. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   155
# define GLUTAPI extern
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   156
# define GLUTCALLBACK
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   157
/* Prototype exit for the non-Win32 case (see above). */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   158
extern void exit(int);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   159
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   160
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   161
/**
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   162
 GLUT API revision history:
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   163
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   164
 GLUT_API_VERSION is updated to reflect incompatible GLUT
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   165
 API changes (interface changes, semantic changes, deletions,
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   166
 or additions).
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   167
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   168
 GLUT_API_VERSION=1  First public release of GLUT.  11/29/94
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   169
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   170
 GLUT_API_VERSION=2  Added support for OpenGL/GLX multisampling,
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   171
 extension.  Supports new input devices like tablet, dial and button
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   172
 box, and Spaceball.  Easy to query OpenGL extensions.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   173
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   174
 GLUT_API_VERSION=3  glutMenuStatus added.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   175
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   176
 GLUT_API_VERSION=4  glutInitDisplayString, glutWarpPointer,
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   177
 glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   178
 video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   179
 glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   180
 glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!).
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   181
**/
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   182
#ifndef GLUT_API_VERSION  /* allow this to be overriden */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   183
#define GLUT_API_VERSION        3
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   184
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   185
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   186
/**
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   187
 GLUT implementation revision history:
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   188
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   189
 GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   190
 API revisions and implementation revisions (ie, bug fixes).
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   191
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   192
 GLUT_XLIB_IMPLEMENTATION=1  mjk's first public release of
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   193
 GLUT Xlib-based implementation.  11/29/94
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   194
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   195
 GLUT_XLIB_IMPLEMENTATION=2  mjk's second public release of
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   196
 GLUT Xlib-based implementation providing GLUT version 2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   197
 interfaces.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   198
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   199
 GLUT_XLIB_IMPLEMENTATION=3  mjk's GLUT 2.2 images. 4/17/95
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   200
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   201
 GLUT_XLIB_IMPLEMENTATION=4  mjk's GLUT 2.3 images. 6/?/95
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   202
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   203
 GLUT_XLIB_IMPLEMENTATION=5  mjk's GLUT 3.0 images. 10/?/95
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   204
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   205
 GLUT_XLIB_IMPLEMENTATION=7  mjk's GLUT 3.1+ with glutWarpPoitner.  7/24/96
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   206
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   207
 GLUT_XLIB_IMPLEMENTATION=8  mjk's GLUT 3.1+ with glutWarpPoitner
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   208
 and video resize.  1/3/97
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   209
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   210
 GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   211
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   212
 GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   213
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   214
 GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   215
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   216
 GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   217
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   218
 GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   219
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   220
 GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa <GL/glut.h>
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   221
**/
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   222
#ifndef GLUT_XLIB_IMPLEMENTATION  /* Allow this to be overriden. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   223
#define GLUT_XLIB_IMPLEMENTATION    15
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   224
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   225
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   226
/* Display mode bit masks. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   227
#define GLUT_RGB            0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   228
#define GLUT_RGBA           GLUT_RGB
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   229
#define GLUT_INDEX          1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   230
#define GLUT_SINGLE         0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   231
#define GLUT_DOUBLE         2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   232
#define GLUT_ACCUM          4
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   233
#define GLUT_ALPHA          8
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   234
#define GLUT_DEPTH          16
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   235
#define GLUT_STENCIL            32
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   236
#if (GLUT_API_VERSION >= 2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   237
#define GLUT_MULTISAMPLE        128
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   238
#define GLUT_STEREO         256
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   239
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   240
#if (GLUT_API_VERSION >= 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   241
#define GLUT_LUMINANCE          512
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   242
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   243
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   244
/* Mouse buttons. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   245
#define GLUT_LEFT_BUTTON        0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   246
#define GLUT_MIDDLE_BUTTON      1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   247
#define GLUT_RIGHT_BUTTON       2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   248
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   249
/* Mouse button  state. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   250
#define GLUT_DOWN           0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   251
#define GLUT_UP             1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   252
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   253
#if (GLUT_API_VERSION >= 2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   254
/* function keys */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   255
#define GLUT_KEY_F1         1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   256
#define GLUT_KEY_F2         2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   257
#define GLUT_KEY_F3         3
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   258
#define GLUT_KEY_F4         4
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   259
#define GLUT_KEY_F5         5
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   260
#define GLUT_KEY_F6         6
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   261
#define GLUT_KEY_F7         7
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   262
#define GLUT_KEY_F8         8
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   263
#define GLUT_KEY_F9         9
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   264
#define GLUT_KEY_F10            10
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   265
#define GLUT_KEY_F11            11
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   266
#define GLUT_KEY_F12            12
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   267
/* directional keys */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   268
#define GLUT_KEY_LEFT           100
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   269
#define GLUT_KEY_UP         101
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   270
#define GLUT_KEY_RIGHT          102
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   271
#define GLUT_KEY_DOWN           103
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   272
#define GLUT_KEY_PAGE_UP        104
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   273
#define GLUT_KEY_PAGE_DOWN      105
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   274
#define GLUT_KEY_HOME           106
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   275
#define GLUT_KEY_END            107
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   276
#define GLUT_KEY_INSERT         108
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   277
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   278
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   279
/* Entry/exit  state. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   280
#define GLUT_LEFT           0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   281
#define GLUT_ENTERED            1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   282
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   283
/* Menu usage  state. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   284
#define GLUT_MENU_NOT_IN_USE        0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   285
#define GLUT_MENU_IN_USE        1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   286
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   287
/* Visibility  state. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   288
#define GLUT_NOT_VISIBLE        0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   289
#define GLUT_VISIBLE            1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   290
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   291
/* Window status  state. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   292
#define GLUT_HIDDEN         0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   293
#define GLUT_FULLY_RETAINED     1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   294
#define GLUT_PARTIALLY_RETAINED     2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   295
#define GLUT_FULLY_COVERED      3
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   296
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   297
/* Color index component selection values. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   298
#define GLUT_RED            0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   299
#define GLUT_GREEN          1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   300
#define GLUT_BLUE           2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   301
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   302
#if defined(_WIN32)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   303
/* Stroke font constants (use these in GLUT program). */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   304
#define GLUT_STROKE_ROMAN       ((void*)0)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   305
#define GLUT_STROKE_MONO_ROMAN      ((void*)1)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   306
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   307
/* Bitmap font constants (use these in GLUT program). */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   308
#define GLUT_BITMAP_9_BY_15     ((void*)2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   309
#define GLUT_BITMAP_8_BY_13     ((void*)3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   310
#define GLUT_BITMAP_TIMES_ROMAN_10  ((void*)4)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   311
#define GLUT_BITMAP_TIMES_ROMAN_24  ((void*)5)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   312
#if (GLUT_API_VERSION >= 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   313
#define GLUT_BITMAP_HELVETICA_10    ((void*)6)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   314
#define GLUT_BITMAP_HELVETICA_12    ((void*)7)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   315
#define GLUT_BITMAP_HELVETICA_18    ((void*)8)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   316
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   317
#else
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   318
/* Stroke font opaque addresses (use constants instead in source code). */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   319
GLUTAPI void *glutStrokeRoman;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   320
GLUTAPI void *glutStrokeMonoRoman;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   321
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   322
/* Stroke font constants (use these in GLUT program). */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   323
#define GLUT_STROKE_ROMAN       (&glutStrokeRoman)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   324
#define GLUT_STROKE_MONO_ROMAN      (&glutStrokeMonoRoman)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   325
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   326
/* Bitmap font opaque addresses (use constants instead in source code). */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   327
GLUTAPI void *glutBitmap9By15;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   328
GLUTAPI void *glutBitmap8By13;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   329
GLUTAPI void *glutBitmapTimesRoman10;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   330
GLUTAPI void *glutBitmapTimesRoman24;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   331
GLUTAPI void *glutBitmapHelvetica10;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   332
GLUTAPI void *glutBitmapHelvetica12;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   333
GLUTAPI void *glutBitmapHelvetica18;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   334
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   335
/* Bitmap font constants (use these in GLUT program). */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   336
#define GLUT_BITMAP_9_BY_15     (&glutBitmap9By15)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   337
#define GLUT_BITMAP_8_BY_13     (&glutBitmap8By13)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   338
#define GLUT_BITMAP_TIMES_ROMAN_10  (&glutBitmapTimesRoman10)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   339
#define GLUT_BITMAP_TIMES_ROMAN_24  (&glutBitmapTimesRoman24)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   340
#if (GLUT_API_VERSION >= 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   341
#define GLUT_BITMAP_HELVETICA_10    (&glutBitmapHelvetica10)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   342
#define GLUT_BITMAP_HELVETICA_12    (&glutBitmapHelvetica12)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   343
#define GLUT_BITMAP_HELVETICA_18    (&glutBitmapHelvetica18)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   344
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   345
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   346
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   347
/* glutGet parameters. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   348
#define GLUT_WINDOW_X           ((GLenum) 100)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   349
#define GLUT_WINDOW_Y           ((GLenum) 101)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   350
#define GLUT_WINDOW_WIDTH       ((GLenum) 102)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   351
#define GLUT_WINDOW_HEIGHT      ((GLenum) 103)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   352
#define GLUT_WINDOW_BUFFER_SIZE     ((GLenum) 104)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   353
#define GLUT_WINDOW_STENCIL_SIZE    ((GLenum) 105)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   354
#define GLUT_WINDOW_DEPTH_SIZE      ((GLenum) 106)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   355
#define GLUT_WINDOW_RED_SIZE        ((GLenum) 107)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   356
#define GLUT_WINDOW_GREEN_SIZE      ((GLenum) 108)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   357
#define GLUT_WINDOW_BLUE_SIZE       ((GLenum) 109)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   358
#define GLUT_WINDOW_ALPHA_SIZE      ((GLenum) 110)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   359
#define GLUT_WINDOW_ACCUM_RED_SIZE  ((GLenum) 111)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   360
#define GLUT_WINDOW_ACCUM_GREEN_SIZE    ((GLenum) 112)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   361
#define GLUT_WINDOW_ACCUM_BLUE_SIZE ((GLenum) 113)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   362
#define GLUT_WINDOW_ACCUM_ALPHA_SIZE    ((GLenum) 114)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   363
#define GLUT_WINDOW_DOUBLEBUFFER    ((GLenum) 115)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   364
#define GLUT_WINDOW_RGBA        ((GLenum) 116)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   365
#define GLUT_WINDOW_PARENT      ((GLenum) 117)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   366
#define GLUT_WINDOW_NUM_CHILDREN    ((GLenum) 118)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   367
#define GLUT_WINDOW_COLORMAP_SIZE   ((GLenum) 119)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   368
#if (GLUT_API_VERSION >= 2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   369
#define GLUT_WINDOW_NUM_SAMPLES     ((GLenum) 120)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   370
#define GLUT_WINDOW_STEREO      ((GLenum) 121)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   371
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   372
#if (GLUT_API_VERSION >= 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   373
#define GLUT_WINDOW_CURSOR      ((GLenum) 122)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   374
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   375
#define GLUT_SCREEN_WIDTH       ((GLenum) 200)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   376
#define GLUT_SCREEN_HEIGHT      ((GLenum) 201)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   377
#define GLUT_SCREEN_WIDTH_MM        ((GLenum) 202)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   378
#define GLUT_SCREEN_HEIGHT_MM       ((GLenum) 203)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   379
#define GLUT_MENU_NUM_ITEMS     ((GLenum) 300)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   380
#define GLUT_DISPLAY_MODE_POSSIBLE  ((GLenum) 400)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   381
#define GLUT_INIT_WINDOW_X      ((GLenum) 500)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   382
#define GLUT_INIT_WINDOW_Y      ((GLenum) 501)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   383
#define GLUT_INIT_WINDOW_WIDTH      ((GLenum) 502)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   384
#define GLUT_INIT_WINDOW_HEIGHT     ((GLenum) 503)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   385
#define GLUT_INIT_DISPLAY_MODE      ((GLenum) 504)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   386
#if (GLUT_API_VERSION >= 2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   387
#define GLUT_ELAPSED_TIME       ((GLenum) 700)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   388
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   389
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   390
#define GLUT_WINDOW_FORMAT_ID       ((GLenum) 123)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   391
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   392
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   393
#if (GLUT_API_VERSION >= 2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   394
/* glutDeviceGet parameters. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   395
#define GLUT_HAS_KEYBOARD       ((GLenum) 600)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   396
#define GLUT_HAS_MOUSE          ((GLenum) 601)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   397
#define GLUT_HAS_SPACEBALL      ((GLenum) 602)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   398
#define GLUT_HAS_DIAL_AND_BUTTON_BOX    ((GLenum) 603)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   399
#define GLUT_HAS_TABLET         ((GLenum) 604)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   400
#define GLUT_NUM_MOUSE_BUTTONS      ((GLenum) 605)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   401
#define GLUT_NUM_SPACEBALL_BUTTONS  ((GLenum) 606)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   402
#define GLUT_NUM_BUTTON_BOX_BUTTONS ((GLenum) 607)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   403
#define GLUT_NUM_DIALS          ((GLenum) 608)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   404
#define GLUT_NUM_TABLET_BUTTONS     ((GLenum) 609)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   405
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   406
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   407
#define GLUT_DEVICE_IGNORE_KEY_REPEAT   ((GLenum) 610)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   408
#define GLUT_DEVICE_KEY_REPEAT          ((GLenum) 611)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   409
#define GLUT_HAS_JOYSTICK       ((GLenum) 612)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   410
#define GLUT_OWNS_JOYSTICK      ((GLenum) 613)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   411
#define GLUT_JOYSTICK_BUTTONS       ((GLenum) 614)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   412
#define GLUT_JOYSTICK_AXES      ((GLenum) 615)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   413
#define GLUT_JOYSTICK_POLL_RATE     ((GLenum) 616)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   414
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   415
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   416
#if (GLUT_API_VERSION >= 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   417
/* glutLayerGet parameters. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   418
#define GLUT_OVERLAY_POSSIBLE           ((GLenum) 800)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   419
#define GLUT_LAYER_IN_USE       ((GLenum) 801)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   420
#define GLUT_HAS_OVERLAY        ((GLenum) 802)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   421
#define GLUT_TRANSPARENT_INDEX      ((GLenum) 803)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   422
#define GLUT_NORMAL_DAMAGED     ((GLenum) 804)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   423
#define GLUT_OVERLAY_DAMAGED        ((GLenum) 805)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   424
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   425
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   426
/* glutVideoResizeGet parameters. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   427
#define GLUT_VIDEO_RESIZE_POSSIBLE  ((GLenum) 900)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   428
#define GLUT_VIDEO_RESIZE_IN_USE    ((GLenum) 901)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   429
#define GLUT_VIDEO_RESIZE_X_DELTA   ((GLenum) 902)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   430
#define GLUT_VIDEO_RESIZE_Y_DELTA   ((GLenum) 903)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   431
#define GLUT_VIDEO_RESIZE_WIDTH_DELTA   ((GLenum) 904)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   432
#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA  ((GLenum) 905)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   433
#define GLUT_VIDEO_RESIZE_X     ((GLenum) 906)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   434
#define GLUT_VIDEO_RESIZE_Y     ((GLenum) 907)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   435
#define GLUT_VIDEO_RESIZE_WIDTH     ((GLenum) 908)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   436
#define GLUT_VIDEO_RESIZE_HEIGHT    ((GLenum) 909)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   437
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   438
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   439
/* glutUseLayer parameters. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   440
#define GLUT_NORMAL         ((GLenum) 0)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   441
#define GLUT_OVERLAY            ((GLenum) 1)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   442
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   443
/* glutGetModifiers return mask. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   444
#define GLUT_ACTIVE_SHIFT               1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   445
#define GLUT_ACTIVE_CTRL                2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   446
#define GLUT_ACTIVE_ALT                 4
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   447
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   448
/* glutSetCursor parameters. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   449
/* Basic arrows. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   450
#define GLUT_CURSOR_RIGHT_ARROW     0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   451
#define GLUT_CURSOR_LEFT_ARROW      1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   452
/* Symbolic cursor shapes. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   453
#define GLUT_CURSOR_INFO        2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   454
#define GLUT_CURSOR_DESTROY     3
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   455
#define GLUT_CURSOR_HELP        4
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   456
#define GLUT_CURSOR_CYCLE       5
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   457
#define GLUT_CURSOR_SPRAY       6
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   458
#define GLUT_CURSOR_WAIT        7
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   459
#define GLUT_CURSOR_TEXT        8
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   460
#define GLUT_CURSOR_CROSSHAIR       9
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   461
/* Directional cursors. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   462
#define GLUT_CURSOR_UP_DOWN     10
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   463
#define GLUT_CURSOR_LEFT_RIGHT      11
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   464
/* Sizing cursors. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   465
#define GLUT_CURSOR_TOP_SIDE        12
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   466
#define GLUT_CURSOR_BOTTOM_SIDE     13
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   467
#define GLUT_CURSOR_LEFT_SIDE       14
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   468
#define GLUT_CURSOR_RIGHT_SIDE      15
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   469
#define GLUT_CURSOR_TOP_LEFT_CORNER 16
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   470
#define GLUT_CURSOR_TOP_RIGHT_CORNER    17
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   471
#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   472
#define GLUT_CURSOR_BOTTOM_LEFT_CORNER  19
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   473
/* Inherit from parent window. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   474
#define GLUT_CURSOR_INHERIT     100
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   475
/* Blank cursor. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   476
#define GLUT_CURSOR_NONE        101
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   477
/* Fullscreen crosshair (if available). */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   478
#define GLUT_CURSOR_FULL_CROSSHAIR  102
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   479
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   480
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   481
/* GLUT initialization sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   482
GLUTAPI void APIENTRY glutInit(int *argcp, char **argv);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   483
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   484
GLUTAPI void APIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   485
#ifndef GLUT_BUILDING_LIB
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   486
static void APIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); }
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   487
#define glutInit glutInit_ATEXIT_HACK
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   488
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   489
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   490
GLUTAPI void APIENTRY glutInitDisplayMode(unsigned int mode);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   491
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   492
GLUTAPI void APIENTRY glutInitDisplayString(const char *string);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   493
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   494
GLUTAPI void APIENTRY glutInitWindowPosition(int x, int y);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   495
GLUTAPI void APIENTRY glutInitWindowSize(int width, int height);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   496
GLUTAPI void APIENTRY glutMainLoop(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   497
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   498
/* GLUT window sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   499
GLUTAPI int APIENTRY glutCreateWindow(const char *title);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   500
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   501
GLUTAPI int APIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   502
#ifndef GLUT_BUILDING_LIB
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   503
static int APIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); }
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   504
#define glutCreateWindow glutCreateWindow_ATEXIT_HACK
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   505
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   506
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   507
GLUTAPI int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   508
GLUTAPI void APIENTRY glutDestroyWindow(int win);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   509
GLUTAPI void APIENTRY glutPostRedisplay(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   510
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   511
GLUTAPI void APIENTRY glutPostWindowRedisplay(int win);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   512
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   513
GLUTAPI void APIENTRY glutSwapBuffers(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   514
GLUTAPI int APIENTRY glutGetWindow(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   515
GLUTAPI void APIENTRY glutSetWindow(int win);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   516
GLUTAPI void APIENTRY glutSetWindowTitle(const char *title);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   517
GLUTAPI void APIENTRY glutSetIconTitle(const char *title);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   518
GLUTAPI void APIENTRY glutPositionWindow(int x, int y);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   519
GLUTAPI void APIENTRY glutReshapeWindow(int width, int height);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   520
GLUTAPI void APIENTRY glutPopWindow(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   521
GLUTAPI void APIENTRY glutPushWindow(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   522
GLUTAPI void APIENTRY glutIconifyWindow(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   523
GLUTAPI void APIENTRY glutShowWindow(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   524
GLUTAPI void APIENTRY glutHideWindow(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   525
#if (GLUT_API_VERSION >= 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   526
GLUTAPI void APIENTRY glutFullScreen(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   527
GLUTAPI void APIENTRY glutSetCursor(int cursor);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   528
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   529
GLUTAPI void APIENTRY glutWarpPointer(int x, int y);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   530
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   531
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   532
/* GLUT overlay sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   533
GLUTAPI void APIENTRY glutEstablishOverlay(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   534
GLUTAPI void APIENTRY glutRemoveOverlay(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   535
GLUTAPI void APIENTRY glutUseLayer(GLenum layer);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   536
GLUTAPI void APIENTRY glutPostOverlayRedisplay(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   537
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   538
GLUTAPI void APIENTRY glutPostWindowOverlayRedisplay(int win);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   539
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   540
GLUTAPI void APIENTRY glutShowOverlay(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   541
GLUTAPI void APIENTRY glutHideOverlay(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   542
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   543
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   544
/* GLUT menu sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   545
GLUTAPI int APIENTRY glutCreateMenu(void (GLUTCALLBACK *func)(int));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   546
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   547
GLUTAPI int APIENTRY __glutCreateMenuWithExit(void (GLUTCALLBACK *func)(int), void (__cdecl *exitfunc)(int));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   548
#ifndef GLUT_BUILDING_LIB
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   549
static int APIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)(int)) { return __glutCreateMenuWithExit(func, exit); }
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   550
#define glutCreateMenu glutCreateMenu_ATEXIT_HACK
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   551
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   552
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   553
GLUTAPI void APIENTRY glutDestroyMenu(int menu);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   554
GLUTAPI int APIENTRY glutGetMenu(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   555
GLUTAPI void APIENTRY glutSetMenu(int menu);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   556
GLUTAPI void APIENTRY glutAddMenuEntry(const char *label, int value);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   557
GLUTAPI void APIENTRY glutAddSubMenu(const char *label, int submenu);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   558
GLUTAPI void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   559
GLUTAPI void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   560
GLUTAPI void APIENTRY glutRemoveMenuItem(int item);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   561
GLUTAPI void APIENTRY glutAttachMenu(int button);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   562
GLUTAPI void APIENTRY glutDetachMenu(int button);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   563
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   564
/* GLUT window callback sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   565
GLUTAPI void APIENTRY glutDisplayFunc(void (GLUTCALLBACK *func)(void));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   566
GLUTAPI void APIENTRY glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   567
GLUTAPI void APIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   568
GLUTAPI void APIENTRY glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   569
GLUTAPI void APIENTRY glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   570
GLUTAPI void APIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   571
GLUTAPI void APIENTRY glutEntryFunc(void (GLUTCALLBACK *func)(int state));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   572
GLUTAPI void APIENTRY glutVisibilityFunc(void (GLUTCALLBACK *func)(int state));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   573
GLUTAPI void APIENTRY glutIdleFunc(void (GLUTCALLBACK *func)(void));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   574
GLUTAPI void APIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   575
GLUTAPI void APIENTRY glutMenuStateFunc(void (GLUTCALLBACK *func)(int state));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   576
#if (GLUT_API_VERSION >= 2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   577
GLUTAPI void APIENTRY glutSpecialFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   578
GLUTAPI void APIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   579
GLUTAPI void APIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   580
GLUTAPI void APIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK *func)(int button, int state));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   581
GLUTAPI void APIENTRY glutButtonBoxFunc(void (GLUTCALLBACK *func)(int button, int state));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   582
GLUTAPI void APIENTRY glutDialsFunc(void (GLUTCALLBACK *func)(int dial, int value));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   583
GLUTAPI void APIENTRY glutTabletMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   584
GLUTAPI void APIENTRY glutTabletButtonFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   585
#if (GLUT_API_VERSION >= 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   586
GLUTAPI void APIENTRY glutMenuStatusFunc(void (GLUTCALLBACK *func)(int status, int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   587
GLUTAPI void APIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK *func)(void));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   588
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   589
GLUTAPI void APIENTRY glutWindowStatusFunc(void (GLUTCALLBACK *func)(int state));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   590
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   591
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   592
GLUTAPI void APIENTRY glutKeyboardUpFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   593
GLUTAPI void APIENTRY glutSpecialUpFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   594
GLUTAPI void APIENTRY glutJoystickFunc(void (GLUTCALLBACK *func)(unsigned int buttonMask, int x, int y, int z), int pollInterval);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   595
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   596
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   597
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   598
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   599
/* GLUT color index sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   600
GLUTAPI void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   601
GLUTAPI GLfloat APIENTRY glutGetColor(int ndx, int component);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   602
GLUTAPI void APIENTRY glutCopyColormap(int win);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   603
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   604
/* GLUT state retrieval sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   605
GLUTAPI int APIENTRY glutGet(GLenum type);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   606
GLUTAPI int APIENTRY glutDeviceGet(GLenum type);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   607
#if (GLUT_API_VERSION >= 2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   608
/* GLUT extension support sub-API */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   609
GLUTAPI int APIENTRY glutExtensionSupported(const char *name);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   610
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   611
#if (GLUT_API_VERSION >= 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   612
GLUTAPI int APIENTRY glutGetModifiers(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   613
GLUTAPI int APIENTRY glutLayerGet(GLenum type);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   614
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   615
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   616
/* GLUT font sub-API */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   617
GLUTAPI void APIENTRY glutBitmapCharacter(void *font, int character);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   618
GLUTAPI int APIENTRY glutBitmapWidth(void *font, int character);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   619
GLUTAPI void APIENTRY glutStrokeCharacter(void *font, int character);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   620
GLUTAPI int APIENTRY glutStrokeWidth(void *font, int character);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   621
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   622
GLUTAPI int APIENTRY glutBitmapLength(void *font, const unsigned char *string);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   623
GLUTAPI int APIENTRY glutStrokeLength(void *font, const unsigned char *string);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   624
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   625
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   626
/* GLUT pre-built models sub-API */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   627
GLUTAPI void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   628
GLUTAPI void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   629
GLUTAPI void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   630
GLUTAPI void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   631
GLUTAPI void APIENTRY glutWireCube(GLdouble size);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   632
GLUTAPI void APIENTRY glutSolidCube(GLdouble size);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   633
GLUTAPI void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   634
GLUTAPI void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   635
GLUTAPI void APIENTRY glutWireDodecahedron(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   636
GLUTAPI void APIENTRY glutSolidDodecahedron(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   637
GLUTAPI void APIENTRY glutWireTeapot(GLdouble size);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   638
GLUTAPI void APIENTRY glutSolidTeapot(GLdouble size);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   639
GLUTAPI void APIENTRY glutWireOctahedron(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   640
GLUTAPI void APIENTRY glutSolidOctahedron(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   641
GLUTAPI void APIENTRY glutWireTetrahedron(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   642
GLUTAPI void APIENTRY glutSolidTetrahedron(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   643
GLUTAPI void APIENTRY glutWireIcosahedron(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   644
GLUTAPI void APIENTRY glutSolidIcosahedron(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   645
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   646
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   647
/* GLUT video resize sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   648
GLUTAPI int APIENTRY glutVideoResizeGet(GLenum param);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   649
GLUTAPI void APIENTRY glutSetupVideoResizing(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   650
GLUTAPI void APIENTRY glutStopVideoResizing(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   651
GLUTAPI void APIENTRY glutVideoResize(int x, int y, int width, int height);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   652
GLUTAPI void APIENTRY glutVideoPan(int x, int y, int width, int height);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   653
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   654
/* GLUT debugging sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   655
GLUTAPI void APIENTRY glutReportErrors(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   656
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   657
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   658
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   659
/* GLUT device control sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   660
/* glutSetKeyRepeat modes. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   661
#define GLUT_KEY_REPEAT_OFF     0
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   662
#define GLUT_KEY_REPEAT_ON      1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   663
#define GLUT_KEY_REPEAT_DEFAULT     2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   664
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   665
/* Joystick button masks. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   666
#define GLUT_JOYSTICK_BUTTON_A      1
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   667
#define GLUT_JOYSTICK_BUTTON_B      2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   668
#define GLUT_JOYSTICK_BUTTON_C      4
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   669
#define GLUT_JOYSTICK_BUTTON_D      8
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   670
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   671
GLUTAPI void APIENTRY glutIgnoreKeyRepeat(int ignore);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   672
GLUTAPI void APIENTRY glutSetKeyRepeat(int repeatMode);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   673
GLUTAPI void APIENTRY glutForceJoystickFunc(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   674
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   675
/* GLUT game mode sub-API. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   676
/* glutGameModeGet. */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   677
#define GLUT_GAME_MODE_ACTIVE           ((GLenum) 0)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   678
#define GLUT_GAME_MODE_POSSIBLE         ((GLenum) 1)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   679
#define GLUT_GAME_MODE_WIDTH            ((GLenum) 2)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   680
#define GLUT_GAME_MODE_HEIGHT           ((GLenum) 3)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   681
#define GLUT_GAME_MODE_PIXEL_DEPTH      ((GLenum) 4)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   682
#define GLUT_GAME_MODE_REFRESH_RATE     ((GLenum) 5)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   683
#define GLUT_GAME_MODE_DISPLAY_CHANGED  ((GLenum) 6)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   684
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   685
GLUTAPI void APIENTRY glutGameModeString(const char *string);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   686
GLUTAPI int APIENTRY glutEnterGameMode(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   687
GLUTAPI void APIENTRY glutLeaveGameMode(void);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   688
GLUTAPI int APIENTRY glutGameModeGet(GLenum mode);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   689
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   690
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   691
#ifdef __cplusplus
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   692
}
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   693
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   694
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   695
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   696
#ifdef GLUT_APIENTRY_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   697
# undef GLUT_APIENTRY_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   698
# undef APIENTRY
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   699
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   700
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   701
#ifdef GLUT_WINGDIAPI_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   702
# undef GLUT_WINGDIAPI_DEFINED
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   703
# undef WINGDIAPI
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   704
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   705
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   706
#ifdef GLUT_DEFINED___CDECL
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   707
# undef GLUT_DEFINED___CDECL
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   708
# undef __cdecl
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   709
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   710
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   711
#ifdef GLUT_DEFINED__CRTIMP
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   712
# undef GLUT_DEFINED__CRTIMP
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   713
# undef _CRTIMP
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   714
#endif
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   715
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 8068
diff changeset
   716
#endif                  /* __glut_h__ */