1 pub type XID = super::__gl_imports::raw::c_ulong;
2 pub type Bool = super::__gl_imports::raw::c_int; // Not sure if this is correct...
3 pub enum Display {}
4 
5 pub type Font = XID;
6 pub type Pixmap = XID;
7 pub enum Visual {} // TODO: not sure
8 pub type VisualID = super::__gl_imports::raw::c_ulong; // TODO: not sure
9 pub type Window = XID;
10 pub type GLXFBConfigID = XID;
11 pub type GLXFBConfig = *const super::__gl_imports::raw::c_void;
12 pub type GLXContextID = XID;
13 pub type GLXContext = *const super::__gl_imports::raw::c_void;
14 pub type GLXPixmap = XID;
15 pub type GLXDrawable = XID;
16 pub type GLXWindow = XID;
17 pub type GLXPbuffer = XID;
18 pub enum __GLXextFuncPtr_fn {}
19 pub type __GLXextFuncPtr = *mut __GLXextFuncPtr_fn;
20 pub type GLXVideoCaptureDeviceNV = XID;
21 pub type GLXVideoDeviceNV = super::__gl_imports::raw::c_int;
22 pub type GLXVideoSourceSGIX = XID;
23 pub type GLXFBConfigIDSGIX = XID;
24 pub type GLXFBConfigSGIX = *const super::__gl_imports::raw::c_void;
25 pub type GLXPbufferSGIX = XID;
26 
27 #[repr(C)]
28 pub struct XVisualInfo {
29     pub visual: *mut Visual,
30     pub visualid: VisualID,
31     pub screen: super::__gl_imports::raw::c_int,
32     pub depth: super::__gl_imports::raw::c_int,
33     pub class: super::__gl_imports::raw::c_int,
34     pub red_mask: super::__gl_imports::raw::c_ulong,
35     pub green_mask: super::__gl_imports::raw::c_ulong,
36     pub blue_mask: super::__gl_imports::raw::c_ulong,
37     pub colormap_size: super::__gl_imports::raw::c_int,
38     pub bits_per_rgb: super::__gl_imports::raw::c_int,
39 }
40 
41 #[repr(C)]
42 pub struct GLXPbufferClobberEvent {
43     pub event_type: super::__gl_imports::raw::c_int, // GLX_DAMAGED or GLX_SAVED
44     pub draw_type: super::__gl_imports::raw::c_int, // GLX_WINDOW or GLX_PBUFFER
45     pub serial: super::__gl_imports::raw::c_ulong, // # of last request processed by server
46     pub send_event: Bool, // true if this came for SendEvent request
47     pub display: *const Display, // display the event was read from
48     pub drawable: GLXDrawable, // XID of Drawable
49     pub buffer_mask: super::__gl_imports::raw::c_uint, // mask indicating which buffers are affected
50     pub aux_buffer: super::__gl_imports::raw::c_uint, // which aux buffer was affected
51     pub x: super::__gl_imports::raw::c_int,
52     pub y: super::__gl_imports::raw::c_int,
53     pub width: super::__gl_imports::raw::c_int,
54     pub height: super::__gl_imports::raw::c_int,
55     pub count: super::__gl_imports::raw::c_int, // if nonzero, at least this many more
56 }
57 
58 #[repr(C)]
59 pub struct GLXBufferSwapComplete {
60     pub type_: super::__gl_imports::raw::c_int,
61     pub serial: super::__gl_imports::raw::c_ulong, // # of last request processed by server
62     pub send_event: Bool, // true if this came from a SendEvent request
63     pub display: *const Display, // Display the event was read from
64     pub drawable: GLXDrawable, // drawable on which event was requested in event mask
65     pub event_type: super::__gl_imports::raw::c_int,
66     pub ust: i64,
67     pub msc: i64,
68     pub sbc: i64,
69 }
70 
71 // typedef union __GLXEvent {
72 //     GLXPbufferClobberEvent glxpbufferclobber;
73 //     GLXBufferSwapComplete glxbufferswapcomplete;
74 //     long pad[24];
75 // }
76 
77 #[repr(C)]
78 pub struct GLXBufferClobberEventSGIX {
79     pub type_: super::__gl_imports::raw::c_int,
80     pub serial: super::__gl_imports::raw::c_ulong, // # of last request processed by server
81     pub send_event: Bool, // true if this came for SendEvent request
82     pub display: *const Display, // display the event was read from
83     pub drawable: GLXDrawable, // i.d. of Drawable
84     pub event_type: super::__gl_imports::raw::c_int, // GLX_DAMAGED_SGIX or GLX_SAVED_SGIX
85     pub draw_type: super::__gl_imports::raw::c_int, // GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX
86     pub mask: super::__gl_imports::raw::c_uint, // mask indicating which buffers are affected
87     pub x: super::__gl_imports::raw::c_int,
88     pub y: super::__gl_imports::raw::c_int,
89     pub width: super::__gl_imports::raw::c_int,
90     pub height: super::__gl_imports::raw::c_int,
91     pub count: super::__gl_imports::raw::c_int, // if nonzero, at least this many more
92 }
93 
94 #[repr(C)]
95 pub struct GLXHyperpipeNetworkSGIX {
96     pub pipeName: [super::__gl_imports::raw::c_char; 80], // Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]
97     pub networkId: super::__gl_imports::raw::c_int,
98 }
99 
100 #[repr(C)]
101 pub struct GLXHyperpipeConfigSGIX {
102     pub pipeName: [super::__gl_imports::raw::c_char; 80], // Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]
103     pub channel: super::__gl_imports::raw::c_int,
104     pub participationType: super::__gl_imports::raw::c_uint,
105     pub timeSlice: super::__gl_imports::raw::c_int,
106 }
107 
108 #[repr(C)]
109 pub struct GLXPipeRect {
110     pub pipeName: [super::__gl_imports::raw::c_char; 80], // Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]
111     pub srcXOrigin: super::__gl_imports::raw::c_int,
112     pub srcYOrigin: super::__gl_imports::raw::c_int,
113     pub srcWidth: super::__gl_imports::raw::c_int,
114     pub srcHeight: super::__gl_imports::raw::c_int,
115     pub destXOrigin: super::__gl_imports::raw::c_int,
116     pub destYOrigin: super::__gl_imports::raw::c_int,
117     pub destWidth: super::__gl_imports::raw::c_int,
118     pub destHeight: super::__gl_imports::raw::c_int,
119 }
120 
121 #[repr(C)]
122 pub struct GLXPipeRectLimits {
123     pub pipeName: [super::__gl_imports::raw::c_char; 80], // Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]
124     pub XOrigin: super::__gl_imports::raw::c_int,
125     pub YOrigin: super::__gl_imports::raw::c_int,
126     pub maxHeight: super::__gl_imports::raw::c_int,
127     pub maxWidth: super::__gl_imports::raw::c_int,
128 }
129