30 #ifndef _CEGUIWindowRendererManager_h_
31 #define _CEGUIWindowRendererManager_h_
33 #include "CEGUI/Singleton.h"
34 #include "CEGUI/WindowRenderer.h"
35 #include "CEGUI/Logger.h"
36 #include "CEGUI/Exceptions.h"
37 #include "CEGUI/TplWindowRendererFactory.h"
42 # pragma warning(push)
43 # pragma warning(disable : 4251)
69 bool isFactoryPresent(
const String& name)
const;
89 static void addFactory();
105 template <
typename T>
106 static void addWindowRendererType();
109 void removeFactory(
const String& name);
125 typedef std::map<String, WindowRendererFactory*, StringFastLessCompare> WR_Registry;
132 static OwnedFactoryList d_ownedFactories;
136 template <
typename T>
143 if (WindowRendererManager::getSingletonPtr())
145 Logger::getSingleton().logEvent(
"Created WindowRendererFactory for '" +
147 "' WindowRenderers.");
151 WindowRendererManager::getSingleton().addFactory(factory);
153 CEGUI_CATCH (Exception&)
155 Logger::getSingleton().logEvent(
"Deleted WindowRendererFactory for "
157 "' WindowRenderers.");
159 CEGUI_DELETE_AO factory;
164 d_ownedFactories.push_back(factory);
168 template <
typename T>
171 WindowRendererManager::addFactory<TplWindowRendererFactory<T> >();
179 #if defined(_MSC_VER)
180 # pragma warning(pop)
183 #endif // _CEGUIWindowRendererManager_h_