X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Ftexwindow.h;h=f17a980d73b224aadece0e9e313ad13911456f2f;hb=1e6c548b5786d6fda97ba3d6d138e4a60a4911cc;hp=f0f03daf9fa651b3f3e20dbadff9088b5456fbef;hpb=99980506540d9546dad31223a6eadf126ba68121;p=xonotic%2Fnetradiant.git diff --git a/radiant/texwindow.h b/radiant/texwindow.h index f0f03daf..f17a980d 100644 --- a/radiant/texwindow.h +++ b/radiant/texwindow.h @@ -1,62 +1,68 @@ /* -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 -*/ - -#ifndef _TEXWINDOW_H_ -#define _TEXWINDOW_H_ - -#include "glwindow.h" - -class TexWnd : public GLWindow -{ -public: - TexWnd(); - void UpdateFilter(const char* pFilter); - void UpdatePrefs(); - void FocusEdit(); - bool CheckFilter( const char* ); - virtual ~TexWnd(); - - GtkWidget *m_pFilter; - -protected: - bool m_bNeedRange; - - void OnCreate (); - void OnExpose (); - void OnLButtonDown (guint32 flags, int x, int y); - void OnRButtonDown (guint32 flags, int x, int y); - void OnMButtonDown (guint32 flags, int x, int y); - void OnLButtonUp (guint32 flags, int pointx, int pointy); - void OnRButtonUp (guint32 flags, int pointx, int pointy); - void OnMButtonUp (guint32 flags, int pointx, int pointy); - void OnMouseMove (guint32 flags, int pointx, int pointy); - void OnSize (int cx, int cy); - - void OnMouseWheel(bool bUp); - - public: - void OnVScroll (); - - private: - void DragDropTexture (guint32 flags, int pointx, int pointy); -}; - -#endif // _TEXWINDOW_H_ + 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. + + 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 + */ + +#if !defined( INCLUDED_TEXWINDOW_H ) +#define INCLUDED_TEXWINDOW_H + +#include +#include "property.h" +#include "math/vector.h" +#include "generic/callback.h" +#include "signal/signalfwd.h" +#include "xml/xmltextags.h" + +class TextureBrowser; +TextureBrowser& GlobalTextureBrowser(); + +ui::Widget TextureBrowser_constructWindow( ui::Window toplevel ); +void TextureBrowser_destroyWindow(); + + +void TextureBrowser_ShowDirectory( TextureBrowser& textureBrowser, const char* name ); +void TextureBrowser_ShowStartupShaders( TextureBrowser& textureBrowser ); + +const char* TextureBrowser_GetSelectedShader( TextureBrowser& textureBrower ); + +void TextureBrowser_Construct(); +void TextureBrowser_Destroy(); + +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 ); + +void TextureBrowser_RefreshShaders(); + +#ifdef WORKAROUND_WINDOWS_GTK2_GLWIDGET +ui::GLArea TextureBrowser_getGLWidget(); +#endif // WORKAROUND_WINDOWS_GTK2_GLWIDGET + +#ifdef WORKAROUND_MACOS_GTK2_GLWIDGET +void TextureBrowser_showGLWidget(); +void TextureBrowser_hideGLWidget(); +#endif // WORKAROUND_MACOS_GTK2_GLWIDGET + +#endif