typedef void (*FIPS_GLCLEARCOLOR_FN)(GLclampf, GLclampf, GLclampf, GLclampf);
FIPS_GLCLEARCOLOR_FN my_glClearColor;
-typedef void (*FIPS_GLLOADIDENTITY_FN)(void);
-FIPS_GLLOADIDENTITY_FN my_glLoadIdentity;
-
-typedef void (*FIPS_GLMATRIXMODE_FN)(GLenum);
-FIPS_GLMATRIXMODE_FN my_glMatrixMode;
-
-typedef void (*FIPS_GLORTHO_FN)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
-FIPS_GLORTHO_FN my_glOrtho;
-
typedef void (*FIPS_GLVIEWPORT_FN)(GLint, GLint, GLsizei, GLsizei);
FIPS_GLVIEWPORT_FN my_glViewport;
typedef void (*FIPS_GLXSWAPBUFFERS_FN)(Display *, GLXDrawable);
FIPS_GLXSWAPBUFFERS_FN my_glXSwapBuffers;
-#define HANDLE_EVENTS_GL_PREFIX my_
-#include "handle-events.c"
+#define COMMON_GL_PREFIX my_
+#include "common.c"
static void
resolve_symbols (void)
exit (1);
}
- my_glLoadIdentity = (FIPS_GLLOADIDENTITY_FN) glXGetProcAddress ((GLubyte*) "glLoadIdentity");
- if (my_glLoadIdentity == NULL) {
- fprintf (stderr, "Failed to glXGetProcAddress glLoadIdentity\n");
- exit (1);
- }
-
- my_glMatrixMode = (FIPS_GLMATRIXMODE_FN) glXGetProcAddress ((GLubyte*) "glMatrixMode");
- if (my_glMatrixMode == NULL) {
- fprintf (stderr, "Failed to glXGetProcAddress glMatrixMode\n");
- exit (1);
- }
-
- my_glOrtho = (FIPS_GLORTHO_FN) glXGetProcAddress ((GLubyte*) "glOrtho");
- if (my_glOrtho == NULL) {
- fprintf (stderr, "Failed to glXGetProcAddress glOrtho\n");
- exit (1);
- }
-
my_glViewport = (FIPS_GLVIEWPORT_FN) glXGetProcAddress ((GLubyte*) "glViewport");
if (my_glViewport == NULL) {
fprintf (stderr, "Failed to glXGetProcAddress glViewport\n");
{
Display *dpy;
Window window;
+ GLXContext ctx;
+ XVisualInfo *visual_info;
- util_x11_init_display (&dpy);
+ resolve_symbols ();
- util_x11_init_window (dpy, &window);
+ dpy = util_x11_init_display ();
- resolve_symbols ();
+ common_create_glx_context (dpy, &ctx, &visual_info);
+
+ window = util_x11_init_window (dpy, visual_info);
+
+ common_make_current (dpy, ctx, window);
- handle_events (dpy, window);
+ common_handle_events (dpy, dpy, window);
util_x11_fini_window (dpy, window);