40 #ifndef _graphicsmanager_h
41 #define _graphicsmanager_h
44 #include "entresolmanager.h"
45 #include "entresolmanagerfactory.h"
46 #include "singleton.h"
47 #include "Graphics/windowsettings.h"
48 #include "Graphics/graphicsenumerations.h"
49 #include "Graphics/gamewindow.h"
50 #include "objectsettings.h"
69 %
template(SingletonGraphicsManager) Singleton<GraphicsManager>;
72 class GraphicsManager;
100 virtual void UseThreads(
const Whole& AmountToUse);
104 virtual Whole UsingThreadCount();
180 void InitOgreRenderSystem();
182 virtual String GetObjectRootNodeName()
const;
184 virtual void AppendCurrentSettings(
XML::Node& SettingsRootNode);
218 Whole GetNumGameWindows()
const;
221 void DestroyGameWindow(
GameWindow* ToBeDestroyed);
224 void DestroyAllGameWindows(
Boole ExcludePrimary =
true);
230 GameWindowIterator BeginGameWindow();
232 GameWindowIterator EndGameWindow();
234 ConstGameWindowIterator BeginGameWindow()
const;
236 ConstGameWindowIterator EndGameWindow()
const;
266 const ResolutionContainer& GetSupportedResolutions()
const;
279 virtual void RenderOneFrame();
282 virtual void SwapAllBuffers(
Boole WaitForVsync);
289 virtual void Initialize();
291 virtual void Deinitialize();
302 Boole HasSDLBeenInitialized();
305 Boole HasOgreBeenInitialized();
313 virtual String GetImplementationTypeName()
const;
330 String GetManagerImplName()
const;
friend class RenderWorkUnit
The RenderWorkUnit really is an extension of the GraphicsManager, it just exists as a Functor for the...
ResolutionContainer SupportedResolutions
A container of strings storing all the detected supported resolutions on the current hardware...
GameWindowContainer GameWindows
A container storing all the game windows created by this manager.
std::vector< String > StringVector
This is a simple datatype for a vector container of strings.
bool Boole
Generally acts a single bit, true or false.
RenderSystem
Used primarily by the graphics manager class during initialization.
ResolutionContainer::const_iterator ConstResolutionIterator
Const Iterator type for stored supported resolutions.
StringVector SupportedDevices
A container of strings storing all the detected names of video devices on the current hardware...
ManagerType
A listing of Manager Types.
static const String ImplementationName
A String containing the name of this manager implementation.
This is a base class for factories that construct managers used by the Entresol class.
Threading::DefaultThreadSpecificStorage::Type * ThreadResources
Can be used for thread safe logging and other thread Specific resources.
A factory responsible for the creation and destruction of the default graphicsmanager.
ResolutionContainer::iterator ResolutionIterator
Iterator type for stored supported resolutions.
This stores all the basic configuration options a game window supports.
std::vector< GameWindow * > GameWindowContainer
Basic container type for GameWindow storage by this class.
static const ManagerBase::ManagerType InterfaceType
A ManagerType enum value used to describe the type of interface/functionality this manager provides...
An abstract class for other classes that manage groups of settings.
GameWindowContainer::iterator GameWindowIterator
Iterator type for GameWindow instances stored by this class.
std::vector< RenderSystem > RenderSystemTypeContainer
Basic container type for registered rendersystem type storage by this class.
A kind of workunit given exclusive runtime so it can consume time on multiple threads.
A thread specific collection of double-buffered and algorithm specific resources. ...
This is the base class for all managers that do no describe properties of a single world...
WindowSettings DesktopSettings
A struct storing the dimensions of the desktop on the current hardware.
GameWindowContainer::const_iterator ConstGameWindowIterator
Const Iterator type for GameWindow instances stored by this class.
A light-weight handle for manipulating nodes in DOM tree.
std::list< NameValuePair > NameValuePairList
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
GameWindow * PrimaryGameWindow
A pointer to the hidden window storing the context and render resources.
This does the main loop processing for required to make the Graphics Manager function.
Boole OgreBeenInitialized
Stores whether the internal graphics subsystem has been initialized.
Graphics::RenderSystem CurrRenderSys
A RenderSystem enum value storing the RenderSystem type currently in use.
This is intended to store basic graphics setting for the user.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
std::vector< Resolution > ResolutionContainer
Basic container type for storing the detected supported fullscreen resolutions on the current system...
This is the file that code using this library should include. It includes all the required components...
RenderWorkUnit * RenderWork
The work unit that does all the rendering.
A class that store's a collection of SettingSets that can be applied together.
std::string String
A datatype used to a series of characters.
This class is for creating and managing game windows.