1 // Common types from OpenGL 1.1
2 pub type GLenum = super::__gl_imports::raw::c_uint;
3 pub type GLboolean = super::__gl_imports::raw::c_uchar;
4 pub type GLbitfield = super::__gl_imports::raw::c_uint;
5 pub type GLvoid = super::__gl_imports::raw::c_void;
6 pub type GLbyte = super::__gl_imports::raw::c_char;
7 pub type GLshort = super::__gl_imports::raw::c_short;
8 pub type GLint = super::__gl_imports::raw::c_int;
9 pub type GLclampx = super::__gl_imports::raw::c_int;
10 pub type GLubyte = super::__gl_imports::raw::c_uchar;
11 pub type GLushort = super::__gl_imports::raw::c_ushort;
12 pub type GLuint = super::__gl_imports::raw::c_uint;
13 pub type GLsizei = super::__gl_imports::raw::c_int;
14 pub type GLfloat = super::__gl_imports::raw::c_float;
15 pub type GLclampf = super::__gl_imports::raw::c_float;
16 pub type GLdouble = super::__gl_imports::raw::c_double;
17 pub type GLclampd = super::__gl_imports::raw::c_double;
18 pub type GLeglImageOES = *const super::__gl_imports::raw::c_void;
19 pub type GLchar = super::__gl_imports::raw::c_char;
20 pub type GLcharARB = super::__gl_imports::raw::c_char;
21 
22 #[cfg(target_os = "macos")]
23 pub type GLhandleARB = *const super::__gl_imports::raw::c_void;
24 #[cfg(not(target_os = "macos"))]
25 pub type GLhandleARB = super::__gl_imports::raw::c_uint;
26 
27 pub type GLhalfARB = super::__gl_imports::raw::c_ushort;
28 pub type GLhalf = super::__gl_imports::raw::c_ushort;
29 
30 // Must be 32 bits
31 pub type GLfixed = GLint;
32 
33 pub type GLintptr = isize;
34 pub type GLsizeiptr = isize;
35 pub type GLint64 = i64;
36 pub type GLuint64 = u64;
37 pub type GLintptrARB = isize;
38 pub type GLsizeiptrARB = isize;
39 pub type GLint64EXT = i64;
40 pub type GLuint64EXT = u64;
41 
42 pub enum __GLsync {}
43 pub type GLsync = *const __GLsync;
44 
45 // compatible with OpenCL cl_context
46 pub enum _cl_context {}
47 pub enum _cl_event {}
48 
49 pub type GLDEBUGPROC = Option<extern "system" fn(source: GLenum,
50                                                  gltype: GLenum,
51                                                  id: GLuint,
52                                                  severity: GLenum,
53                                                  length: GLsizei,
54                                                  message: *const GLchar,
55                                                  userParam: *mut super::__gl_imports::raw::c_void)>;
56 pub type GLDEBUGPROCARB = Option<extern "system" fn(source: GLenum,
57                                                     gltype: GLenum,
58                                                     id: GLuint,
59                                                     severity: GLenum,
60                                                     length: GLsizei,
61                                                     message: *const GLchar,
62                                                     userParam: *mut super::__gl_imports::raw::c_void)>;
63 pub type GLDEBUGPROCKHR = Option<extern "system" fn(source: GLenum,
64                                                     gltype: GLenum,
65                                                     id: GLuint,
66                                                     severity: GLenum,
67                                                     length: GLsizei,
68                                                     message: *const GLchar,
69                                                     userParam: *mut super::__gl_imports::raw::c_void)>;
70 
71 // GLES 1 types
72 // "pub type GLclampx = i32;",
73 
74 // GLES 1/2 types (tagged for GLES 1)
75 // "pub type GLbyte = i8;",
76 // "pub type GLubyte = u8;",
77 // "pub type GLfloat = GLfloat;",
78 // "pub type GLclampf = GLfloat;",
79 // "pub type GLfixed = i32;",
80 // "pub type GLint64 = i64;",
81 // "pub type GLuint64 = u64;",
82 // "pub type GLintptr = intptr_t;",
83 // "pub type GLsizeiptr = ssize_t;",
84 
85 // GLES 1/2 types (tagged for GLES 2 - attribute syntax is limited)
86 // "pub type GLbyte = i8;",
87 // "pub type GLubyte = u8;",
88 // "pub type GLfloat = GLfloat;",
89 // "pub type GLclampf = GLfloat;",
90 // "pub type GLfixed = i32;",
91 // "pub type GLint64 = i64;",
92 // "pub type GLuint64 = u64;",
93 // "pub type GLint64EXT = i64;",
94 // "pub type GLuint64EXT = u64;",
95 // "pub type GLintptr = intptr_t;",
96 // "pub type GLsizeiptr = ssize_t;",
97 
98 // GLES 2 types (none currently)
99 
100 // Vendor extension types
101 pub type GLDEBUGPROCAMD = Option<extern "system" fn(id: GLuint,
102                                                     category: GLenum,
103                                                     severity: GLenum,
104                                                     length: GLsizei,
105                                                     message: *const GLchar,
106                                                     userParam: *mut super::__gl_imports::raw::c_void)>;
107 pub type GLhalfNV = super::__gl_imports::raw::c_ushort;
108 pub type GLvdpauSurfaceNV = GLintptr;
109