3
* Copyright (C) 2008 Matias De la Puente
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
* Matias De la Puente <mfpuente.ar@gmail.com>
23
[CCode (lower_case_cprefix ="", cheader_filename="GL/glx.h")]
27
public const int GLX_VERSION_1_1;
28
public const int GLX_VERSION_1_2;
29
public const int GLX_VERSION_1_3;
30
public const int GLX_VERSION_1_4;
31
public const int GLX_EXTENSION_NAME;
32
public const int GLX_USE_GL;
33
public const int GLX_BUFFER_SIZE;
34
public const int GLX_LEVEL;
35
public const int GLX_RGBA;
36
public const int GLX_DOUBLEBUFFER;
37
public const int GLX_STEREO;
38
public const int GLX_AUX_BUFFERS;
39
public const int GLX_RED_SIZE;
40
public const int GLX_GREEN_SIZE;
41
public const int GLX_BLUE_SIZE;
42
public const int GLX_ALPHA_SIZE;
43
public const int GLX_DEPTH_SIZE;
44
public const int GLX_STENCIL_SIZE;
45
public const int GLX_ACCUM_RED_SIZE;
46
public const int GLX_ACCUM_GREEN_SIZE;
47
public const int GLX_ACCUM_BLUE_SIZE;
48
public const int GLX_ACCUM_ALPHA_SIZE;
49
public const int GLX_BAD_SCREEN;
50
public const int GLX_BAD_ATTRIBUTE;
51
public const int GLX_NO_EXTENSION;
52
public const int GLX_BAD_VISUAL;
53
public const int GLX_BAD_CONTEXT;
54
public const int GLX_BAD_VALUE;
55
public const int GLX_BAD_ENUM;
56
public const int GLX_VENDOR;
57
public const int GLX_VERSION;
58
public const int GLX_EXTENSIONS;
59
public const int GLX_CONFIG_CAVEAT;
60
public const int GLX_DONT_CARE;
61
public const int GLX_X_VISUAL_TYPE;
62
public const int GLX_TRANSPARENT_TYPE;
63
public const int GLX_TRANSPARENT_INDEX_VALUE;
64
public const int GLX_TRANSPARENT_RED_VALUE;
65
public const int GLX_TRANSPARENT_GREEN_VALUE;
66
public const int GLX_TRANSPARENT_BLUE_VALUE;
67
public const int GLX_TRANSPARENT_ALPHA_VALUE;
68
public const int GLX_WINDOW_BIT;
69
public const int GLX_PIXMAP_BIT;
70
public const int GLX_PBUFFER_BIT;
71
public const int GLX_AUX_BUFFERS_BIT;
72
public const int GLX_FRONT_LEFT_BUFFER_BIT;
73
public const int GLX_FRONT_RIGHT_BUFFER_BIT;
74
public const int GLX_BACK_LEFT_BUFFER_BIT;
75
public const int GLX_BACK_RIGHT_BUFFER_BIT;
76
public const int GLX_DEPTH_BUFFER_BIT;
77
public const int GLX_STENCIL_BUFFER_BIT;
78
public const int GLX_ACCUM_BUFFER_BIT;
79
public const int GLX_NONE;
80
public const int GLX_SLOW_CONFIG;
81
public const int GLX_TRUE_COLOR;
82
public const int GLX_DIRECT_COLOR;
83
public const int GLX_PSEUDO_COLOR;
84
public const int GLX_STATIC_COLOR;
85
public const int GLX_GRAY_SCALE;
86
public const int GLX_STATIC_GRAY;
87
public const int GLX_TRANSPARENT_RGB;
88
public const int GLX_TRANSPARENT_INDEX;
89
public const int GLX_VISUAL_ID;
90
public const int GLX_SCREEN;
91
public const int GLX_NON_CONFORMANT_CONFIG;
92
public const int GLX_DRAWABLE_TYPE;
93
public const int GLX_RENDER_TYPE;
94
public const int GLX_X_RENDERABLE;
95
public const int GLX_FBCONFIG_ID;
96
public const int GLX_RGBA_TYPE;
97
public const int GLX_COLOR_INDEX_TYPE;
98
public const int GLX_MAX_PBUFFER_WIDTH;
99
public const int GLX_MAX_PBUFFER_HEIGHT;
100
public const int GLX_MAX_PBUFFER_PIXELS;
101
public const int GLX_PRESERVED_CONTENTS;
102
public const int GLX_LARGEST_PBUFFER;
103
public const int GLX_WIDTH;
104
public const int GLX_HEIGHT;
105
public const int GLX_EVENT_MASK;
106
public const int GLX_DAMAGED;
107
public const int GLX_SAVED;
108
public const int GLX_WINDOW;
109
public const int GLX_PBUFFER;
110
public const int GLX_PBUFFER_HEIGHT;
111
public const int GLX_PBUFFER_WIDTH;
112
public const int GLX_RGBA_BIT;
113
public const int GLX_COLOR_INDEX_BIT;
114
public const int GLX_PBUFFER_CLOBBER_MASK;
115
public const int GLX_SAMPLE_BUFFERS;
116
public const int GLX_SAMPLES;
119
public struct Context { }
121
[IntegerType (rank=9)]
122
public struct Pixmap { }
124
[IntegerType (rank=9)]
125
public struct Drawable { }
127
public struct FBConfig { }
129
[IntegerType (rank=9)]
130
public struct FBConfigID { }
132
[IntegerType (rank=9)]
133
public struct ContextID { }
135
[IntegerType (rank=9)]
136
public struct Window { }
138
[IntegerType (rank=9)]
139
public struct Pbuffer { }
141
[IntegerType (rank=9)]
142
public struct Font { }
144
[IntegerType (rank=9)]
145
public struct VisualID { }
148
[CCode (cname="XVisualInfo", free_function="XFree")]
149
public class XVisualInfo
151
public uint32 visualid;
155
public ulong red_mask;
156
public ulong green_mask;
157
public ulong blue_mask;
158
public int colormap_size;
159
public int bits_per_rgb;
162
public static XVisualInfo glXChooseVisual (void* dpy, int screen, [CCode (array_length = false)] int[] attribList);
163
public static Context glXCreateContext (void* dpy, XVisualInfo vis, Context? shareList, bool direct);
164
public static void glXDestroyContext (void* dpy, Context ctx);
165
public static bool glXMakeCurrent (void* dpy, Drawable drawable, Context ctx);
166
public static void glXCopyContext (void* dpy, Context src, Context dst, ulong mask);
167
public static void glXSwapBuffers (void* dpy, Drawable drawable);
168
public static Pixmap glXCreateGLXPixmap (void* dpy, XVisualInfo visual, Pixmap pixmap);
169
public static void glXDestroyGLXPixmap (void* dpy, Pixmap pixmap);
170
public static bool glXQueryExtension (void* dpy, out int errorb, out int event);
171
public static bool glXQueryVersion (void* dpy, out int maj, out int min);
172
public static bool glXIsDirect (void* dpy, Context ctx );
173
public static int glXGetConfig (void* dpy, XVisualInfo visual, int attrib, out int @value);
174
public static unowned string glXQueryExtensionsString (void* dpy, int screen);
175
public static unowned string glXQueryServerString (void* dpy, int screen, int name);
176
public static unowned string glXGetClientString (void* dpy, int name);
177
public static void* glXGetCurrentDisplay (void* dpy);
178
public static FBConfig* glXChooseFBConfig (void* dpy, int screen, [CCode (array_length = false)] int[] attribList, out int nitems);
179
public static int glXGetFBConfigAttrib (void* dpy, FBConfig config, int attribute, out int @value);
180
public static FBConfig glXGetFBConfigs (void* dpy, int screen, out int nelements);
181
public static XVisualInfo glXGetVisualFromFBConfig (void* dpy, FBConfig config);
182
public static Window glXCreateWindow (void* dpy, FBConfig config, Window win, [CCode (array_length = false)] int[] attribList);
183
public static void glXDestroyWindow (void* dpy, Window window);
184
public static Pixmap glXCreatePixmap (void* dpy, FBConfig config, Pixmap pixmap, [CCode (array_length = false)] int[] attribList);
185
public static void glXDestroyPixmap (void* dpy, Pixmap pixmap);
186
public static Pbuffer glXCreatePbuffer (void* dpy, FBConfig config, [CCode (array_length = false)] int[] attribList);
187
public static void glXDestroyPbuffer (void* dpy, Pbuffer pbuf);
188
public static void glXQueryDrawable (void* dpy, Drawable draw, int attribute, out uint @value);
189
public static Context glXCreateNewContext (void* dpy, FBConfig config, int renderType, Context shareList, bool direct);
190
public static bool glXMakeContextCurrent (void* dpy, Drawable draw, Drawable read, Context ctx);
191
public static int glXQueryContext (void* dpy, Context ctx, int attribute, out int @value);
192
public static void glXSelectEvent (void* dpy, Drawable drawable, ulong mask);
193
public static void glXGetSelectedEvent (void* dpy, Drawable drawable, out ulong mask);
195
public static Context glXGetCurrentContext ();
196
public static Drawable glXGetCurrentDrawable ();
197
public static void glXWaitGL ();
198
public static void glXWaitX ();
199
public static void glXUseXFont (Font font, int first, int count, int list);
200
public static Drawable glXGetCurrentReadDrawable ();