/* Copyright (C) 1999-2007 id Software, Inc. and contributors. For a list of contributors, see the accompanying CONTRIBUTORS file. This file is part of GtkRadiant. GtkRadiant is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. GtkRadiant is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GtkRadiant; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ //----------------------------------------------------------------------------- // // DESCRIPTION // This contains functions specific to the UI toolkit // it is best to avoid using them, but they are provided for backward compatibility with the older interfaces // the abstracted UI layer in iUI.h is not sufficient for some tasks .. no other choice than to rely on UI specific code #ifndef __IGL_GTK_H__ #define __IGL_GTK_H__ #define UIGTK_MAJOR "uigtk" // All OpenGL stuff is handled by GLWidget to ensure portability typedef GtkWidget* ( WINAPI * PFN_QERAPP_GETQEGLOBALSGLWIDGET )(); typedef GtkWidget* ( WINAPI * PFN_GLWIDGET_NEW )( gboolean zbufffer, GtkWidget* share ); typedef void ( WINAPI * PFN_GLWIDGET_SWAPBUFFERS )( GtkWidget* widget ); typedef gboolean ( WINAPI * PFN_GLWIDGET_MAKECURRENT )( GtkWidget* widget ); typedef void ( WINAPI * PFN_GLWIDGET_DESTROYCONTEXT )( GtkWidget* widget ); typedef void ( WINAPI * PFN_GLWIDGET_CREATECONTEXT )( GtkWidget* widget ); #if 0 typedef gpointer ( WINAPI * PFN_GLWIDGET_GETCONTEXT )( GtkWidget* widget ); #endif struct _QERUIGtkTable { int m_nSize; PFN_QERAPP_GETQEGLOBALSGLWIDGET m_pfn_GetQeglobalsGLWidget; PFN_GLWIDGET_NEW m_pfn_glwidget_new; PFN_GLWIDGET_SWAPBUFFERS m_pfn_glwidget_swap_buffers; PFN_GLWIDGET_MAKECURRENT m_pfn_glwidget_make_current; PFN_GLWIDGET_DESTROYCONTEXT m_pfn_glwidget_destroy_context; PFN_GLWIDGET_CREATECONTEXT m_pfn_glwidget_create_context; #if 0 PFN_GLWIDGET_GETCONTEXT m_pfn_glwidget_get_context; #endif }; #endif