2018-10-27 01:22:51 +02:00
|
|
|
#pragma once
|
|
|
|
#include <gtk/gtk.h>
|
|
|
|
#include <gdk/gdkx.h>
|
|
|
|
#include <epoxy/glx.h>
|
|
|
|
|
|
|
|
#include "gtk_opengl_context.h"
|
|
|
|
|
|
|
|
struct GTKGLXContext : OpenGLContext
|
|
|
|
{
|
|
|
|
GTKGLXContext ();
|
|
|
|
~GTKGLXContext ();
|
|
|
|
bool attach (GtkWidget *widget);
|
|
|
|
bool create_context ();
|
|
|
|
void resize ();
|
|
|
|
void swap_buffers ();
|
|
|
|
void swap_interval (int frames);
|
|
|
|
void make_current ();
|
|
|
|
|
|
|
|
GtkWidget *widget;
|
|
|
|
|
|
|
|
GdkDisplay *gdk_display;
|
|
|
|
GdkWindow *parent_gdk_window;
|
|
|
|
GdkWindow *gdk_window;
|
|
|
|
GdkWindowAttr window_attr;
|
|
|
|
|
|
|
|
GLXContext context;
|
|
|
|
GLXFBConfig fbconfig;
|
|
|
|
Display *display;
|
2018-10-27 22:12:21 +02:00
|
|
|
int screen;
|
2018-10-27 01:22:51 +02:00
|
|
|
XVisualInfo *vi;
|
|
|
|
Window xid;
|
2018-10-27 22:12:21 +02:00
|
|
|
|
|
|
|
int version_major;
|
|
|
|
int version_minor;
|
2018-10-27 01:22:51 +02:00
|
|
|
};
|