~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/box2d/freeglut/freeglut_ext.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef  __FREEGLUT_EXT_H__
 
2
#define  __FREEGLUT_EXT_H__
 
3
 
 
4
/*
 
5
 * freeglut_ext.h
 
6
 *
 
7
 * The non-GLUT-compatible extensions to the freeglut library include file
 
8
 *
 
9
 * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved.
 
10
 * Written by Pawel W. Olszta, <olszta@sourceforge.net>
 
11
 * Creation date: Thu Dec 2 1999
 
12
 *
 
13
 * Permission is hereby granted, free of charge, to any person obtaining a
 
14
 * copy of this software and associated documentation files (the "Software"),
 
15
 * to deal in the Software without restriction, including without limitation
 
16
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 
17
 * and/or sell copies of the Software, and to permit persons to whom the
 
18
 * Software is furnished to do so, subject to the following conditions:
 
19
 *
 
20
 * The above copyright notice and this permission notice shall be included
 
21
 * in all copies or substantial portions of the Software.
 
22
 *
 
23
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
24
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
25
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 
26
 * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 
27
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 
28
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
29
 */
 
30
 
 
31
#ifdef __cplusplus
 
32
    extern "C" {
 
33
#endif
 
34
 
 
35
/*
 
36
 * Additional GLUT Key definitions for the Special key function
 
37
 */
 
38
#define GLUT_KEY_NUM_LOCK           0x006D
 
39
#define GLUT_KEY_BEGIN              0x006E
 
40
#define GLUT_KEY_DELETE             0x006F
 
41
 
 
42
/*
 
43
 * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window
 
44
 */
 
45
#define GLUT_ACTION_EXIT                         0
 
46
#define GLUT_ACTION_GLUTMAINLOOP_RETURNS         1
 
47
#define GLUT_ACTION_CONTINUE_EXECUTION           2
 
48
 
 
49
/*
 
50
 * Create a new rendering context when the user opens a new window?
 
51
 */
 
52
#define GLUT_CREATE_NEW_CONTEXT                  0
 
53
#define GLUT_USE_CURRENT_CONTEXT                 1
 
54
 
 
55
/*
 
56
 * Direct/Indirect rendering context options (has meaning only in Unix/X11)
 
57
 */
 
58
#define GLUT_FORCE_INDIRECT_CONTEXT              0
 
59
#define GLUT_ALLOW_DIRECT_CONTEXT                1
 
60
#define GLUT_TRY_DIRECT_CONTEXT                  2
 
61
#define GLUT_FORCE_DIRECT_CONTEXT                3
 
62
 
 
63
/*
 
64
 * GLUT API Extension macro definitions -- the glutGet parameters
 
65
 */
 
66
#define  GLUT_INIT_STATE                    0x007C
 
67
 
 
68
#define  GLUT_ACTION_ON_WINDOW_CLOSE        0x01F9
 
69
 
 
70
#define  GLUT_WINDOW_BORDER_WIDTH           0x01FA
 
71
#define  GLUT_WINDOW_HEADER_HEIGHT          0x01FB
 
72
 
 
73
#define  GLUT_VERSION                       0x01FC
 
74
 
 
75
#define  GLUT_RENDERING_CONTEXT             0x01FD
 
76
#define  GLUT_DIRECT_RENDERING              0x01FE
 
77
 
 
78
#define  GLUT_FULL_SCREEN                   0x01FF
 
79
 
 
80
/*
 
81
 * New tokens for glutInitDisplayMode.
 
82
 * Only one GLUT_AUXn bit may be used at a time.
 
83
 * Value 0x0400 is defined in OpenGLUT.
 
84
 */
 
85
#define  GLUT_AUX                           0x1000
 
86
 
 
87
#define  GLUT_AUX1                          0x1000
 
88
#define  GLUT_AUX2                          0x2000
 
89
#define  GLUT_AUX3                          0x4000
 
90
#define  GLUT_AUX4                          0x8000
 
91
 
 
92
/*
 
93
 * Context-related flags, see freeglut_state.c
 
94
 */
 
95
#define  GLUT_INIT_MAJOR_VERSION            0x0200
 
96
#define  GLUT_INIT_MINOR_VERSION            0x0201
 
97
#define  GLUT_INIT_FLAGS                    0x0202
 
98
#define  GLUT_INIT_PROFILE                  0x0203
 
99
 
 
100
/*
 
101
 * Flags for glutInitContextFlags, see freeglut_init.c
 
102
 */
 
103
#define  GLUT_DEBUG                         0x0001
 
104
#define  GLUT_FORWARD_COMPATIBLE            0x0002
 
105
 
 
106
 
 
107
/*
 
108
 * Flags for glutInitContextProfile, see freeglut_init.c
 
109
 */
 
110
#define GLUT_CORE_PROFILE                   0x0001
 
111
#define GLUT_COMPATIBILITY_PROFILE          0x0002
 
112
 
 
113
/*
 
114
 * Process loop function, see freeglut_main.c
 
115
 */
 
116
FGAPI void    FGAPIENTRY glutMainLoopEvent( void );
 
117
FGAPI void    FGAPIENTRY glutLeaveMainLoop( void );
 
118
FGAPI void    FGAPIENTRY glutExit         ( void );
 
119
 
 
120
/*
 
121
 * Window management functions, see freeglut_window.c
 
122
 */
 
123
FGAPI void    FGAPIENTRY glutFullScreenToggle( void );
 
124
 
 
125
/*
 
126
 * Window-specific callback functions, see freeglut_callbacks.c
 
127
 */
 
128
FGAPI void    FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) );
 
