29 #ifndef _CEGUIWindowRendererManager_h_
30 #define _CEGUIWindowRendererManager_h_
32 #include "CEGUI/Singleton.h"
33 #include "CEGUI/WindowRenderer.h"
34 #include "CEGUI/Logger.h"
35 #include "CEGUI/Exceptions.h"
36 #include "CEGUI/TplWindowRendererFactory.h"
41 # pragma warning(push)
42 # pragma warning(disable : 4251)
68 bool isFactoryPresent(
const String& name)
const;
88 static void addFactory();
104 template <
typename T>
105 static void addWindowRendererType();
108 void removeFactory(
const String& name);
124 typedef std::map<String, WindowRendererFactory*, StringFastLessCompare> WR_Registry;
131 static OwnedFactoryList d_ownedFactories;
135 template <
typename T>
142 if (WindowRendererManager::getSingletonPtr())
144 Logger::getSingleton().logEvent(
"Created WindowRendererFactory for '" +
146 "' WindowRenderers.");
150 WindowRendererManager::getSingleton().addFactory(factory);
154 Logger::getSingleton().logEvent(
"Deleted WindowRendererFactory for "
156 "' WindowRenderers.");
158 CEGUI_DELETE_AO factory;
163 d_ownedFactories.push_back(factory);
167 template <
typename T>
170 WindowRendererManager::addFactory<TplWindowRendererFactory<T> >();
178 #if defined(_MSC_VER)
179 # pragma warning(pop)
182 #endif // _CEGUIWindowRendererManager_h_
Base-class for WindowRendererFactory.
Definition: WindowRenderer.h:237
Definition: MemoryAllocatedObject.h:109
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
Definition: WindowRendererManager.h:48
Base-class for the assignable WindowRenderer object.
Definition: WindowRenderer.h:50
Definition: Singleton.h:55
Root exception class used within the GUI system.
Definition: Exceptions.h:46
const String & getName() const
Returns the type name of this window renderer factory.
Definition: WindowRenderer.h:259
static void addFactory()
Creates a WindowRendererFactory of the type T and adds it to the system for use.
Definition: WindowRendererManager.h:136
String class used within the GUI system.
Definition: String.h:62
static void addWindowRendererType()
Internally creates a factory suitable for creating WindowRenderer objects of the given type and adds ...
Definition: WindowRendererManager.h:168