Crazy Eddie's GUI System  0.8.5
ForwardRefs.h
1 /***********************************************************************
2  created: 21/2/2004
3  author: Paul D Turner
4 
5  purpose: Forward declares all core system classes
6 *************************************************************************/
7 /***************************************************************************
8  * Copyright (C) 2004 - 2009 Paul D Turner & The CEGUI Development Team
9  *
10  * Permission is hereby granted, free of charge, to any person obtaining
11  * a copy of this software and associated documentation files (the
12  * "Software"), to deal in the Software without restriction, including
13  * without limitation the rights to use, copy, modify, merge, publish,
14  * distribute, sublicense, and/or sell copies of the Software, and to
15  * permit persons to whom the Software is furnished to do so, subject to
16  * the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be
19  * included in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27  * OTHER DEALINGS IN THE SOFTWARE.
28  ***************************************************************************/
29 #ifndef _CEGUIForwardRefs_h_
30 #define _CEGUIForwardRefs_h_
31 
32 // Start of CEGUI namespace section
33 namespace CEGUI
34 {
35 /*************************************************************************
36  Forward declare majority of core classes
37 *************************************************************************/
38 class Affector;
39 class Animation;
40 class AnimationInstance;
41 class AnimationManager;
42 class BasicRenderedStringParser;
43 class BidiVisualMapping;
44 class CentredRenderedString;
45 class Clipboard;
46 class Colour;
47 class ColourRect;
48 class CoordConverter;
49 class DefaultLogger;
50 class DefaultRenderedStringParser;
51 class DefaultResourceProvider;
52 class DynamicModule;
53 class Element;
54 class ElementEventArgs;
55 class Event;
56 class EventAction;
57 class EventArgs;
58 class EventSet;
59 class Exception;
60 class FactoryModule;
61 class Font;
62 class FontGlyph;
63 class FontManager;
64 class FormattedRenderedString;
65 class GeometryBuffer;
66 class GlobalEventSet;
67 class GUIContext;
68 class Image;
69 class ImageCodec;
70 class ImageManager;
71 class ImagerySection;
72 class Interpolator;
73 class JustifiedRenderedString;
74 class KeyFrame;
75 class LeftAlignedRenderedString;
76 class LinkedEvent;
77 class LinkedEventArgs;
78 class Logger;
79 class MouseCursor;
80 class NamedElement;
81 class NamedElementEventArgs;
82 class NativeClipboardProvider;
83 class Property;
84 template<typename T> class PropertyHelper;
85 class PropertyReceiver;
86 class PropertySet;
87 class Quaternion;
88 class RawDataContainer;
89 template<typename T> class Rect;
90 class RegexMatcher;
91 class RenderedString;
97 class Renderer;
98 class RenderEffect;
100 struct RenderingContext;
101 class RenderingSurface;
102 class RenderingWindow;
103 class RenderQueue;
104 class RenderTarget;
105 class ResourceEventSet;
106 class ResourceProvider;
108 class Scheme;
109 class SchemeManager;
110 class ScriptFunctor;
111 class ScriptModule;
112 template<typename T> class Size;
113 class SimpleTimer;
114 class StringTranscoder;
115 class System;
116 class SystemKeys;
117 class Texture;
118 class TextureTarget;
119 class TextUtils;
120 class UBox;
121 class UDim;
122 template<typename T> class Vector2;
123 template<typename T> class Vector3;
124 struct Vertex;
125 class WidgetLookFeel;
126 class Window;
127 class WindowFactory;
129 class WindowManager;
130 class WindowRenderer;
131 class WindowRendererModule;
132 class WRFactoryRegisterer;
133 class XMLAttributes;
134 class XMLHandler;
135 class XMLParser;
136 class XMLSerializer;
137 
138 /*************************************************************************
139  Forward declare window / widget classes.
140 *************************************************************************/
141 class ButtonBase;
142 class ClippedContainer;
143 class Combobox;
144 class ComboDropList;
145 class DefaultWindow;
146 class DragContainer;
147 class Editbox;
148 class FrameWindow;
149 class GridLayoutContainer;
151 class ItemEntry;
152 class ItemListBase;
153 class ItemListbox;
154 class LayoutContainer;
155 class Listbox;
156 class ListboxItem;
157 class ListboxTextItem;
158 class ListHeader;
159 class ListHeaderSegment;
160 class Menubar;
161 class MenuBase;
162 class MenuItem;
163 class MultiColumnList;
164 class MultiLineEditbox;
165 class PopupMenu;
166 class ProgressBar;
167 class PushButton;
168 class RadioButton;
169 class ScrollablePane;
170 class Scrollbar;
171 class ScrolledContainer;
174 class Slider;
175 class Spinner;
176 class TabButton;
177 class TabControl;
178 class Thumb;
179 class Titlebar;
180 class ToggleButton;
181 class Tooltip;
182 class Tree;
183 class TreeItem;
185 
186 /*************************************************************************
187  Forward declare EventArg based classes.
188 *************************************************************************/
189 class ActivationEventArgs;
190 class DisplayEventArgs;
191 class DragDropEventArgs;
192 class FontEventArgs;
193 class GUIContextEventArgs;
195 class KeyEventArgs;
197 class MouseEventArgs;
198 class RegexMatchStateArgs;
201 class ResourceEventArgs;
202 class TreeEventArgs;
203 class UpdateEventArgs;
204 class WindowEventArgs;
205 
206 } // End of CEGUI namespace section
207 
208 #endif // end of guard _CEGUIForwardRefs_h_
209 
EventArgs class passed to subscribers of RenderTarget events.
Definition: RenderTarget.h:40
Abstract interface required for all scripting support modules to be used with the CEGUI system...
Definition: ScriptModule.h:45
String component that moves a widget to appear as part of the string.
Definition: RenderedStringWidgetComponent.h:37
EventArgs based class that is used for objects passed to input event handlers concerning Tree events...
Definition: widgets/Tree.h:50
A Layout Container window layouting it's children vertically.
Definition: VerticalLayoutContainer.h:42
Class used as a two dimensional vector (aka a Point)
Definition: ForwardRefs.h:122
Base class for the ScrollablePane widget.
Definition: widgets/ScrollablePane.h:67
EventArgs based class that is used for notifications regarding resources.
Definition: InputEvent.h:365
A class that manages the creation of, access to, and destruction of GUI Scheme objects.
Definition: SchemeManager.h:51
Interface for objects that hook into RenderingWindow to affect the rendering process, thus allowing various effects to be achieved.
Definition: RenderEffect.h:40
Base class for standard Tab Control widget.
Definition: widgets/TabControl.h:78
Text utility support class. This class is all static members. You do not create instances of this cla...
Definition: TextUtils.h:44
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: SequentialLayoutContainer.h:51
FormattedRenderedString implementation that renders the RenderedString with right aligned formatting...
Definition: RightAlignedRenderedString.h:46
Singleton class that manages creation and destruction of RenderEffect based objects.
Definition: RenderEffectManager.h:50
EventArgs based class that is passed to handlers subcribed to hear about begin/end events on renderin...
Definition: RenderingSurface.h:73
Generic drag & drop enabled window class.
Definition: DragContainer.h:45
String component that draws an image.
Definition: RenderedStringImageComponent.h:43
Class used as a three dimensional vector.
Definition: ForwardRefs.h:123
Base class for standard Tree widget.
Definition: widgets/Tree.h:74
Simple timer class.
Definition: SimpleTimer.h:36
Abstract class that defines the required interface for all resource provider sub-classes.
Definition: ResourceProvider.h:47
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
Base class for the Combobox widget.
Definition: Combobox.h:50
EventArgs based class used for certain drag/drop notifications.
Definition: InputEvent.h:341
EventArgs based class that is used for notifications regarding Font objects.
Definition: InputEvent.h:380
Base class for item type widgets.
Definition: widgets/ItemEntry.h:76
structure that is used to hold details of a single vertex in 3D space.
Definition: Vertex.h:40
Base class for Tooltip widgets.
Definition: widgets/Tooltip.h:79
Definition: XMLHandler.h:36
Interface for a string transcoding utility. Instances of classes that implement this interface can be...
Definition: StringTranscoder.h:41
struct that holds some context relating to a RenderingSurface object.
Definition: RenderingContext.h:39
Base scroll bar class.
Definition: widgets/Scrollbar.h:89
Class that holds the size (width & height) of something.
Definition: ForwardRefs.h:112
Base class for the combo box drop down list. This is a specialisation of the Listbox class...
Definition: ComboDropList.h:48
Class that manages WindowFactory objects.
Definition: WindowFactoryManager.h:61
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition: TextureTarget.h:40
Interface for Regex matching support classes.
Definition: RegexMatcher.h:39
Base class for tree items.
Definition: TreeItem.h:57
Abstract base class for menus.
Definition: MenuBase.h:51
The WindowManager class describes an object that manages creation and lifetime of Window objects...
Definition: WindowManager.h:60
Interface providing introspection capabilities.
Definition: PropertySet.h:107
Base class for progress bars.
Definition: widgets/ProgressBar.h:49
Base class for Thumb widget.
Definition: Thumb.h:55
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: LayoutContainer.h:53
Window class intended to be used as a simple, generic Window.
Definition: DefaultWindow.h:50
Class representing a rendered string of entities.
Definition: RenderedString.h:50
Base-class for the assignable WindowRenderer object.
Definition: WindowRenderer.h:50
Base class for all the 'button' type widgets (push button, radio button, check-box, etc)
Definition: ButtonBase.h:50
ItemListbox window class.
Definition: widgets/ItemListbox.h:45
Base class for TabButtons. A TabButton based class is used internally as the button that appears at t...
Definition: widgets/TabButton.h:44
EventArgs based class that is used for objects passed to input event handlers concerning keyboard inp...
Definition: InputEvent.h:314
A Layout Container window layouting it's children into a grid.
Definition: GridLayoutContainer.h:47
Abstract base class specifying the required interface for Texture objects.
Definition: Texture.h:52
EventArgs based class that is used for notifications regarding the main display.
Definition: InputEvent.h:353
RenderingWindow is a RenderingSurface that can be "drawn back" onto another RenderingSurface and is p...
Definition: RenderingWindow.h:50
Class encapsulating the 'Unified Box' - this is usually used for margin.
Definition: UDim.h:247
Base class representing a part of a rendered string. The 'part' represented may be a text string...
Definition: RenderedStringComponent.h:47
EventArgs class passed to subscribers for (most) GUIContext events.
Definition: GUIContext.h:45
String component that draws an image.
Definition: RenderedStringTextComponent.h:38
Abstract class defining the basic required interface for Renderer objects.
Definition: Renderer.h:82
Base class for the Spinner widget.
Definition: Spinner.h:50
WindowEventArgs class that is primarily used by lua scripts.
Definition: InputEvent.h:263
Class used as the databuffer for loading files throughout the library.
Definition: DataContainer.h:42
Base class for Slider widgets.
Definition: widgets/Slider.h:98
Base class for standard Listbox widget.
Definition: widgets/Listbox.h:81
Class representing the title bar for Frame Windows.
Definition: widgets/Titlebar.h:50
Dummy base class to ensure correct casting of receivers.
Definition: Property.h:45
Base class to provide logic for push button type widgets.
Definition: PushButton.h:47
Class representing a block of attributes associated with an XML element.
Definition: XMLAttributes.h:46
EventArgs based class that is used for objects passed to input event handlers concerning mouse cursor...
Definition: InputEvent.h:299
Class used for textual items in a list box.
Definition: ListboxTextItem.h:42
Base class to provide the logic for Radio Button widgets.
Definition: RadioButton.h:40
Base class for popup menus.
Definition: widgets/PopupMenu.h:51
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: Window.h:149
Base class for list box items.
Definition: ListboxItem.h:51
Abstract base class for a movable, sizable, window with a title-bar and a frame.
Definition: widgets/FrameWindow.h:48
EventArgs class used for segment move (sequence changed) events.
Definition: widgets/ListHeader.h:49
Helper class used to convert various data types to and from the format expected in Property strings...
Definition: ForwardRefs.h:84
Class that represents a surface that can have geometry based imagery drawn to it. ...
Definition: RenderingSurface.h:108
Class providing logic buttons that can have their selected state toggled.
Definition: widgets/ToggleButton.h:40
Base class for an Editbox widget.
Definition: widgets/Editbox.h:69
Base class for the multi-line edit box widget.
Definition: widgets/MultiLineEditbox.h:79
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: RenderTarget.h:57
Class that encapsulates Look N' Feel information for a widget.
Definition: WidgetLookFeel.h:54
Specifies interface for classes that parse text into RenderedString objects.
Definition: RenderedStringParser.h:37
Base class for list header segment window.
Definition: widgets/ListHeaderSegment.h:49
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition: InputEvent.h:251
Definition: SystemKeys.h:34
Base class for menu bars.
Definition: widgets/Menubar.h:51
Dimension that has both a relative 'scale' portion and and absolute 'offset' portion.
Definition: UDim.h:92
EventArgs based class that is used for objects passed to input event handlers concerning mouse input...
Definition: InputEvent.h:280
Base class for the multi column list widget.
Definition: widgets/MultiColumnList.h:96
Class to represent rotation, avoids Gimbal lock.
Definition: Quaternion.h:67
Class that represents a queue of GeometryBuffer objects to be rendered.
Definition: RenderQueue.h:52
ScrolledItemListBase window class.
Definition: ScrolledItemListBase.h:45
Base class for menu items.
Definition: widgets/MenuItem.h:49
The System class is the CEGUI class that provides access to all other elements in this system...
Definition: System.h:65
implementation class to gather EventSet parts for all template instances.
Definition: NamedXMLResourceManager.h:55
Abstract class that defines the required interface for all WindowFactory objects. ...
Definition: WindowFactory.h:115
Helper container window class which is used in the implementation of the ScrollablePane widget class...
Definition: ScrolledContainer.h:47
A class that groups a set of GUI elements and initialises the system to access those elements...
Definition: Scheme.h:58
This is an abstract class that is used by CEGUI to interface with XML parser libraries.
Definition: XMLParser.h:41
Class used to create XML Document.
Definition: XMLSerializer.h:85
A Layout Container window layouting it's children Horizontally.
Definition: HorizontalLayoutContainer.h:42
Helper container window that has configurable clipping. Used by the ItemListbox widget.
Definition: ClippedContainer.h:53
Base class for item list widgets.
Definition: ItemListBase.h:78
Functor class used for binding named script functions to events.
Definition: ScriptModule.h:238
Base class for the multi column list header widget.
Definition: widgets/ListHeader.h:103
EventArgs based class that is used for Activated and Deactivated window events.
Definition: InputEvent.h:329
Class encapsulating operations on a Rectangle.
Definition: ForwardRefs.h:89