Crazy Eddie's GUI System 0.8.7
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
33namespace CEGUI
34{
35/*************************************************************************
36 Forward declare majority of core classes
37*************************************************************************/
38class Affector;
39class Animation;
40class AnimationInstance;
41class AnimationManager;
42class BasicRenderedStringParser;
43class BidiVisualMapping;
44class CentredRenderedString;
45class Clipboard;
46class Colour;
47class ColourRect;
48class CoordConverter;
49class DefaultLogger;
50class DefaultRenderedStringParser;
51class DefaultResourceProvider;
52class DynamicModule;
53class Element;
54class ElementEventArgs;
55class Event;
56class EventAction;
57class EventArgs;
58class EventSet;
59class Exception;
60class FactoryModule;
61class Font;
62class FontGlyph;
63class FontManager;
64class FormattedRenderedString;
65class GeometryBuffer;
66class GlobalEventSet;
67class GUIContext;
68class Image;
69class ImageCodec;
70class ImageManager;
71class ImagerySection;
72class Interpolator;
73class JustifiedRenderedString;
74class KeyFrame;
75class LeftAlignedRenderedString;
76class LinkedEvent;
77class LinkedEventArgs;
78class Logger;
79class MouseCursor;
80class NamedElement;
81class NamedElementEventArgs;
82class NativeClipboardProvider;
83class Property;
84template<typename T> class PropertyHelper;
86class PropertySet;
87class Quaternion;
89template<typename T> class Rect;
90class RegexMatcher;
91class RenderedString;
97class Renderer;
98class RenderEffect;
100struct RenderingContext;
101class RenderingSurface;
102class RenderingWindow;
103class RenderQueue;
104class RenderTarget;
105class ResourceEventSet;
106class ResourceProvider;
108class Scheme;
109class SchemeManager;
110class ScriptFunctor;
111class ScriptModule;
112template<typename T> class Size;
113class SimpleTimer;
114class StringTranscoder;
115class System;
116class SystemKeys;
117class Texture;
118class TextureTarget;
119class TextUtils;
120class UBox;
121class UDim;
122template<typename T> class Vector2;
123template<typename T> class Vector3;
124struct Vertex;
125class WidgetLookFeel;
126class Window;
127class WindowFactory;
129class WindowManager;
130class WindowRenderer;
131class WindowRendererModule;
132class WRFactoryRegisterer;
133class XMLAttributes;
134class XMLHandler;
135class XMLParser;
136class XMLSerializer;
137
138/*************************************************************************
139 Forward declare window / widget classes.
140*************************************************************************/
141class ButtonBase;
142class ClippedContainer;
143class Combobox;
144class ComboDropList;
145class DefaultWindow;
146class DragContainer;
147class Editbox;
148class FrameWindow;
151class ItemEntry;
152class ItemListBase;
153class ItemListbox;
154class LayoutContainer;
155class Listbox;
156class ListboxItem;
157class ListboxTextItem;
158class ListHeader;
160class Menubar;
161class MenuBase;
162class MenuItem;
163class MultiColumnList;
164class MultiLineEditbox;
165class PopupMenu;
166class ProgressBar;
167class PushButton;
168class RadioButton;
169class ScrollablePane;
170class Scrollbar;
174class Slider;
175class Spinner;
176class TabButton;
177class TabControl;
178class Thumb;
179class Titlebar;
180class ToggleButton;
181class Tooltip;
182class Tree;
183class TreeItem;
185
186/*************************************************************************
187 Forward declare EventArg based classes.
188*************************************************************************/
190class DisplayEventArgs;
192class FontEventArgs;
195class KeyEventArgs;
197class MouseEventArgs;
198class RegexMatchStateArgs;
202class TreeEventArgs;
203class UpdateEventArgs;
204class WindowEventArgs;
205
206} // End of CEGUI namespace section
207
208#endif // end of guard _CEGUIForwardRefs_h_
209
EventArgs based class that is used for Activated and Deactivated window events.
Definition: InputEvent.h:330
Base class for all the 'button' type widgets (push button, radio button, check-box,...
Definition: ButtonBase.h:51
Helper container window that has configurable clipping. Used by the ItemListbox widget.
Definition: ClippedContainer.h:54
Base class for the combo box drop down list. This is a specialisation of the Listbox class.
Definition: ComboDropList.h:49
Base class for the Combobox widget.
Definition: Combobox.h:51
Window class intended to be used as a simple, generic Window.
Definition: DefaultWindow.h:51
EventArgs based class that is used for notifications regarding the main display.
Definition: InputEvent.h:354
Generic drag & drop enabled window class.
Definition: DragContainer.h:46
EventArgs based class used for certain drag/drop notifications.
Definition: InputEvent.h:342
Base class for an Editbox widget.
Definition: widgets/Editbox.h:70
EventArgs based class that is used for notifications regarding Font objects.
Definition: InputEvent.h:381
Abstract base class for a movable, sizable, window with a title-bar and a frame.
Definition: widgets/FrameWindow.h:49
EventArgs class passed to subscribers for (most) GUIContext events.
Definition: GUIContext.h:46
A Layout Container window layouting it's children into a grid.
Definition: GridLayoutContainer.h:48
EventArgs class used for segment move (sequence changed) events.
Definition: widgets/ListHeader.h:50
A Layout Container window layouting it's children Horizontally.
Definition: HorizontalLayoutContainer.h:43
Base class for item type widgets.
Definition: widgets/ItemEntry.h:77
Base class for item list widgets.
Definition: ItemListBase.h:79
ItemListbox window class.
Definition: widgets/ItemListbox.h:46
EventArgs based class that is used for objects passed to input event handlers concerning keyboard inp...
Definition: InputEvent.h:315
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: LayoutContainer.h:54
Base class for list header segment window.
Definition: widgets/ListHeaderSegment.h:50
Base class for the multi column list header widget.
Definition: widgets/ListHeader.h:104
Base class for list box items.
Definition: ListboxItem.h:53
Class used for textual items in a list box.
Definition: ListboxTextItem.h:43
Base class for standard Listbox widget.
Definition: widgets/Listbox.h:82
Abstract base class for menus.
Definition: MenuBase.h:52
Base class for menu items.
Definition: widgets/MenuItem.h:50
Base class for menu bars.
Definition: widgets/Menubar.h:52
EventArgs based class that is used for objects passed to input event handlers concerning mouse cursor...
Definition: InputEvent.h:300
EventArgs based class that is used for objects passed to input event handlers concerning mouse input.
Definition: InputEvent.h:281
Base class for the multi column list widget.
Definition: widgets/MultiColumnList.h:97
Base class for the multi-line edit box widget.
Definition: widgets/MultiLineEditbox.h:80
Base class for popup menus.
Definition: widgets/PopupMenu.h:52
Base class for progress bars.
Definition: widgets/ProgressBar.h:50
Helper class used to convert various data types to and from the format expected in Property strings.
Definition: ForwardRefs.h:84
Dummy base class to ensure correct casting of receivers.
Definition: Property.h:46
Interface providing introspection capabilities.
Definition: PropertySet.h:108
Base class to provide logic for push button type widgets.
Definition: PushButton.h:48
Class to represent rotation, avoids Gimbal lock.
Definition: Quaternion.h:69
Base class to provide the logic for Radio Button widgets.
Definition: RadioButton.h:41
Class used as the databuffer for loading files throughout the library.
Definition: DataContainer.h:44
Class encapsulating operations on a Rectangle.
Definition: Rect.h:45
Interface for Regex matching support classes.
Definition: RegexMatcher.h:41
Singleton class that manages creation and destruction of RenderEffect based objects.
Definition: RenderEffectManager.h:53
Interface for objects that hook into RenderingWindow to affect the rendering process,...
Definition: RenderEffect.h:42
EventArgs based class that is passed to handlers subcribed to hear about begin/end events on renderin...
Definition: RenderingSurface.h:74
Class that represents a queue of GeometryBuffer objects to be rendered.
Definition: RenderQueue.h:54
EventArgs class passed to subscribers of RenderTarget events.
Definition: RenderTarget.h:41
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: RenderTarget.h:60
Base class representing a part of a rendered string. The 'part' represented may be a text string,...
Definition: RenderedStringComponent.h:49
String component that draws an image.
Definition: RenderedStringImageComponent.h:44
Specifies interface for classes that parse text into RenderedString objects.
Definition: RenderedStringParser.h:39
String component that draws an image.
Definition: RenderedStringTextComponent.h:39
String component that moves a widget to appear as part of the string.
Definition: RenderedStringWidgetComponent.h:38
Class representing a rendered string of entities.
Definition: RenderedString.h:52
Abstract class defining the basic required interface for Renderer objects.
Definition: Renderer.h:84
Class that represents a surface that can have geometry based imagery drawn to it.
Definition: RenderingSurface.h:111
RenderingWindow is a RenderingSurface that can be "drawn back" onto another RenderingSurface and is p...
Definition: RenderingWindow.h:51
EventArgs based class that is used for notifications regarding resources.
Definition: InputEvent.h:366
implementation class to gather EventSet parts for all template instances.
Definition: NamedXMLResourceManager.h:56
Abstract class that defines the required interface for all resource provider sub-classes.
Definition: ResourceProvider.h:49
FormattedRenderedString implementation that renders the RenderedString with right aligned formatting.
Definition: RightAlignedRenderedString.h:47
A class that manages the creation of, access to, and destruction of GUI Scheme objects.
Definition: SchemeManager.h:55
A class that groups a set of GUI elements and initialises the system to access those elements.
Definition: Scheme.h:60
Functor class used for binding named script functions to events.
Definition: ScriptModule.h:240
Abstract interface required for all scripting support modules to be used with the CEGUI system.
Definition: ScriptModule.h:47
Base class for the ScrollablePane widget.
Definition: widgets/ScrollablePane.h:68
Base scroll bar class.
Definition: widgets/Scrollbar.h:90
Helper container window class which is used in the implementation of the ScrollablePane widget class.
Definition: ScrolledContainer.h:48
ScrolledItemListBase window class.
Definition: ScrolledItemListBase.h:46
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: SequentialLayoutContainer.h:52
Simple timer class.
Definition: SimpleTimer.h:38
Class that holds the size (width & height) of something.
Definition: Size.h:68
Base class for Slider widgets.
Definition: widgets/Slider.h:99
Base class for the Spinner widget.
Definition: Spinner.h:51
Interface for a string transcoding utility. Instances of classes that implement this interface can be...
Definition: StringTranscoder.h:43
Definition: SystemKeys.h:35
The System class is the CEGUI class that provides access to all other elements in this system.
Definition: System.h:69
Base class for TabButtons. A TabButton based class is used internally as the button that appears at t...
Definition: widgets/TabButton.h:45
Base class for standard Tab Control widget.
Definition: widgets/TabControl.h:79
Text utility support class. This class is all static members. You do not create instances of this cla...
Definition: TextUtils.h:45
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition: TextureTarget.h:41
Abstract base class specifying the required interface for Texture objects.
Definition: Texture.h:54
Base class for Thumb widget.
Definition: Thumb.h:56
Class representing the title bar for Frame Windows.
Definition: widgets/Titlebar.h:51
Class providing logic buttons that can have their selected state toggled.
Definition: widgets/ToggleButton.h:41
Base class for Tooltip widgets.
Definition: widgets/Tooltip.h:80
EventArgs based class that is used for objects passed to input event handlers concerning Tree events.
Definition: widgets/Tree.h:51
Base class for tree items.
Definition: TreeItem.h:59
Base class for standard Tree widget.
Definition: widgets/Tree.h:75
Class encapsulating the 'Unified Box' - this is usually used for margin.
Definition: UDim.h:249
Dimension that has both a relative 'scale' portion and and absolute 'offset' portion.
Definition: UDim.h:94
WindowEventArgs class that is primarily used by lua scripts.
Definition: InputEvent.h:264
Class used as a two dimensional vector (aka a Point)
Definition: Vector.h:55
Class used as a three dimensional vector.
Definition: Vector.h:215
A Layout Container window layouting it's children vertically.
Definition: VerticalLayoutContainer.h:43
Class that encapsulates Look N' Feel information for a widget.
Definition: WidgetLookFeel.h:56
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition: InputEvent.h:252
Class that manages WindowFactory objects.
Definition: WindowFactoryManager.h:64
Abstract class that defines the required interface for all WindowFactory objects.
Definition: WindowFactory.h:117
The WindowManager class describes an object that manages creation and lifetime of Window objects.
Definition: WindowManager.h:63
Base-class for the assignable WindowRenderer object.
Definition: WindowRenderer.h:52
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: Window.h:151
Class representing a block of attributes associated with an XML element.
Definition: XMLAttributes.h:48
Definition: XMLHandler.h:37
This is an abstract class that is used by CEGUI to interface with XML parser libraries.
Definition: XMLParser.h:44
Class used to create XML Document.
Definition: XMLSerializer.h:87
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
struct that holds some context relating to a RenderingSurface object.
Definition: RenderingContext.h:41
structure that is used to hold details of a single vertex in 3D space.
Definition: Vertex.h:42