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