]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - include/idata.h
transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / include / idata.h
1 /*\r
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.\r
4 \r
5 This file is part of GtkRadiant.\r
6 \r
7 GtkRadiant is free software; you can redistribute it and/or modify\r
8 it under the terms of the GNU General Public License as published by\r
9 the Free Software Foundation; either version 2 of the License, or\r
10 (at your option) any later version.\r
11 \r
12 GtkRadiant is distributed in the hope that it will be useful,\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 GNU General Public License for more details.\r
16 \r
17 You should have received a copy of the GNU General Public License\r
18 along with GtkRadiant; if not, write to the Free Software\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
20 */\r
21 \r
22 //-----------------------------------------------------------------------------\r
23 //\r
24 // DESCRIPTION:\r
25 // interface table to access low-level data inside Radiant (brushes, patches and generic editing primitives)\r
26 \r
27 #ifndef __IDATA_H_\r
28 #define __IDATA_H_\r
29 \r
30 // FIXME TTimo this should probably go away and be replaced by a more flat structure\r
31 //   having to write access functions for every single var is a big annoyance\r
32 //   see IMapData_t, generalize it?\r
33 \r
34 #define DATA_MAJOR "data"\r
35 // FIXME: remove\r
36 // define a GUID for this interface so plugins can access and reference it\r
37 // {608A9870-BCE7-11d4-A454-0004AC96D4C3}\r
38 static const GUID QERAppDataTable_GUID = \r
39 { 0x608a9870, 0xbce7, 0x11d4, { 0xa4, 0x54, 0x0, 0x4, 0xac, 0x96, 0xd4, 0xc3 } };\r
40 \r
41 \r
42 // pointers to active_brushes, selected_brushes and filtered_brushes\r
43 typedef brush_t* (WINAPI* PFN_ACTIVEBRUSHES) ();\r
44 typedef brush_t* (WINAPI* PFN_SELECTEDBRUSHES) ();\r
45 typedef brush_t* (WINAPI* PFN_FILTEREDBRUSHES) ();\r
46 typedef CPtrArray* (WINAPI* PFN_LSTSKINCACHE) ();\r
47 \r
48 struct _QERAppDataTable\r
49 {\r
50   int m_nSize;\r
51   PFN_ACTIVEBRUSHES m_pfnActiveBrushes;\r
52   PFN_SELECTEDBRUSHES m_pfnSelectedBrushes;\r
53   PFN_FILTEREDBRUSHES m_pfnFilteredBrushes;\r
54   PFN_LSTSKINCACHE m_pfnLstSkinCache;\r
55 };\r
56 \r
57 #endif\r