mod __gl_imports {
pub use std::mem;
pub use std::marker::Send;
pub use std::os::raw;
}
pub mod types {
#![allow(non_camel_case_types, non_snake_case, dead_code, missing_copy_implementations)]
pub type GLenum = super::__gl_imports::raw::c_uint;
pub type GLboolean = super::__gl_imports::raw::c_uchar;
pub type GLbitfield = super::__gl_imports::raw::c_uint;
pub type GLvoid = super::__gl_imports::raw::c_void;
pub type GLbyte = super::__gl_imports::raw::c_char;
pub type GLshort = super::__gl_imports::raw::c_short;
pub type GLint = super::__gl_imports::raw::c_int;
pub type GLclampx = super::__gl_imports::raw::c_int;
pub type GLubyte = super::__gl_imports::raw::c_uchar;
pub type GLushort = super::__gl_imports::raw::c_ushort;
pub type GLuint = super::__gl_imports::raw::c_uint;
pub type GLsizei = super::__gl_imports::raw::c_int;
pub type GLfloat = super::__gl_imports::raw::c_float;
pub type GLclampf = super::__gl_imports::raw::c_float;
pub type GLdouble = super::__gl_imports::raw::c_double;
pub type GLclampd = super::__gl_imports::raw::c_double;
pub type GLeglImageOES = *const super::__gl_imports::raw::c_void;
pub type GLchar = super::__gl_imports::raw::c_char;
pub type GLcharARB = super::__gl_imports::raw::c_char;
#[cfg(target_os = "macos")]
pub type GLhandleARB = *const super::__gl_imports::raw::c_void;
#[cfg(not(target_os = "macos"))]
pub type GLhandleARB = super::__gl_imports::raw::c_uint;
pub type GLhalfARB = super::__gl_imports::raw::c_ushort;
pub type GLhalf = super::__gl_imports::raw::c_ushort;
pub type GLfixed = GLint;
pub type GLintptr = isize;
pub type GLsizeiptr = isize;
pub type GLint64 = i64;
pub type GLuint64 = u64;
pub type GLintptrARB = isize;
pub type GLsizeiptrARB = isize;
pub type GLint64EXT = i64;
pub type GLuint64EXT = u64;
pub enum __GLsync {}
pub type GLsync = *const __GLsync;
pub enum _cl_context {}
pub enum _cl_event {}
pub type GLDEBUGPROC = extern "system" fn(source: GLenum,
gltype: GLenum,
id: GLuint,
severity: GLenum,
length: GLsizei,
message: *const GLchar,
userParam: *mut super::__gl_imports::raw::c_void);
pub type GLDEBUGPROCARB = extern "system" fn(source: GLenum,
gltype: GLenum,
id: GLuint,
severity: GLenum,
length: GLsizei,
message: *const GLchar,
userParam: *mut super::__gl_imports::raw::c_void);
pub type GLDEBUGPROCKHR = extern "system" fn(source: GLenum,
gltype: GLenum,
id: GLuint,
severity: GLenum,
length: GLsizei,
message: *const GLchar,
userParam: *mut super::__gl_imports::raw::c_void);
pub type GLDEBUGPROCAMD = extern "system" fn(id: GLuint,
category: GLenum,
severity: GLenum,
length: GLsizei,
message: *const GLchar,
userParam: *mut super::__gl_imports::raw::c_void);
pub type GLhalfNV = super::__gl_imports::raw::c_ushort;
pub type GLvdpauSurfaceNV = GLintptr;
pub type XID = super::__gl_imports::raw::c_ulong;
pub type Bool = super::__gl_imports::raw::c_int;
pub enum Display {}
pub type Font = XID;
pub type Pixmap = XID;
pub enum Visual {}
pub type VisualID = super::__gl_imports::raw::c_ulong;
pub type Window = XID;
pub type GLXFBConfigID = XID;
pub type GLXFBConfig = *const super::__gl_imports::raw::c_void;
pub type GLXContextID = XID;
pub type GLXContext = *const super::__gl_imports::raw::c_void;
pub type GLXPixmap = XID;
pub type GLXDrawable = XID;
pub type GLXWindow = XID;
pub type GLXPbuffer = XID;
pub enum __GLXextFuncPtr_fn {}
pub type __GLXextFuncPtr = *mut __GLXextFuncPtr_fn;
pub type GLXVideoCaptureDeviceNV = XID;
pub type GLXVideoDeviceNV = super::__gl_imports::raw::c_int;
pub type GLXVideoSourceSGIX = XID;
pub type GLXFBConfigIDSGIX = XID;
pub type GLXFBConfigSGIX = *const super::__gl_imports::raw::c_void;
pub type GLXPbufferSGIX = XID;
#[repr(C)]
pub struct XVisualInfo {
pub visual: *mut Visual,
pub visualid: VisualID,
pub screen: super::__gl_imports::raw::c_int,
pub depth: super::__gl_imports::raw::c_int,
pub class: super::__gl_imports::raw::c_int,
pub red_mask: super::__gl_imports::raw::c_ulong,
pub green_mask: super::__gl_imports::raw::c_ulong,
pub blue_mask: super::__gl_imports::raw::c_ulong,
pub colormap_size: super::__gl_imports::raw::c_int,
pub bits_per_rgb: super::__gl_imports::raw::c_int,
}
#[repr(C)]
pub struct GLXPbufferClobberEvent {
pub event_type: super::__gl_imports::raw::c_int,
pub draw_type: super::__gl_imports::raw::c_int,
pub serial: super::__gl_imports::raw::c_ulong,
pub send_event: Bool,
pub display: *const Display,
pub drawable: GLXDrawable,
pub buffer_mask: super::__gl_imports::raw::c_uint,
pub aux_buffer: super::__gl_imports::raw::c_uint,
pub x: super::__gl_imports::raw::c_int,
pub y: super::__gl_imports::raw::c_int,
pub width: super::__gl_imports::raw::c_int,
pub height: super::__gl_imports::raw::c_int,
pub count: super::__gl_imports::raw::c_int,
}
#[repr(C)]
pub struct GLXBufferSwapComplete {
pub type_: super::__gl_imports::raw::c_int,
pub serial: super::__gl_imports::raw::c_ulong,
pub send_event: Bool,
pub display: *const Display,
pub drawable: GLXDrawable,
pub event_type: super::__gl_imports::raw::c_int,
pub ust: i64,
pub msc: i64,
pub sbc: i64,
}
#[repr(C)]
pub struct GLXBufferClobberEventSGIX {
pub type_: super::__gl_imports::raw::c_int,
pub serial: super::__gl_imports::raw::c_ulong,
pub send_event: Bool,
pub display: *const Display,
pub drawable: GLXDrawable,
pub event_type: super::__gl_imports::raw::c_int,
pub draw_type: super::__gl_imports::raw::c_int,
pub mask: super::__gl_imports::raw::c_uint,
pub x: super::__gl_imports::raw::c_int,
pub y: super::__gl_imports::raw::c_int,
pub width: super::__gl_imports::raw::c_int,
pub height: super::__gl_imports::raw::c_int,
pub count: super::__gl_imports::raw::c_int,
}
#[repr(C)]
pub struct GLXHyperpipeNetworkSGIX {
pub pipeName: [super::__gl_imports::raw::c_char; 80],
pub networkId: super::__gl_imports::raw::c_int,
}
#[repr(C)]
pub struct GLXHyperpipeConfigSGIX {
pub pipeName: [super::__gl_imports::raw::c_char; 80],
pub channel: super::__gl_imports::raw::c_int,
pub participationType: super::__gl_imports::raw::c_uint,
pub timeSlice: super::__gl_imports::raw::c_int,
}
#[repr(C)]
pub struct GLXPipeRect {
pub pipeName: [super::__gl_imports::raw::c_char; 80],
pub srcXOrigin: super::__gl_imports::raw::c_int,
pub srcYOrigin: super::__gl_imports::raw::c_int,
pub srcWidth: super::__gl_imports::raw::c_int,
pub srcHeight: super::__gl_imports::raw::c_int,
pub destXOrigin: super::__gl_imports::raw::c_int,
pub destYOrigin: super::__gl_imports::raw::c_int,
pub destWidth: super::__gl_imports::raw::c_int,
pub destHeight: super::__gl_imports::raw::c_int,
}
#[repr(C)]
pub struct GLXPipeRectLimits {
pub pipeName: [super::__gl_imports::raw::c_char; 80],
pub XOrigin: super::__gl_imports::raw::c_int,
pub YOrigin: super::__gl_imports::raw::c_int,
pub maxHeight: super::__gl_imports::raw::c_int,
pub maxWidth: super::__gl_imports::raw::c_int,
}
}
#[allow(dead_code, non_upper_case_globals)] pub const ACCUM_ALPHA_SIZE: types::GLenum = 17;
#[allow(dead_code, non_upper_case_globals)] pub const ACCUM_BLUE_SIZE: types::GLenum = 16;
#[allow(dead_code, non_upper_case_globals)] pub const ACCUM_BUFFER_BIT: types::GLenum = 0x00000080;
#[allow(dead_code, non_upper_case_globals)] pub const ACCUM_GREEN_SIZE: types::GLenum = 15;
#[allow(dead_code, non_upper_case_globals)] pub const ACCUM_RED_SIZE: types::GLenum = 14;
#[allow(dead_code, non_upper_case_globals)] pub const ALPHA_SIZE: types::GLenum = 11;
#[allow(dead_code, non_upper_case_globals)] pub const AUX_BUFFERS: types::GLenum = 7;
#[allow(dead_code, non_upper_case_globals)] pub const AUX_BUFFERS_BIT: types::GLenum = 0x00000010;
#[allow(dead_code, non_upper_case_globals)] pub const BACK_LEFT_BUFFER_BIT: types::GLenum = 0x00000004;
#[allow(dead_code, non_upper_case_globals)] pub const BACK_RIGHT_BUFFER_BIT: types::GLenum = 0x00000008;
#[allow(dead_code, non_upper_case_globals)] pub const BAD_ATTRIBUTE: types::GLenum = 2;
#[allow(dead_code, non_upper_case_globals)] pub const BAD_CONTEXT: types::GLenum = 5;
#[allow(dead_code, non_upper_case_globals)] pub const BAD_ENUM: types::GLenum = 7;
#[allow(dead_code, non_upper_case_globals)] pub const BAD_SCREEN: types::GLenum = 1;
#[allow(dead_code, non_upper_case_globals)] pub const BAD_VALUE: types::GLenum = 6;
#[allow(dead_code, non_upper_case_globals)] pub const BAD_VISUAL: types::GLenum = 4;
#[allow(dead_code, non_upper_case_globals)] pub const BLUE_SIZE: types::GLenum = 10;
#[allow(dead_code, non_upper_case_globals)] pub const BUFFER_SIZE: types::GLenum = 2;
#[allow(dead_code, non_upper_case_globals)] pub const BufferSwapComplete: types::GLenum = 1;
#[allow(dead_code, non_upper_case_globals)] pub const COLOR_INDEX_BIT: types::GLenum = 0x00000002;
#[allow(dead_code, non_upper_case_globals)] pub const COLOR_INDEX_TYPE: types::GLenum = 0x8015;
#[allow(dead_code, non_upper_case_globals)] pub const CONFIG_CAVEAT: types::GLenum = 0x20;
#[allow(dead_code, non_upper_case_globals)] pub const DAMAGED: types::GLenum = 0x8020;
#[allow(dead_code, non_upper_case_globals)] pub const DEPTH_BUFFER_BIT: types::GLenum = 0x00000020;
#[allow(dead_code, non_upper_case_globals)] pub const DEPTH_SIZE: types::GLenum = 12;
#[allow(dead_code, non_upper_case_globals)] pub const DIRECT_COLOR: types::GLenum = 0x8003;
#[allow(dead_code, non_upper_case_globals)] pub const DONT_CARE: types::GLenum = 0xFFFFFFFF;
#[allow(dead_code, non_upper_case_globals)] pub const DOUBLEBUFFER: types::GLenum = 5;
#[allow(dead_code, non_upper_case_globals)] pub const DRAWABLE_TYPE: types::GLenum = 0x8010;
#[allow(dead_code, non_upper_case_globals)] pub const EVENT_MASK: types::GLenum = 0x801F;
#[allow(dead_code, non_upper_case_globals)] pub const EXTENSIONS: types::GLenum = 0x3;
#[allow(dead_code, non_upper_case_globals)] pub const EXTENSION_NAME: &'static str = "GLX";
#[allow(dead_code, non_upper_case_globals)] pub const FBCONFIG_ID: types::GLenum = 0x8013;
#[allow(dead_code, non_upper_case_globals)] pub const FRONT_LEFT_BUFFER_BIT: types::GLenum = 0x00000001;
#[allow(dead_code, non_upper_case_globals)] pub const FRONT_RIGHT_BUFFER_BIT: types::GLenum = 0x00000002;
#[allow(dead_code, non_upper_case_globals)] pub const GRAY_SCALE: types::GLenum = 0x8006;
#[allow(dead_code, non_upper_case_globals)] pub const GREEN_SIZE: types::GLenum = 9;
#[allow(dead_code, non_upper_case_globals)] pub const HEIGHT: types::GLenum = 0x801E;
#[allow(dead_code, non_upper_case_globals)] pub const LARGEST_PBUFFER: types::GLenum = 0x801C;
#[allow(dead_code, non_upper_case_globals)] pub const LEVEL: types::GLenum = 3;
#[allow(dead_code, non_upper_case_globals)] pub const MAX_PBUFFER_HEIGHT: types::GLenum = 0x8017;
#[allow(dead_code, non_upper_case_globals)] pub const MAX_PBUFFER_PIXELS: types::GLenum = 0x8018;
#[allow(dead_code, non_upper_case_globals)] pub const MAX_PBUFFER_WIDTH: types::GLenum = 0x8016;
#[allow(dead_code, non_upper_case_globals)] pub const NONE: types::GLenum = 0x8000;
#[allow(dead_code, non_upper_case_globals)] pub const NON_CONFORMANT_CONFIG: types::GLenum = 0x800D;
#[allow(dead_code, non_upper_case_globals)] pub const NO_EXTENSION: types::GLenum = 3;
#[allow(dead_code, non_upper_case_globals)] pub const PBUFFER: types::GLenum = 0x8023;
#[allow(dead_code, non_upper_case_globals)] pub const PBUFFER_BIT: types::GLenum = 0x00000004;
#[allow(dead_code, non_upper_case_globals)] pub const PBUFFER_CLOBBER_MASK: types::GLenum = 0x08000000;
#[allow(dead_code, non_upper_case_globals)] pub const PBUFFER_HEIGHT: types::GLenum = 0x8040;
#[allow(dead_code, non_upper_case_globals)] pub const PBUFFER_WIDTH: types::GLenum = 0x8041;
#[allow(dead_code, non_upper_case_globals)] pub const PIXMAP_BIT: types::GLenum = 0x00000002;
#[allow(dead_code, non_upper_case_globals)] pub const PRESERVED_CONTENTS: types::GLenum = 0x801B;
#[allow(dead_code, non_upper_case_globals)] pub const PSEUDO_COLOR: types::GLenum = 0x8004;
#[allow(dead_code, non_upper_case_globals)] pub const PbufferClobber: types::GLenum = 0;
#[allow(dead_code, non_upper_case_globals)] pub const RED_SIZE: types::GLenum = 8;
#[allow(dead_code, non_upper_case_globals)] pub const RENDER_TYPE: types::GLenum = 0x8011;
#[allow(dead_code, non_upper_case_globals)] pub const RGBA: types::GLenum = 4;
#[allow(dead_code, non_upper_case_globals)] pub const RGBA_BIT: types::GLenum = 0x00000001;
#[allow(dead_code, non_upper_case_globals)] pub const RGBA_TYPE: types::GLenum = 0x8014;
#[allow(dead_code, non_upper_case_globals)] pub const SAMPLES: types::GLenum = 100001;
#[allow(dead_code, non_upper_case_globals)] pub const SAMPLE_BUFFERS: types::GLenum = 100000;
#[allow(dead_code, non_upper_case_globals)] pub const SAVED: types::GLenum = 0x8021;
#[allow(dead_code, non_upper_case_globals)] pub const SCREEN: types::GLenum = 0x800C;
#[allow(dead_code, non_upper_case_globals)] pub const SLOW_CONFIG: types::GLenum = 0x8001;
#[allow(dead_code, non_upper_case_globals)] pub const STATIC_COLOR: types::GLenum = 0x8005;
#[allow(dead_code, non_upper_case_globals)] pub const STATIC_GRAY: types::GLenum = 0x8007;
#[allow(dead_code, non_upper_case_globals)] pub const STENCIL_BUFFER_BIT: types::GLenum = 0x00000040;
#[allow(dead_code, non_upper_case_globals)] pub const STENCIL_SIZE: types::GLenum = 13;
#[allow(dead_code, non_upper_case_globals)] pub const STEREO: types::GLenum = 6;
#[allow(dead_code, non_upper_case_globals)] pub const TRANSPARENT_ALPHA_VALUE: types::GLenum = 0x28;
#[allow(dead_code, non_upper_case_globals)] pub const TRANSPARENT_BLUE_VALUE: types::GLenum = 0x27;
#[allow(dead_code, non_upper_case_globals)] pub const TRANSPARENT_GREEN_VALUE: types::GLenum = 0x26;
#[allow(dead_code, non_upper_case_globals)] pub const TRANSPARENT_INDEX: types::GLenum = 0x8009;
#[allow(dead_code, non_upper_case_globals)] pub const TRANSPARENT_INDEX_VALUE: types::GLenum = 0x24;
#[allow(dead_code, non_upper_case_globals)] pub const TRANSPARENT_RED_VALUE: types::GLenum = 0x25;
#[allow(dead_code, non_upper_case_globals)] pub const TRANSPARENT_RGB: types::GLenum = 0x8008;
#[allow(dead_code, non_upper_case_globals)] pub const TRANSPARENT_TYPE: types::GLenum = 0x23;
#[allow(dead_code, non_upper_case_globals)] pub const TRUE_COLOR: types::GLenum = 0x8002;
#[allow(dead_code, non_upper_case_globals)] pub const USE_GL: types::GLenum = 1;
#[allow(dead_code, non_upper_case_globals)] pub const VENDOR: types::GLenum = 0x1;
#[allow(dead_code, non_upper_case_globals)] pub const VERSION: types::GLenum = 0x2;
#[allow(dead_code, non_upper_case_globals)] pub const VISUAL_ID: types::GLenum = 0x800B;
#[allow(dead_code, non_upper_case_globals)] pub const WIDTH: types::GLenum = 0x801D;
#[allow(dead_code, non_upper_case_globals)] pub const WINDOW: types::GLenum = 0x8022;
#[allow(dead_code, non_upper_case_globals)] pub const WINDOW_BIT: types::GLenum = 0x00000001;
#[allow(dead_code, non_upper_case_globals)] pub const X_RENDERABLE: types::GLenum = 0x8012;
#[allow(dead_code, non_upper_case_globals)] pub const X_VISUAL_TYPE: types::GLenum = 0x22;
#[allow(dead_code, missing_copy_implementations)]
#[derive(Clone)]
pub struct FnPtr {
f: *const __gl_imports::raw::c_void,
is_loaded: bool,
}
impl FnPtr {
fn new(ptr: *const __gl_imports::raw::c_void) -> FnPtr {
if ptr.is_null() {
FnPtr {
f: missing_fn_panic as *const __gl_imports::raw::c_void,
is_loaded: false
}
} else {
FnPtr { f: ptr, is_loaded: true }
}
}
#[inline]
#[allow(dead_code)]
pub fn is_loaded(&self) -> bool {
self.is_loaded
}
}
#[inline(never)]
fn missing_fn_panic() -> ! {
panic!("glx function was not loaded")
}
#[allow(non_camel_case_types, non_snake_case, dead_code)]
#[derive(Clone)]
pub struct Glx {
pub ChooseFBConfig: FnPtr,
pub ChooseVisual: FnPtr,
pub CopyContext: FnPtr,
pub CreateContext: FnPtr,
pub CreateGLXPixmap: FnPtr,
pub CreateNewContext: FnPtr,
pub CreatePbuffer: FnPtr,
pub CreatePixmap: FnPtr,
pub CreateWindow: FnPtr,
pub DestroyContext: FnPtr,
pub DestroyGLXPixmap: FnPtr,
pub DestroyPbuffer: FnPtr,
pub DestroyPixmap: FnPtr,
pub DestroyWindow: FnPtr,
pub GetClientString: FnPtr,
pub GetConfig: FnPtr,
pub GetCurrentContext: FnPtr,
pub GetCurrentDisplay: FnPtr,
pub GetCurrentDrawable: FnPtr,
pub GetCurrentReadDrawable: FnPtr,
pub GetFBConfigAttrib: FnPtr,
pub GetFBConfigs: FnPtr,
pub GetProcAddress: FnPtr,
pub GetSelectedEvent: FnPtr,
pub GetVisualFromFBConfig: FnPtr,
pub IsDirect: FnPtr,
pub MakeContextCurrent: FnPtr,
pub MakeCurrent: FnPtr,
pub QueryContext: FnPtr,
pub QueryDrawable: FnPtr,
pub QueryExtension: FnPtr,
pub QueryExtensionsString: FnPtr,
pub QueryServerString: FnPtr,
pub QueryVersion: FnPtr,
pub SelectEvent: FnPtr,
pub SwapBuffers: FnPtr,
pub UseXFont: FnPtr,
pub WaitGL: FnPtr,
pub WaitX: FnPtr,
_priv: ()
}
impl Glx {
#[allow(dead_code, unused_variables)]
pub fn load_with<F>(mut loadfn: F) -> Glx where F: FnMut(&'static str) -> *const __gl_imports::raw::c_void {
#[inline(never)]
fn do_metaloadfn(loadfn: &mut FnMut(&'static str) -> *const __gl_imports::raw::c_void,
symbol: &'static str,
symbols: &[&'static str])
-> *const __gl_imports::raw::c_void {
let mut ptr = loadfn(symbol);
if ptr.is_null() {
for &sym in symbols {
ptr = loadfn(sym);
if !ptr.is_null() { break; }
}
}
ptr
}
let mut metaloadfn = |symbol: &'static str, symbols: &[&'static str]| {
do_metaloadfn(&mut loadfn, symbol, symbols)
};
Glx {
ChooseFBConfig: FnPtr::new(metaloadfn("glXChooseFBConfig", &[])),
ChooseVisual: FnPtr::new(metaloadfn("glXChooseVisual", &[])),
CopyContext: FnPtr::new(metaloadfn("glXCopyContext", &[])),
CreateContext: FnPtr::new(metaloadfn("glXCreateContext", &[])),
CreateGLXPixmap: FnPtr::new(metaloadfn("glXCreateGLXPixmap", &[])),
CreateNewContext: FnPtr::new(metaloadfn("glXCreateNewContext", &[])),
CreatePbuffer: FnPtr::new(metaloadfn("glXCreatePbuffer", &[])),
CreatePixmap: FnPtr::new(metaloadfn("glXCreatePixmap", &[])),
CreateWindow: FnPtr::new(metaloadfn("glXCreateWindow", &[])),
DestroyContext: FnPtr::new(metaloadfn("glXDestroyContext", &[])),
DestroyGLXPixmap: FnPtr::new(metaloadfn("glXDestroyGLXPixmap", &[])),
DestroyPbuffer: FnPtr::new(metaloadfn("glXDestroyPbuffer", &[])),
DestroyPixmap: FnPtr::new(metaloadfn("glXDestroyPixmap", &[])),
DestroyWindow: FnPtr::new(metaloadfn("glXDestroyWindow", &[])),
GetClientString: FnPtr::new(metaloadfn("glXGetClientString", &[])),
GetConfig: FnPtr::new(metaloadfn("glXGetConfig", &[])),
GetCurrentContext: FnPtr::new(metaloadfn("glXGetCurrentContext", &[])),
GetCurrentDisplay: FnPtr::new(metaloadfn("glXGetCurrentDisplay", &[])),
GetCurrentDrawable: FnPtr::new(metaloadfn("glXGetCurrentDrawable", &[])),
GetCurrentReadDrawable: FnPtr::new(metaloadfn("glXGetCurrentReadDrawable", &[])),
GetFBConfigAttrib: FnPtr::new(metaloadfn("glXGetFBConfigAttrib", &[])),
GetFBConfigs: FnPtr::new(metaloadfn("glXGetFBConfigs", &[])),
GetProcAddress: FnPtr::new(metaloadfn("glXGetProcAddress", &[])),
GetSelectedEvent: FnPtr::new(metaloadfn("glXGetSelectedEvent", &[])),
GetVisualFromFBConfig: FnPtr::new(metaloadfn("glXGetVisualFromFBConfig", &[])),
IsDirect: FnPtr::new(metaloadfn("glXIsDirect", &[])),
MakeContextCurrent: FnPtr::new(metaloadfn("glXMakeContextCurrent", &[])),
MakeCurrent: FnPtr::new(metaloadfn("glXMakeCurrent", &[])),
QueryContext: FnPtr::new(metaloadfn("glXQueryContext", &[])),
QueryDrawable: FnPtr::new(metaloadfn("glXQueryDrawable", &[])),
QueryExtension: FnPtr::new(metaloadfn("glXQueryExtension", &[])),
QueryExtensionsString: FnPtr::new(metaloadfn("glXQueryExtensionsString", &[])),
QueryServerString: FnPtr::new(metaloadfn("glXQueryServerString", &[])),
QueryVersion: FnPtr::new(metaloadfn("glXQueryVersion", &[])),
SelectEvent: FnPtr::new(metaloadfn("glXSelectEvent", &[])),
SwapBuffers: FnPtr::new(metaloadfn("glXSwapBuffers", &[])),
UseXFont: FnPtr::new(metaloadfn("glXUseXFont", &[])),
WaitGL: FnPtr::new(metaloadfn("glXWaitGL", &[])),
WaitX: FnPtr::new(metaloadfn("glXWaitX", &[])),
_priv: ()
}
}
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn ChooseFBConfig(&self, dpy: *mut types::Display, screen: __gl_imports::raw::c_int, attrib_list: *const __gl_imports::raw::c_int, nelements: *mut __gl_imports::raw::c_int) -> *mut types::GLXFBConfig { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, __gl_imports::raw::c_int, *const __gl_imports::raw::c_int, *mut __gl_imports::raw::c_int) -> *mut types::GLXFBConfig>(self.ChooseFBConfig.f)(dpy, screen, attrib_list, nelements) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn ChooseVisual(&self, dpy: *mut types::Display, screen: __gl_imports::raw::c_int, attribList: *mut __gl_imports::raw::c_int) -> *mut types::XVisualInfo { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, __gl_imports::raw::c_int, *mut __gl_imports::raw::c_int) -> *mut types::XVisualInfo>(self.ChooseVisual.f)(dpy, screen, attribList) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn CopyContext(&self, dpy: *mut types::Display, src: types::GLXContext, dst: types::GLXContext, mask: __gl_imports::raw::c_ulong) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXContext, types::GLXContext, __gl_imports::raw::c_ulong) -> ()>(self.CopyContext.f)(dpy, src, dst, mask) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn CreateContext(&self, dpy: *mut types::Display, vis: *mut types::XVisualInfo, shareList: types::GLXContext, direct: types::Bool) -> types::GLXContext { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, *mut types::XVisualInfo, types::GLXContext, types::Bool) -> types::GLXContext>(self.CreateContext.f)(dpy, vis, shareList, direct) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn CreateGLXPixmap(&self, dpy: *mut types::Display, visual: *mut types::XVisualInfo, pixmap: types::Pixmap) -> types::GLXPixmap { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, *mut types::XVisualInfo, types::Pixmap) -> types::GLXPixmap>(self.CreateGLXPixmap.f)(dpy, visual, pixmap) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn CreateNewContext(&self, dpy: *mut types::Display, config: types::GLXFBConfig, render_type: __gl_imports::raw::c_int, share_list: types::GLXContext, direct: types::Bool) -> types::GLXContext { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXFBConfig, __gl_imports::raw::c_int, types::GLXContext, types::Bool) -> types::GLXContext>(self.CreateNewContext.f)(dpy, config, render_type, share_list, direct) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn CreatePbuffer(&self, dpy: *mut types::Display, config: types::GLXFBConfig, attrib_list: *const __gl_imports::raw::c_int) -> types::GLXPbuffer { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXFBConfig, *const __gl_imports::raw::c_int) -> types::GLXPbuffer>(self.CreatePbuffer.f)(dpy, config, attrib_list) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn CreatePixmap(&self, dpy: *mut types::Display, config: types::GLXFBConfig, pixmap: types::Pixmap, attrib_list: *const __gl_imports::raw::c_int) -> types::GLXPixmap { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXFBConfig, types::Pixmap, *const __gl_imports::raw::c_int) -> types::GLXPixmap>(self.CreatePixmap.f)(dpy, config, pixmap, attrib_list) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn CreateWindow(&self, dpy: *mut types::Display, config: types::GLXFBConfig, win: types::Window, attrib_list: *const __gl_imports::raw::c_int) -> types::GLXWindow { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXFBConfig, types::Window, *const __gl_imports::raw::c_int) -> types::GLXWindow>(self.CreateWindow.f)(dpy, config, win, attrib_list) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn DestroyContext(&self, dpy: *mut types::Display, ctx: types::GLXContext) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXContext) -> ()>(self.DestroyContext.f)(dpy, ctx) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn DestroyGLXPixmap(&self, dpy: *mut types::Display, pixmap: types::GLXPixmap) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXPixmap) -> ()>(self.DestroyGLXPixmap.f)(dpy, pixmap) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn DestroyPbuffer(&self, dpy: *mut types::Display, pbuf: types::GLXPbuffer) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXPbuffer) -> ()>(self.DestroyPbuffer.f)(dpy, pbuf) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn DestroyPixmap(&self, dpy: *mut types::Display, pixmap: types::GLXPixmap) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXPixmap) -> ()>(self.DestroyPixmap.f)(dpy, pixmap) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn DestroyWindow(&self, dpy: *mut types::Display, win: types::GLXWindow) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXWindow) -> ()>(self.DestroyWindow.f)(dpy, win) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetClientString(&self, dpy: *mut types::Display, name: __gl_imports::raw::c_int) -> *const __gl_imports::raw::c_char { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, __gl_imports::raw::c_int) -> *const __gl_imports::raw::c_char>(self.GetClientString.f)(dpy, name) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetConfig(&self, dpy: *mut types::Display, visual: *mut types::XVisualInfo, attrib: __gl_imports::raw::c_int, value: *mut __gl_imports::raw::c_int) -> __gl_imports::raw::c_int { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, *mut types::XVisualInfo, __gl_imports::raw::c_int, *mut __gl_imports::raw::c_int) -> __gl_imports::raw::c_int>(self.GetConfig.f)(dpy, visual, attrib, value) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetCurrentContext(&self, ) -> types::GLXContext { __gl_imports::mem::transmute::<_, extern "system" fn() -> types::GLXContext>(self.GetCurrentContext.f)() }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetCurrentDisplay(&self, ) -> *mut types::Display { __gl_imports::mem::transmute::<_, extern "system" fn() -> *mut types::Display>(self.GetCurrentDisplay.f)() }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetCurrentDrawable(&self, ) -> types::GLXDrawable { __gl_imports::mem::transmute::<_, extern "system" fn() -> types::GLXDrawable>(self.GetCurrentDrawable.f)() }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetCurrentReadDrawable(&self, ) -> types::GLXDrawable { __gl_imports::mem::transmute::<_, extern "system" fn() -> types::GLXDrawable>(self.GetCurrentReadDrawable.f)() }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetFBConfigAttrib(&self, dpy: *mut types::Display, config: types::GLXFBConfig, attribute: __gl_imports::raw::c_int, value: *mut __gl_imports::raw::c_int) -> __gl_imports::raw::c_int { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXFBConfig, __gl_imports::raw::c_int, *mut __gl_imports::raw::c_int) -> __gl_imports::raw::c_int>(self.GetFBConfigAttrib.f)(dpy, config, attribute, value) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetFBConfigs(&self, dpy: *mut types::Display, screen: __gl_imports::raw::c_int, nelements: *mut __gl_imports::raw::c_int) -> *mut types::GLXFBConfig { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, __gl_imports::raw::c_int, *mut __gl_imports::raw::c_int) -> *mut types::GLXFBConfig>(self.GetFBConfigs.f)(dpy, screen, nelements) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetProcAddress(&self, procName: *const types::GLubyte) -> types::__GLXextFuncPtr { __gl_imports::mem::transmute::<_, extern "system" fn(*const types::GLubyte) -> types::__GLXextFuncPtr>(self.GetProcAddress.f)(procName) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetSelectedEvent(&self, dpy: *mut types::Display, draw: types::GLXDrawable, event_mask: *mut __gl_imports::raw::c_ulong) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXDrawable, *mut __gl_imports::raw::c_ulong) -> ()>(self.GetSelectedEvent.f)(dpy, draw, event_mask) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn GetVisualFromFBConfig(&self, dpy: *mut types::Display, config: types::GLXFBConfig) -> *mut types::XVisualInfo { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXFBConfig) -> *mut types::XVisualInfo>(self.GetVisualFromFBConfig.f)(dpy, config) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn IsDirect(&self, dpy: *mut types::Display, ctx: types::GLXContext) -> types::Bool { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXContext) -> types::Bool>(self.IsDirect.f)(dpy, ctx) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn MakeContextCurrent(&self, dpy: *mut types::Display, draw: types::GLXDrawable, read: types::GLXDrawable, ctx: types::GLXContext) -> types::Bool { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXDrawable, types::GLXDrawable, types::GLXContext) -> types::Bool>(self.MakeContextCurrent.f)(dpy, draw, read, ctx) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn MakeCurrent(&self, dpy: *mut types::Display, drawable: types::GLXDrawable, ctx: types::GLXContext) -> types::Bool { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXDrawable, types::GLXContext) -> types::Bool>(self.MakeCurrent.f)(dpy, drawable, ctx) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn QueryContext(&self, dpy: *mut types::Display, ctx: types::GLXContext, attribute: __gl_imports::raw::c_int, value: *mut __gl_imports::raw::c_int) -> __gl_imports::raw::c_int { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXContext, __gl_imports::raw::c_int, *mut __gl_imports::raw::c_int) -> __gl_imports::raw::c_int>(self.QueryContext.f)(dpy, ctx, attribute, value) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn QueryDrawable(&self, dpy: *mut types::Display, draw: types::GLXDrawable, attribute: __gl_imports::raw::c_int, value: *mut __gl_imports::raw::c_uint) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXDrawable, __gl_imports::raw::c_int, *mut __gl_imports::raw::c_uint) -> ()>(self.QueryDrawable.f)(dpy, draw, attribute, value) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn QueryExtension(&self, dpy: *mut types::Display, errorb: *mut __gl_imports::raw::c_int, event: *mut __gl_imports::raw::c_int) -> types::Bool { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, *mut __gl_imports::raw::c_int, *mut __gl_imports::raw::c_int) -> types::Bool>(self.QueryExtension.f)(dpy, errorb, event) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn QueryExtensionsString(&self, dpy: *mut types::Display, screen: __gl_imports::raw::c_int) -> *const __gl_imports::raw::c_char { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, __gl_imports::raw::c_int) -> *const __gl_imports::raw::c_char>(self.QueryExtensionsString.f)(dpy, screen) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn QueryServerString(&self, dpy: *mut types::Display, screen: __gl_imports::raw::c_int, name: __gl_imports::raw::c_int) -> *const __gl_imports::raw::c_char { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, __gl_imports::raw::c_int, __gl_imports::raw::c_int) -> *const __gl_imports::raw::c_char>(self.QueryServerString.f)(dpy, screen, name) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn QueryVersion(&self, dpy: *mut types::Display, maj: *mut __gl_imports::raw::c_int, min: *mut __gl_imports::raw::c_int) -> types::Bool { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, *mut __gl_imports::raw::c_int, *mut __gl_imports::raw::c_int) -> types::Bool>(self.QueryVersion.f)(dpy, maj, min) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn SelectEvent(&self, dpy: *mut types::Display, draw: types::GLXDrawable, event_mask: __gl_imports::raw::c_ulong) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXDrawable, __gl_imports::raw::c_ulong) -> ()>(self.SelectEvent.f)(dpy, draw, event_mask) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn SwapBuffers(&self, dpy: *mut types::Display, drawable: types::GLXDrawable) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(*mut types::Display, types::GLXDrawable) -> ()>(self.SwapBuffers.f)(dpy, drawable) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn UseXFont(&self, font: types::Font, first: __gl_imports::raw::c_int, count: __gl_imports::raw::c_int, list: __gl_imports::raw::c_int) -> () { __gl_imports::mem::transmute::<_, extern "system" fn(types::Font, __gl_imports::raw::c_int, __gl_imports::raw::c_int, __gl_imports::raw::c_int) -> ()>(self.UseXFont.f)(font, first, count, list) }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn WaitGL(&self, ) -> () { __gl_imports::mem::transmute::<_, extern "system" fn() -> ()>(self.WaitGL.f)() }
#[allow(non_snake_case, unused_variables, dead_code)]
#[inline] pub unsafe fn WaitX(&self, ) -> () { __gl_imports::mem::transmute::<_, extern "system" fn() -> ()>(self.WaitX.f)() }
}
unsafe impl __gl_imports::Send for Glx {}