X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Ftexwindow.h;h=f17a980d73b224aadece0e9e313ad13911456f2f;hb=0ae4329330f964c0e5af3742e365d71bb7d607fd;hp=dd871b37be278025e3cab7349330f3689ffa31be;hpb=6ee91d153ea09f2dafa62ed2f022f4183c090168;p=xonotic%2Fnetradiant.git diff --git a/radiant/texwindow.h b/radiant/texwindow.h index dd871b37..f17a980d 100644 --- a/radiant/texwindow.h +++ b/radiant/texwindow.h @@ -1,76 +1,68 @@ /* -Copyright (C) 1999-2006 Id Software, Inc. and contributors. -For a list of contributors, see the accompanying CONTRIBUTORS file. + Copyright (C) 1999-2006 Id Software, Inc. and contributors. + For a list of contributors, see the accompanying CONTRIBUTORS file. -This file is part of GtkRadiant. + 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 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. + 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 -*/ + 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 + */ -#if !defined(INCLUDED_TEXWINDOW_H) +#if !defined( INCLUDED_TEXWINDOW_H ) #define INCLUDED_TEXWINDOW_H +#include +#include "property.h" #include "math/vector.h" -#include "generic/callbackfwd.h" +#include "generic/callback.h" #include "signal/signalfwd.h" - -// textures menu - -typedef struct _GSList GSList; -typedef struct _GtkWidget GtkWidget; -typedef struct _GtkMenu GtkMenu; -typedef struct _GtkMenuItem GtkMenuItem; - -extern GtkMenu* g_textures_menu; -extern GtkMenuItem* g_textures_menu_separator; -void TextureGroupsMenu_Construct(); -void TextureGroupsMenu_Destroy(); -void TextureGroupsMenu_ListItems(GSList*& items); -const char* TextureGroupsMenu_GetName(std::size_t menunum); - - -// texture browser +#include "xml/xmltextags.h" class TextureBrowser; TextureBrowser& GlobalTextureBrowser(); -typedef struct _GtkWindow GtkWindow; -GtkWidget* TextureBrowser_constructWindow(GtkWindow* toplevel); +ui::Widget TextureBrowser_constructWindow( ui::Window toplevel ); void TextureBrowser_destroyWindow(); -void TextureBrowser_ShowDirectory(TextureBrowser& textureBrowser, const char* name); -void TextureBrowser_ShowStartupShaders(TextureBrowser& textureBrowser); +void TextureBrowser_ShowDirectory( TextureBrowser& textureBrowser, const char* name ); +void TextureBrowser_ShowStartupShaders( TextureBrowser& textureBrowser ); -const char* TextureBrowser_GetSelectedShader(TextureBrowser& textureBrower); +const char* TextureBrowser_GetSelectedShader( TextureBrowser& textureBrower ); void TextureBrowser_Construct(); void TextureBrowser_Destroy(); -typedef Callback1 StringImportCallback; -template -class FreeCaller1; +extern ui::Widget g_page_textures; +void TextureBrowser_exportTitle( const Callback & importer ); +typedef FreeCaller &), TextureBrowser_exportTitle> TextureBrowserExportTitleCaller; + +const Vector3& TextureBrowser_getBackgroundColour( TextureBrowser& textureBrowser ); +void TextureBrowser_setBackgroundColour( TextureBrowser& textureBrowser, const Vector3& colour ); + +void TextureBrowser_addActiveShadersChangedCallback( const SignalHandler& handler ); +void TextureBrowser_addShadersRealiseCallback( const SignalHandler& handler ); -extern GtkWidget* g_page_textures; -void TextureBrowser_exportTitle(const StringImportCallback& importer); -typedef FreeCaller1 TextureBrowserExportTitleCaller; +void TextureBrowser_RefreshShaders(); -const Vector3& TextureBrowser_getBackgroundColour(TextureBrowser& textureBrowser); -void TextureBrowser_setBackgroundColour(TextureBrowser& textureBrowser, const Vector3& colour); +#ifdef WORKAROUND_WINDOWS_GTK2_GLWIDGET +ui::GLArea TextureBrowser_getGLWidget(); +#endif // WORKAROUND_WINDOWS_GTK2_GLWIDGET -void TextureBrowser_addActiveShadersChangedCallback(const SignalHandler& handler); -void TextureBrowser_addShadersRealiseCallback(const SignalHandler& handler); +#ifdef WORKAROUND_MACOS_GTK2_GLWIDGET +void TextureBrowser_showGLWidget(); +void TextureBrowser_hideGLWidget(); +#endif // WORKAROUND_MACOS_GTK2_GLWIDGET #endif