]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/texwindow.h
uncrustify! now the code is only ugly on the *inside*
[xonotic/netradiant.git] / radiant / texwindow.h
index 4921fa0509a10997c8d27b72dc98a8e766b55e36..da794345c24e520ddcc9469b8451822c9c338186 100644 (file)
@@ -1,77 +1,62 @@
 /*
-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 "math/vector.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
-
-class TextureBrowser;
-TextureBrowser& GlobalTextureBrowser();
-
-typedef struct _GtkWindow GtkWindow;
-GtkWidget* TextureBrowser_constructWindow(GtkWindow* 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();
-
-template<typename FirstArgument>
-class Callback1;
-typedef Callback1<const char*> StringImportCallback;
-template<typename FirstArgument, void (*func)(FirstArgument)> 
-class FreeCaller1;
-
-extern GtkWidget* g_page_textures;
-void TextureBrowser_exportTitle(const StringImportCallback& importer);
-typedef FreeCaller1<const StringImportCallback&, TextureBrowser_exportTitle> TextureBrowserExportTitleCaller;
-
-const Vector3& TextureBrowser_getBackgroundColour(TextureBrowser& textureBrowser);
-void TextureBrowser_setBackgroundColour(TextureBrowser& textureBrowser, const Vector3& colour);
-
-class Callback;
-void TextureBrowser_addActiveShadersChangedCallback(const Callback& callback);
-void TextureBrowser_addShadersRealiseCallback(const Callback& callback);
-
-#endif
+   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_