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);
152 CEGUI_CATCH (Exception&)
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_