]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - include/igtkgl.h
Wrap more GTK
[xonotic/netradiant.git] / include / igtkgl.h
index e6e852545f11c585d2ccf64585a37ebb1f3997d3..b4454564d12e8e1665704a36e45d94c717294943 100644 (file)
 #if !defined( INCLUDED_IGTKGL_H )
 #define INCLUDED_IGTKGL_H
 
+#include <uilib/uilib.h>
 #include "generic/constant.h"
 
-typedef struct _GtkWidget GtkWidget;
-typedef int gint;
-typedef gint gboolean;
+template<class T>
+using func = T *;
 
-struct _QERGtkGLTable
-{
-       INTEGER_CONSTANT( Version, 1 );
-       STRING_CONSTANT( Name, "gtkgl" );
+struct _QERGtkGLTable {
+    STRING_CONSTANT(Name, "gtkgl");
+    INTEGER_CONSTANT(Version, 1);
 
-       GtkWidget* ( *glwidget_new )(gboolean zbufffer);
-       void ( *glwidget_swap_buffers )( GtkWidget* widget );
-       gboolean ( *glwidget_make_current )( GtkWidget* widget );
-       void ( *glwidget_destroy_context )( GtkWidget* widget );
-       void ( *glwidget_create_context )( GtkWidget* widget );
+    func<ui::GLArea(bool zbufffer)> glwidget_new;
+    func<void(ui::GLArea self)> glwidget_swap_buffers;
+    func<bool(ui::GLArea self)> glwidget_make_current;
+    func<void(ui::GLArea self)> glwidget_destroy_context;
+    func<void(ui::GLArea self)> glwidget_create_context;
 };
 
 #endif