Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/core4/src/core/CorePrereqs.h @ 3607

Last change on this file since 3607 was 3291, checked in by rgrieder, 15 years ago

Added window size as static variable to the WindowEventListener interface.
This resolves several hacks and inconveniences in Mouse, InputManager, InGameConsole, GSGraphics and OrxonoxOverlay.

  • Property svn:eol-style set to native
File size: 5.7 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *                    > www.orxonox.net <
4 *
5 *
6 *   License notice:
7 *
8 *   This program is free software; you can redistribute it and/or
9 *   modify it under the terms of the GNU General Public License
10 *   as published by the Free Software Foundation; either version 2
11 *   of the License, or (at your option) any later version.
12 *
13 *   This program is distributed in the hope that it will be useful,
14 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *   GNU General Public License for more details.
17 *
18 *   You should have received a copy of the GNU General Public License
19 *   along with this program; if not, write to the Free Software
20 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 *
22 *   Author:
23 *      Reto Grieder
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29/**
30  @file
31  @brief Contains all the necessary forward declarations for all classes and structs.
32*/
33
34#ifndef _CorePrereqs_H__
35#define _CorePrereqs_H__
36
37#include "OrxonoxConfig.h"
38
39//-----------------------------------------------------------------------
40// Shared library settings
41//-----------------------------------------------------------------------
42#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined( CORE_STATIC_BUILD )
43#  ifdef CORE_SHARED_BUILD
44#    define _CoreExport __declspec(dllexport)
45#  else
46#    if defined( __MINGW32__ )
47#      define _CoreExport
48#    else
49#      define _CoreExport __declspec(dllimport)
50#    endif
51#  endif
52#elif defined ( ORXONOX_GCC_VISIBILITY )
53#  define _CoreExport  __attribute__ ((visibility("default")))
54#else
55#  define _CoreExport
56#endif
57
58
59//-----------------------------------------------------------------------
60// Forward declarations
61//-----------------------------------------------------------------------
62namespace orxonox
63{
64    namespace XMLPort
65    {
66        enum Mode
67        {
68            LoadObject,
69            SaveObject,
70            ExpandObject
71        };
72    }
73
74    namespace KeybindMode
75    {
76        enum Value
77        {
78            OnPress,
79            OnHold,
80            OnRelease,
81            None
82        };
83    };
84
85    typedef std::string LanguageEntryLabel;
86
87    class ArgumentCompleter;
88    class ArgumentCompletionListElement;
89    class BaseFactory;
90    class BaseMetaObjectListElement;
91    class BaseObject;
92    template <class T>
93    class ClassFactory;
94    template <class T>
95    class ClassIdentifier;
96    class ClassTreeMask;
97    class ClassTreeMaskIterator;
98    class ClassTreeMaskNode;
99    class ClassTreeMaskObjectIterator;
100    class Clock;
101    class CommandEvaluation;
102    class CommandExecutor;
103    class CommandLine;
104    class CommandLineArgument;
105    class ConfigFile;
106    class ConfigFileEntry;
107    class ConfigFileEntryComment;
108    class ConfigFileEntryValue;
109    class ConfigFileManager;
110    class ConfigFileSection;
111    class ConfigValueContainer;
112    class ConsoleCommand;
113    class Core;
114    struct Event;
115    class EventContainer;
116    class Executor;
117    template <class T>
118    class ExecutorMember;
119    class ExecutorStatic;
120    class Factory;
121    class Functor;
122    template <class T>
123    class FunctorMember;
124    class FunctorStatic;
125    class Identifier;
126    class IRC;
127    template <class T>
128    class Iterator;
129    class IteratorBase;
130    class Language;
131    class LanguageEntry;
132    class Loader;
133    class LuaBind;
134    class MetaObjectList;
135    class MetaObjectListElement;
136    class Namespace;
137    class NamespaceNode;
138    template <class T>
139    class ObjectList;
140    class ObjectListBase;
141    class ObjectListBaseElement;
142    template <class T>
143    class ObjectListElement;
144    template <class T>
145    class ObjectListIterator;
146    class OrxonoxClass;
147    class Shell;
148    class ShellListener;
149    template <class T>
150    class SubclassIdentifier;
151    class TclBind;
152    struct TclInterpreterBundle;
153    class TclThreadManager;
154    class Template;
155    class WindowEventListener;
156    class XMLFile;
157    class XMLNameListener;
158    template <class T, class O>
159    class XMLPortClassObjectContainer;
160    template <class T>
161    class XMLPortClassParamContainer;
162    class XMLPortObjectContainer;
163    class XMLPortParamContainer;
164
165    // game states
166    class Game;
167    struct GameStateConstrParams;
168    class GameState;
169    struct GameStateTreeNode;
170
171    // input
172    class BaseCommand;
173    class BufferedParamCommand;
174    class Button;
175    class CalibratorCallback;
176    class HalfAxis;
177    class InputBuffer;
178    class InputDevice;
179    template <class Traits>
180    class InputDeviceTemplated;
181    class InputHandler;
182    class InputManager;
183    class InputState;
184    class JoyStick;
185    class Mouse;
186    class Keyboard;
187    class KeyBinder;
188    class KeyDetector;
189    class ParamCommand;
190    class SimpleCommand;
191
192}
193
194// CppTcl
195namespace Tcl
196{
197    class interpreter;
198    class object;
199}
200
201// Boost
202namespace boost { namespace filesystem
203{
204    struct path_traits;
205    template <class String, class Traits> class basic_path;
206    typedef basic_path<std::string, path_traits> path;
207} }
208
209// TinyXML and TinyXML++
210class TiXmlString;
211class TiXmlOutStream;
212class TiXmlNode;
213class TiXmlHandle;
214class TiXmlDocument;
215class TiXmlElement;
216class TiXmlComment;
217class TiXmlUnknown;
218class TiXmlAttribute;
219class TiXmlText;
220class TiXmlDeclaration;
221class TiXmlParsingData;
222namespace ticpp
223{
224    class Document;
225    class Element;
226    class Declaration;
227    class StylesheetReference;
228    class Text;
229    class Comment;
230    class Attribute;
231}
232namespace orxonox
233{
234    using ticpp::Document;
235    using ticpp::Element;
236    using ticpp::Declaration;
237    using ticpp::StylesheetReference;
238    using ticpp::Text;
239    using ticpp::Comment;
240    using ticpp::Attribute;
241}
242
243
244#endif /* _CorePrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.