129
FGAPI void    FGAPIENTRY glutCloseFunc( void (* callback)( void ) );
 
130
FGAPI void    FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) );
 
131
/* A. Donev: Also a destruction callback for menus */
 
132
FGAPI void    FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) );
 
133
 
 
134
/*
 
135
 * State setting and retrieval functions, see freeglut_state.c
 
136
 */
 
137
FGAPI void    FGAPIENTRY glutSetOption ( GLenum option_flag, int value );
 
138
FGAPI int *   FGAPIENTRY glutGetModeValues(GLenum mode, int * size);
 
139
/* A.Donev: User-data manipulation */
 
140
FGAPI void*   FGAPIENTRY glutGetWindowData( void );
 
141
FGAPI void    FGAPIENTRY glutSetWindowData(void* data);
 
142
FGAPI void*   FGAPIENTRY glutGetMenuData( void );
 
143
FGAPI void    FGAPIENTRY glutSetMenuData(void* data);
 
144
 
 
145
/*
 
146
 * Font stuff, see freeglut_font.c
 
147
 */
 
148
FGAPI int     FGAPIENTRY glutBitmapHeight( void* font );
 
149
FGAPI GLfloat FGAPIENTRY glutStrokeHeight( void* font );
 
150
FGAPI void    FGAPIENTRY glutBitmapString( void* font, const unsigned char *string );
 
151
FGAPI void    FGAPIENTRY glutStrokeString( void* font, const unsigned char *string );
 
152
 
 
153
/*
 
154
 * Geometry functions, see freeglut_geometry.c
 
155
 */
 
156
FGAPI void    FGAPIENTRY glutWireRhombicDodecahedron( void );
 
157
FGAPI void    FGAPIENTRY glutSolidRhombicDodecahedron( void );
 
158
FGAPI void    FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale );
 
159
FGAPI void    FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale );
 
160
FGAPI void    FGAPIENTRY glutWireCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks);
 
161
FGAPI void    FGAPIENTRY glutSolidCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks);
 
162
 
 
163
/*
 
164
 * Extension functions, see freeglut_ext.c
 
165
 */
 
166
typedef void (*GLUTproc)();
 
167
FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName );
 
168
 
 
169
/*
 
170
 * Joystick functions, see freeglut_joystick.c
 
171
 */
 
172
/* USE OF THESE FUNCTIONS IS DEPRECATED !!!!! */
 
173
/* If you have a serious need for these functions in your application, please either
 
174
 * contact the "freeglut" developer community at freeglut-developer@lists.sourceforge.net,
 
175
 * switch to the OpenGLUT library, or else port your joystick functionality over to PLIB's
 
176
 * "js" library.
 
177
 */
 
178
int     glutJoystickGetNumAxes( int ident );
 
179
int     glutJoystickGetNumButtons( int ident );
 
180
int     glutJoystickNotWorking( int ident );
 
181
float   glutJoystickGetDeadBand( int ident, int axis );
 
182
void    glutJoystickSetDeadBand( int ident, int axis, float db );
 
183
float   glutJoystickGetSaturation( int ident, int axis );
 
184
void    glutJoystickSetSaturation( int ident, int axis, float st );
 
185
void    glutJoystickSetMinRange( int ident, float *axes );
 
186
void    glutJoystickSetMaxRange( int ident, float *axes );
 
187
void    glutJoystickSetCenter( int ident, float *axes );
 
188
void    glutJoystickGetMinRange( int ident, float *axes );
 
189
void    glutJoystickGetMaxRange( int ident, float *axes );
 
190
void    glutJoystickGetCenter( int ident, float *axes );
 
191
 
 
192
/*
 
193
 * Initialization functions, see freeglut_init.c
 
194
 */
 
195
FGAPI void    FGAPIENTRY glutInitContextVersion( int majorVersion, int minorVersion );
 
196
FGAPI void    FGAPIENTRY glutInitContextFlags( int flags );
 
197
FGAPI void    FGAPIENTRY glutInitContextProfile( int profile );
 
198
 
 
199
/*
 
200
 * GLUT API macro definitions -- the display mode definitions
 
201
 */
 
202
#define  GLUT_CAPTIONLESS                   0x0400
 
203
#define  GLUT_BORDERLESS                    0x0800
 
204
#define  GLUT_SRGB                          0x1000
 
205
 
 
206
#ifdef __cplusplus
 
207
    }
 
208
#endif
 
209
 
 
210
/*** END OF FILE ***/
 
211
 
 
212
#endif /* __FREEGLUT_EXT_H__ */