diff org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glx.d @ 25:f713da8bc051

Added SWT Linux GTK
author Frank Benoit <benoit@tionex.de>
date Fri, 20 Mar 2009 23:03:58 +0100
parents
children 7a2dd761a8b2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glx.d	Fri Mar 20 23:03:58 2009 +0100
@@ -0,0 +1,362 @@
+/******************************************************************************
+    Based on the generated files from the BCD tool
+    modified by: Frank Benoit <keinfarbton@googlemail.com>
+******************************************************************************/
+module org.eclipse.swt.internal.c.glx;
+
+import java.lang.all;
+
+public import org.eclipse.swt.internal.c.Xutil;
+
+version=DYNLINK;
+
+version(DYNLINK){
+    import tango.sys.SharedLib : SharedLib;
+    struct Symbol{
+        String name;
+        void** symbol;
+    }
+}
+
+void loadLib(){
+    version(DYNLINK){
+        String libname = "libGL.so";
+
+        SharedLib lib = SharedLib.load( libname );
+        if( lib is null ){
+            lib = SharedLib.load( libname ~ ".0" );
+        }
+
+        if ( lib !is null ) {
+            foreach( inout s; symbols ){
+                try{
+                    *s.symbol = lib.getSymbol( s.name.ptr );
+                }
+                catch(Exception e){}
+                if( *s.symbol is null ){
+                    getDwtLogger().trace( __FILE__, __LINE__,  "{}: Symbol '{}' not found", libname, s.name );
+                }
+            }
+        } else {
+            getDwtLogger().trace( __FILE__, __LINE__,  "Could not load the library {}", libname );
+        }
+    }
+}
+
+extern(C):
+align(4):
+
+alias __GLXEvent GLXEvent;
+alias uint GLXDrawable;
+alias void * GLXFBConfig;
+alias void * GLXContext;
+alias uint GLXFBConfigID;
+alias uint GLXWindow;
+alias uint GLXPbuffer;
+alias uint GLXPixmap;
+alias uint GLXContextID;
+alias void function() _BCD_func__2197;
+alias void function(uint, float *) _BCD_func__2139;
+alias void function(uint, float) _BCD_func__2140;
+alias void function(uint, int, void *) _BCD_func__2141;
+alias void function(uint, int, int, int, uint, int, void *) _BCD_func__2142;
+alias void function(uint, int, int, int, int, int, uint, int, void *) _BCD_func__2143;
+alias void function(uint, int, int, int, int, int, int, int, uint, int, void *) _BCD_func__2144;
+alias void function(uint, int, int, int, int, int, void *) _BCD_func__2145;
+alias void function(uint, int, int, int, int, int, int, void *) _BCD_func__2146;
+alias void function(uint, int, int, int, int, int, int, int, void *) _BCD_func__2147;
+alias void function(uint, uint, uint *) _BCD_func__2148;
+alias void function(uint, uint, float *) _BCD_func__2149;
+alias void function(uint, short *) _BCD_func__2150;
+alias void function(uint, int *) _BCD_func__2151;
+alias void function(uint, double *) _BCD_func__2152;
+alias void function(uint, char *) _BCD_func__2153;
+alias void function(uint, uint, uint) _BCD_func__2154;
+alias void function(uint, uint, float *) _BCD_func__2155;
+alias void function(uint, uint, uint, uint, uint) _BCD_func__2156;
+alias void function(uint, uint, uint, uint) _BCD_func__2157;
+alias void function(uint, uint) _BCD_func__2158;
+alias void function(uint, short *) _BCD_func__2159;
+alias void function(uint, int *) _BCD_func__2160;
+alias void function(uint, float *) _BCD_func__2161;
+alias void function(uint, double *) _BCD_func__2162;
+alias void function(uint, char *) _BCD_func__2163;
+alias char function(uint) _BCD_func__2164;
+alias uint function(int) _BCD_func__2165;
+alias uint function(short *) _BCD_func__2166;
+alias uint function(int *) _BCD_func__2167;
+alias uint function(float *) _BCD_func__2168;
+alias uint function(double *) _BCD_func__2169;
+alias uint function(char *) _BCD_func__2170;
+alias void function() _BCD_func__2171;
+alias void function(int, uint *) _BCD_func__2172;
+alias void function(uint) _BCD_func__2173;
+alias void function(uint, uint, int *) _BCD_func__2174;
+alias void function(uint, uint, char *) _BCD_func__2175;
+alias void function(uint, uint, void * *) _BCD_func__2176;
+alias char function(uint, uint) _BCD_func__2177;
+alias uint function(uint) _BCD_func__2178;
+alias uint function(uint, uint) _BCD_func__2179;
+alias uint function(uint, uint, uint) _BCD_func__2180;
+alias void function(uint) _BCD_func__2181;
+alias void function(uint, uint, int, void *) _BCD_func__2182;
+alias void function(uint, uint *) _BCD_func__2183;
+alias void function(uint, ushort *) _BCD_func__2184;
+alias void function(uint, char *) _BCD_func__2185;
+alias void function(uint, double *) _BCD_func__2186;
+alias void function(uint, float *) _BCD_func__2187;
+alias void function(uint, int *) _BCD_func__2188;
+alias void function(uint, short *) _BCD_func__2189;
+alias void function(uint, char *) _BCD_func__2190;
+alias void function(uint, uint, void *) _BCD_func__2191;
+alias uint function(uint, uint, uint, uint) _BCD_func__2192;
+alias void function(uint, uint, uint) _BCD_func__2193;
+alias void function(uint, uint, uint, uint, uint, uint) _BCD_func__2194;
+alias void function(uint, uint, uint, uint, uint) _BCD_func__2195;
+alias void function(uint, uint, uint, uint) _BCD_func__2196;
+alias void function(uint, uint, uint, int) _BCD_func__2198;
+alias void function(uint, int) _BCD_func__2199;
+alias void function(uint, void *) _BCD_func__2200;
+alias void function(uint, uint, int, uint, uint) _BCD_func__2201;
+alias void function(uint, int, uint, int, uint, uint) _BCD_func__2202;
+alias void function(uint, uint, int, void *, uint) _BCD_func__2203;
+alias uint function(int, void *, uint) _BCD_func__2204;
+alias char function(int, int, int, int) _BCD_func__2205;
+alias char function() _BCD_func__2206;
+alias void function(uint, int *, uint, void * *, int) _BCD_func__2207;
+alias void function(uint, int *, int *, int) _BCD_func__2208;
+alias void function(int, uint, int, void *) _BCD_func__2209;
+alias void function(double *) _BCD_func__2210;
+alias void function(float *) _BCD_func__2211;
+alias void function(uint *) _BCD_func__2212;
+alias void function(int *) _BCD_func__2213;
+alias void function(ushort *) _BCD_func__2214;
+alias void function(short *) _BCD_func__2215;
+alias void function(char *) _BCD_func__2216;
+alias void function(char *) _BCD_func__2217;
+alias void function(double, double, double) _BCD_func__2218;
+alias void function(float, float, float) _BCD_func__2219;
+alias void function(int, int, int) _BCD_func__2220;
+alias void function(ushort, ushort, ushort) _BCD_func__2221;
+alias void function(short, short, short) _BCD_func__2222;
+alias void function(char, char, char) _BCD_func__2223;
+alias void function(char, char, char) _BCD_func__2224;
+alias void function(uint, int, void *) _BCD_func__2225;
+alias void function(double) _BCD_func__2226;
+alias void function(float) _BCD_func__2227;
+alias void function(int, int) _BCD_func__2228;
+alias void function(uint, uint, int *) _BCD_func__2229;
+alias void function(uint, uint, float *) _BCD_func__2230;
+alias void function(uint, uint, uint, void *) _BCD_func__2231;
+alias void function(uint, uint, int, int, int) _BCD_func__2232;
+alias void function(uint, uint, int, uint, uint, void *) _BCD_func__2233;
+alias void function(uint, int, int, uint, uint, void *) _BCD_func__2234;
+alias void function(int, uint, int, int, void *) _BCD_func__2236;
+alias void function(uint, int, int, void *) _BCD_func__2237;
+alias void function(uint, void * *) _BCD_func__2238;
+alias void function(int, int, char *) _BCD_func__2239;
+alias void function(uint, int, int) _BCD_func__2240;
+alias void function(int) _BCD_func__2241;
+alias void function(uint, short *) _BCD_func__2244;
+alias void function(uint, short, short, short, short) _BCD_func__2245;
+alias void function(uint, int *) _BCD_func__2246;
+alias void function(uint, int, int, int, int) _BCD_func__2247;
+alias void function(uint, float *) _BCD_func__2248;
+alias void function(uint, float, float, float, float) _BCD_func__2249;
+alias void function(uint, double *) _BCD_func__2250;
+alias void function(uint, double, double, double, double) _BCD_func__2251;
+alias void function(uint, short, short, short) _BCD_func__2252;
+alias void function(uint, int, int, int) _BCD_func__2253;
+alias void function(uint, float, float, float) _BCD_func__2254;
+alias void function(uint, double, double, double) _BCD_func__2255;
+alias void function(uint, short, short) _BCD_func__2256;
+alias void function(uint, float, float) _BCD_func__2257;
+alias void function(uint, double, double) _BCD_func__2258;
+alias void function(uint, short) _BCD_func__2259;
+alias void function(uint, int) _BCD_func__2260;
+alias void function(uint, float) _BCD_func__2261;
+alias void function(uint, double) _BCD_func__2262;
+alias void function(uint, int, void *) _BCD_func__2263;
+alias void function(uint, int, int, int, uint, int, void *) _BCD_func__2264;
+alias void function(uint, int, int, int, int, int, uint, int, void *) _BCD_func__2265;
+alias void function(uint, int, int, int, int, int, int, int, uint, int, void *) _BCD_func__2266;
+alias void function(uint, int, uint, int, int, int, void *) _BCD_func__2267;
+alias void function(uint, int, uint, int, int, int, int, void *) _BCD_func__2268;
+alias void function(uint, int, uint, int, int, int, int, int, void *) _BCD_func__2269;
+alias void function(float, char) _BCD_func__2270;
+alias void function(uint, uint, char) _BCD_func__2271;
+alias void function(uint, int, uint, char) _BCD_func__2272;
+alias void function(uint, char, uint, uint, void *) _BCD_func__2273;
+alias void function(uint, uint, int, int, uint, uint, void *, void *) _BCD_func__2274;
+alias void function(uint, uint, uint, void *, void *, void *) _BCD_func__2275;
+alias void function(uint, uint, int, int, int, int) _BCD_func__2276;
+alias void function(uint, uint, int *) _BCD_func__2277;
+alias void function(uint, uint, int) _BCD_func__2278;
+alias void function(uint, uint, float *) _BCD_func__2279;
+alias void function(uint, uint, float) _BCD_func__2280;
+alias void function(uint, uint, int, int, uint, uint, void *) _BCD_func__2281;
+alias void function(float, float, float, float) _BCD_func__2282;
+alias void function(uint, int, int, int, int, int, int, int, int) _BCD_func__2283;
+alias void function(uint, int, int, int, int, int, int, int, uint, uint, void *) _BCD_func__2284;
+alias void function(uint, int, int, int, int, int, int, uint, uint, void *) _BCD_func__2285;
+alias void function(uint, uint, uint, uint, void *) _BCD_func__2286;
+alias void function(void *, char *, int, int, char * *) _BCD_func__2388;
+alias int function(void *) _BCD_func__2428;
+alias int function(void *, XErrorEvent *) _BCD_func__2429;
+alias void function(void *, char *, char *) _BCD_func__2502;
+alias int function(void *, char *, char *) _BCD_func__2503;
+alias void function(void *, char *, char *) _BCD_func__2504;
+union __GLXEvent {
+GLXPbufferClobberEvent glxpbufferclobber;
+int [24] pad;
+}
+struct GLXPbufferClobberEvent {
+int event_type;
+int draw_type;
+uint serial;
+int send_event;
+void * display;
+uint drawable;
+uint buffer_mask;
+uint aux_buffer;
+int x;
+int y;
+int width;
+int height;
+int count;
+}
+
+version(DYNLINK){
+
+extern (C) void function(uint, int*) dwt_glGetIntegerv;
+extern (C) void function(int,int,int,int) dwt_glViewport;
+
+extern (C) int function(int)dwt_glXSwapIntervalSGI;
+extern (C) _BCD_func__2197 function(char *)dwt_glXGetProcAddressARB;
+extern (C) int function(void *, uint, void *)dwt_glXMakeCurrent;
+extern (C) void * function(void *, XVisualInfo *, void *, int)dwt_glXCreateContext;
+extern (C) void function(void *, uint)dwt_glXDestroyGLXPixmap;
+extern (C) uint function(void *, XVisualInfo *, uint)dwt_glXCreateGLXPixmap;
+extern (C) XVisualInfo * function(void *, int, int *)dwt_glXChooseVisual;
+extern (C) int function(void *, XVisualInfo *, int, int *)dwt_glXGetConfig;
+extern (C) void function(uint, int, int, int)dwt_glXUseXFont;
+extern (C) void function(void *, uint)dwt_glXSwapBuffers;
+extern (C) void function()dwt_glXWaitX;
+extern (C) void function()dwt_glXWaitGL;
+extern (C) void function(void *, uint, uint *)dwt_glXGetSelectedEvent;
+extern (C) void function(void *, uint, uint)dwt_glXSelectEvent;
+extern (C) int function(void *, void *, int, int *)dwt_glXQueryContext;
+extern (C) void * function()dwt_glXGetCurrentDisplay;
+extern (C) uint function()dwt_glXGetCurrentReadDrawable;
+extern (C) uint function()dwt_glXGetCurrentDrawable;
+extern (C) void * function()dwt_glXGetCurrentContext;
+extern (C) void function(void *, void *, void *, uint)dwt_glXCopyContext;
+extern (C) int function(void *, uint, uint, void *)dwt_glXMakeContextCurrent;
+extern (C) void function(void *, void *)dwt_glXDestroyContext;
+extern (C) int function(void *, void *)dwt_glXIsDirect;
+extern (C) void * function(void *, void *, int, void *, int)dwt_glXCreateNewContext;
+extern (C) void function(void *, uint, int, uint *)dwt_glXQueryDrawable;
+extern (C) void function(void *, uint)dwt_glXDestroyPbuffer;
+extern (C) uint function(void *, void *, int *)dwt_glXCreatePbuffer;
+extern (C) void function(void *, uint)dwt_glXDestroyPixmap;
+extern (C) uint function(void *, void *, uint, int *)dwt_glXCreatePixmap;
+extern (C) void function(void *, uint)dwt_glXDestroyWindow;
+extern (C) uint function(void *, void *, uint, int *)dwt_glXCreateWindow;
+extern (C) XVisualInfo * function(void *, void *)dwt_glXGetVisualFromFBConfig;
+extern (C) int function(void *, void *, int, int *)dwt_glXGetFBConfigAttrib;
+extern (C) void * * function(void *, int, int *, int *)dwt_glXChooseFBConfig;
+extern (C) void * * function(void *, int, int *)dwt_glXGetFBConfigs;
+extern (C) char * function(void *, int, int)dwt_glXQueryServerString;
+extern (C) char * function(void *, int)dwt_glXGetClientString;
+extern (C) char * function(void *, int)dwt_glXQueryExtensionsString;
+extern (C) int function(void *, int *, int *)dwt_glXQueryVersion;
+extern (C) int function(void *, int *, int *)dwt_glXQueryExtension;
+
+
+Symbol[] symbols = [
+    { "glGetIntegerv", cast(void**)& dwt_glGetIntegerv},
+    { "glViewport", cast(void**)& dwt_glViewport},
+    { "glXSwapIntervalSGI",  cast(void**)& dwt_glXSwapIntervalSGI},
+    { "glXGetProcAddressARB",  cast(void**)& dwt_glXGetProcAddressARB},
+    { "glXMakeCurrent",  cast(void**)& dwt_glXMakeCurrent},
+    { "glXCreateContext",  cast(void**)& dwt_glXCreateContext},
+    { "glXDestroyGLXPixmap",  cast(void**)& dwt_glXDestroyGLXPixmap},
+    { "glXCreateGLXPixmap",  cast(void**)& dwt_glXCreateGLXPixmap},
+    { "glXChooseVisual",  cast(void**)& dwt_glXChooseVisual},
+    { "glXGetConfig",  cast(void**)& dwt_glXGetConfig},
+    { "glXUseXFont",  cast(void**)& dwt_glXUseXFont},
+    { "glXSwapBuffers",  cast(void**)& dwt_glXSwapBuffers},
+    { "glXWaitX",  cast(void**)& dwt_glXWaitX},
+    { "glXWaitGL",  cast(void**)& dwt_glXWaitGL},
+    { "glXGetSelectedEvent",  cast(void**)& dwt_glXGetSelectedEvent},
+    { "glXSelectEvent",  cast(void**)& dwt_glXSelectEvent},
+    { "glXQueryContext",  cast(void**)& dwt_glXQueryContext},
+    { "glXGetCurrentDisplay",  cast(void**)& dwt_glXGetCurrentDisplay},
+    { "glXGetCurrentReadDrawable",  cast(void**)& dwt_glXGetCurrentReadDrawable},
+    { "glXGetCurrentDrawable",  cast(void**)& dwt_glXGetCurrentDrawable},
+    { "glXGetCurrentContext",  cast(void**)& dwt_glXGetCurrentContext},
+    { "glXCopyContext",  cast(void**)& dwt_glXCopyContext},
+    { "glXMakeContextCurrent",  cast(void**)& dwt_glXMakeContextCurrent},
+    { "glXDestroyContext",  cast(void**)& dwt_glXDestroyContext},
+    { "glXIsDirect",  cast(void**)& dwt_glXIsDirect},
+    { "glXCreateNewContext",  cast(void**)& dwt_glXCreateNewContext},
+    { "glXQueryDrawable",  cast(void**)& dwt_glXQueryDrawable},
+    { "glXDestroyPbuffer",  cast(void**)& dwt_glXDestroyPbuffer},
+    { "glXCreatePbuffer",  cast(void**)& dwt_glXCreatePbuffer},
+    { "glXDestroyPixmap",  cast(void**)& dwt_glXDestroyPixmap},
+    { "glXCreatePixmap",  cast(void**)& dwt_glXCreatePixmap},
+    { "glXDestroyWindow",  cast(void**)& dwt_glXDestroyWindow},
+    { "glXCreateWindow",  cast(void**)& dwt_glXCreateWindow},
+    { "glXGetVisualFromFBConfig",  cast(void**)& dwt_glXGetVisualFromFBConfig},
+    { "glXGetFBConfigAttrib",  cast(void**)& dwt_glXGetFBConfigAttrib},
+    { "glXChooseFBConfig",  cast(void**)& dwt_glXChooseFBConfig},
+    { "glXGetFBConfigs",  cast(void**)& dwt_glXGetFBConfigs},
+    { "glXQueryServerString",  cast(void**)& dwt_glXQueryServerString},
+    { "glXGetClientString",  cast(void**)& dwt_glXGetClientString},
+    { "glXQueryExtensionsString",  cast(void**)& dwt_glXQueryExtensionsString},
+    { "glXQueryVersion",  cast(void**)& dwt_glXQueryVersion},
+    { "glXQueryExtension",  cast(void**)& dwt_glXQueryExtension},
+];
+
+} else { // version(DYNLINK)
+extern (C) int glXSwapIntervalSGI(int);
+extern (C) _BCD_func__2197 glXGetProcAddressARB(char *);
+extern (C) int glXMakeCurrent(void *, uint, void *);
+extern (C) void * glXCreateContext(void *, XVisualInfo *, void *, int);
+extern (C) void glXDestroyGLXPixmap(void *, uint);
+extern (C) uint glXCreateGLXPixmap(void *, XVisualInfo *, uint);
+extern (C) XVisualInfo * glXChooseVisual(void *, int, int *);
+extern (C) int glXGetConfig(void *, XVisualInfo *, int, int *);
+extern (C) void glXUseXFont(uint, int, int, int);
+extern (C) void glXSwapBuffers(void *, uint);
+extern (C) void glXWaitX();
+extern (C) void glXWaitGL();
+extern (C) void glXGetSelectedEvent(void *, uint, uint *);
+extern (C) void glXSelectEvent(void *, uint, uint);
+extern (C) int glXQueryContext(void *, void *, int, int *);
+extern (C) void * glXGetCurrentDisplay();
+extern (C) uint glXGetCurrentReadDrawable();
+extern (C) uint glXGetCurrentDrawable();
+extern (C) void * glXGetCurrentContext();
+extern (C) void glXCopyContext(void *, void *, void *, uint);
+extern (C) int glXMakeContextCurrent(void *, uint, uint, void *);
+extern (C) void glXDestroyContext(void *, void *);
+extern (C) int glXIsDirect(void *, void *);
+extern (C) void * glXCreateNewContext(void *, void *, int, void *, int);
+extern (C) void glXQueryDrawable(void *, uint, int, uint *);
+extern (C) void glXDestroyPbuffer(void *, uint);
+extern (C) uint glXCreatePbuffer(void *, void *, int *);
+extern (C) void glXDestroyPixmap(void *, uint);
+extern (C) uint glXCreatePixmap(void *, void *, uint, int *);
+extern (C) void glXDestroyWindow(void *, uint);
+extern (C) uint glXCreateWindow(void *, void *, uint, int *);
+extern (C) XVisualInfo * glXGetVisualFromFBConfig(void *, void *);
+extern (C) int glXGetFBConfigAttrib(void *, void *, int, int *);
+extern (C) void * * glXChooseFBConfig(void *, int, int *, int *);
+extern (C) void * * glXGetFBConfigs(void *, int, int *);
+extern (C) char * glXQueryServerString(void *, int, int);
+extern (C) char * glXGetClientString(void *, int);
+extern (C) char * glXQueryExtensionsString(void *, int);
+extern (C) int glXQueryVersion(void *, int *, int *);
+extern (C) int glXQueryExtension(void *, int *, int *);
+} // version(DYNLINK)