40 #ifndef _graphicsgamewindow_h
41 #define _graphicsgamewindow_h
43 #include "Graphics/windowsettings.h"
56 class GraphicsManager;
120 void CreateGameWindow(
const String& WindowCaption,
const Whole Width,
const Whole Height,
const Whole Flags);
127 void UpdateViewportsAndCameras();
159 Whole GetNumViewports()
const;
162 void DestroyViewport(
Viewport* ToBeDestroyed);
164 void DestroyAllViewports();
167 ViewportIterator BeginViewport();
169 ViewportIterator EndViewport();
171 ConstViewportIterator BeginViewport()
const;
173 ConstViewportIterator EndViewport()
const;
176 ReverseViewportIterator ReverseBeginViewport();
178 ReverseViewportIterator ReverseEndViewport();
180 ConstReverseViewportIterator ReverseBeginViewport()
const;
182 ConstReverseViewportIterator ReverseEndViewport()
const;
189 void SetWidth(
const Whole& Width);
192 Whole GetWidth()
const;
195 void SetHeight(
const Whole& Height);
198 Whole GetHeight()
const;
206 void SetResolution(
const Whole& Width,
const Whole& Height);
213 void SetFullscreen(
const Boole Fullscreen);
216 Boole GetFullscreen()
const;
230 const String& GetWindowCaption()
const;
236 void SetFSAALevel(
const Whole FSAA);
240 Whole GetFSAALevel()
const;
243 Whole GetActualFSAALevel()
const;
247 void EnableVsync(
Boole Enable);
250 Boole VsyncEnabled()
const;
253 void SetHidden(
Boole Hidden);
256 Boole IsHidden()
const;
259 Boole BorderIsResizeable()
const;
262 Boole IsBorderless()
const;
271 Real GetLastFPS()
const;
274 Real GetAverageFPS()
const;
277 Real GetBestFPS()
const;
280 Real GetWorstFPS()
const;
283 Real GetBestFrameTime()
const;
286 Real GetWorstFrameTime()
const;
293 void ProtoSerialize(
XML::Node& ParentNode)
const;
296 void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
299 void ProtoSerializeViewports(
XML::Node& SelfRoot)
const;
303 void ProtoDeSerialize(
const XML::Node& SelfRoot);
306 void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
309 void ProtoDeSerializeViewports(
const XML::Node& SelfRoot);
313 static String GetSerializableName();
321 Ogre::RenderWindow* _GetOgreWindowPointer();
325 SDL_Window* _GetSDLWindowPointer();
std::list< Viewport * > ViewportContainer
Basic container type for Viewport storage by this class.
bool Boole
Generally acts a single bit, true or false.
SDL_Window * SDLWindow
A pointer to the internal window used for collecting input.
Ogre::RenderWindow * OgreWindow
A pointer to the internal window used for rendering.
ViewportContainer::iterator ViewportIterator
Iterator type for Viewport instances stored by this class.
This stores all the basic configuration options a game window supports.
int Integer
A datatype used to represent any integer close to.
WindowFlags
A listing of potential options for configuring a game window during construction. ...
This stores all the basic configuration options a game window supports.
ViewportContainer::reverse_iterator ReverseViewportIterator
Reverse Iterator type for Viewport instances stored by this class.
float Real
A Datatype used to represent a real floating point number.
This class is for creating and managing viewports within a game window.
WindowSettings Settings
A struct storing all the window dimensions and update settings.
A light-weight handle for manipulating nodes in DOM tree.
ViewportContainer::const_reverse_iterator ConstReverseViewportIterator
Const Reverse Iterator type for Viewport instances stored by this class.
ViewportContainer Viewports
A container storing all the viewports belonging to this window.
ViewportContainer::const_iterator ConstViewportIterator
Const Iterator type for Viewport instances stored by this class.
This is the proxy class for placing and manipulating a camera in the scene.
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.
Whole RequestedFSAA
The last set FSAA level for this gamewindow (used for serialization).
GraphicsManager * Manager
A pointer to the manager that created this window.
Whole CreationFlags
A bit field containing all the flags used in the construction of this GameWindow. ...
std::string String
A datatype used to a series of characters.
This class is for creating and managing game windows.