1 /* 2 Copyright (C) 1999-2006 Id Software, Inc. and contributors. 3 For a list of contributors, see the accompanying CONTRIBUTORS file. 4 5 This file is part of GtkRadiant. 6 7 GtkRadiant is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 GtkRadiant is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with GtkRadiant; if not, write to the Free Software 19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 */ 21 22 #if !defined (INCLUDED_BRUSHWRAPPER_H) 23 #define INCLUDED_BRUSHWRAPPER_H 24 25 #include "string/string.h" 26 27 enum EBrushPrefab 28 { 29 eBrushCuboid, 30 eBrushPrism, 31 eBrushCone, 32 eBrushSphere, 33 }; 34 35 class TextureProjection; 36 class ContentsFlagsValue; 37 namespace scene 38 { 39 class Graph; 40 } 41 void Scene_BrushConstructPrefab(scene::Graph& graph, EBrushPrefab type, std::size_t sides, const char* shader); 42 class AABB; 43 void Scene_BrushResize_Selected(scene::Graph& graph, const AABB& bounds, const char* shader); 44 void Scene_BrushSetTexdef_Selected(scene::Graph& graph, const TextureProjection& projection); 45 void Scene_BrushSetTexdef_Component_Selected(scene::Graph& graph, const TextureProjection& projection); 46 void Scene_BrushGetTexdef_Selected(scene::Graph& graph, TextureProjection& projection); 47 void Scene_BrushGetTexdef_Component_Selected(scene::Graph& graph, TextureProjection& projection); 48 void Scene_BrushSetFlags_Selected(scene::Graph& graph, const ContentsFlagsValue& flags); 49 void Scene_BrushSetFlags_Component_Selected(scene::Graph& graph, const ContentsFlagsValue& flags); 50 void Scene_BrushGetFlags_Selected(scene::Graph& graph, ContentsFlagsValue& flags); 51 void Scene_BrushGetFlags_Component_Selected(scene::Graph& graph, ContentsFlagsValue& flags); 52 void Scene_BrushShiftTexdef_Selected(scene::Graph& graph, float s, float t); 53 void Scene_BrushShiftTexdef_Component_Selected(scene::Graph& graph, float s, float t); 54 void Scene_BrushScaleTexdef_Selected(scene::Graph& graph, float s, float t); 55 void Scene_BrushScaleTexdef_Component_Selected(scene::Graph& graph, float s, float t); 56 void Scene_BrushRotateTexdef_Selected(scene::Graph& graph, float angle); 57 void Scene_BrushRotateTexdef_Component_Selected(scene::Graph& graph, float angle); 58 void Scene_BrushSetShader_Selected(scene::Graph& graph, const char* name); 59 void Scene_BrushSetShader_Component_Selected(scene::Graph& graph, const char* name); 60 void Scene_BrushGetShader_Selected(scene::Graph& graph, CopiedString& shader); 61 void Scene_BrushGetShader_Component_Selected(scene::Graph& graph, CopiedString& shader); 62 void Scene_BrushFindReplaceShader(scene::Graph& graph, const char* find, const char* replace); 63 void Scene_BrushFindReplaceShader_Selected(scene::Graph& graph, const char* find, const char* replace); 64 void Scene_BrushFindReplaceShader_Component_Selected(scene::Graph& graph, const char* find, const char* replace); 65 void Scene_BrushSelectByShader(scene::Graph& graph, const char* name); 66 void Scene_BrushSelectByShader_Component(scene::Graph& graph, const char* name); 67 void Scene_BrushFitTexture_Selected(scene::Graph& graph, float s_repeat, float t_repeat); 68 void Scene_BrushFitTexture_Component_Selected(scene::Graph& graph, float s_repeat, float t_repeat); 69 70 class Callback; 71 72 typedef struct _GtkMenu GtkMenu; 73 void Brush_constructMenu(GtkMenu* menu); 74 75 extern Callback g_texture_lock_status_changed; 76 77 void SelectedFaces_copyTexture(); 78 void SelectedFaces_pasteTexture(); 79 void FaceTextureClipboard_setDefault(); 80 81 void BrushFilters_construct(); 82 void Brush_registerCommands(); 83 84 #endif 85