MAGE  v0.171.0
Matthias Advanced Game Engine
mage::rendering::Manager Class Reference

#include <rendering_manager.hpp>

Classes

class  Impl
 

Public Member Functions

 Manager (NotNull< HWND > window, DisplayConfiguration configuration)
 
 Manager (const Manager &manager)=delete
 
 Manager (Manager &&manager) noexcept
 
 ~Manager ()
 
Manager & operator= (const Manager &manager)=delete
 
Manager & operator= (Manager &&manager)=delete
 
const DisplayConfiguration & GetDisplayConfiguration () const noexcept
 
SwapChain & GetSwapChain () noexcept
 
const SwapChain & GetSwapChain () const noexcept
 
ResourceManager & GetResourceManager () const noexcept
 
World & GetWorld () const noexcept
 
void BindPersistentState ()
 
void Update ()
 
void Render (const GameTime &time)
 

Private Attributes

UniquePtr< Impl > m_impl
 

Detailed Description

A class of rendering managers.

Constructor & Destructor Documentation

◆ Manager() [1/3]

mage::rendering::Manager::Manager ( NotNull< HWND >  window,
DisplayConfiguration  configuration 
)
explicit

Constructs a rendering manager.

Parameters
[in]windowThe main window handle.
[in,out]configurationThe display configuration.

◆ Manager() [2/3]

mage::rendering::Manager::Manager ( const Manager &  manager)
delete

Constructs a rendering manager from the given rendering manager.

Parameters
[in]managerA reference to a rendering manager to copy.

◆ Manager() [3/3]

mage::rendering::Manager::Manager ( Manager &&  manager)
defaultnoexcept

Constructs a rendering manager by moving the given rendering manager.

Parameters
[in]managerA reference to a rendering manager to move.

◆ ~Manager()

mage::rendering::Manager::~Manager ( )
default

Destructs this rendering manager.

Member Function Documentation

◆ BindPersistentState()

void mage::rendering::Manager::BindPersistentState ( )

Binds the persistent state of this rendering manager.

Exceptions
ExceptionFailed to bind the persistent state of this rendering manager.
ExceptionFailed to bind the persistent state of this rendering manager.

◆ GetDisplayConfiguration()

const DisplayConfiguration & mage::rendering::Manager::GetDisplayConfiguration ( ) const
noexcept

Returns the display configuration of this rendering manager.

Returns
A reference to the display configuration of this rendering manager.

◆ GetResourceManager()

ResourceManager & mage::rendering::Manager::GetResourceManager ( ) const
noexcept

Returns the resource manager of this rendering manager.

Returns
A reference to the state manager of this rendering manager.

◆ GetSwapChain() [1/2]

SwapChain & mage::rendering::Manager::GetSwapChain ( )
noexcept

Returns the swap chain of this rendering manager.

Returns
A reference to the swap chain of this rendering manager.

◆ GetSwapChain() [2/2]

const SwapChain & mage::rendering::Manager::GetSwapChain ( ) const
noexcept

Returns the swap chain of this rendering manager.

Returns
A reference to the swap chain of this rendering manager.

◆ GetWorld()

World & mage::rendering::Manager::GetWorld ( ) const
noexcept

Returns the world of this rendering manager.

Returns
A reference to the world of this rendering manager.

◆ operator=() [1/2]

Manager& mage::rendering::Manager::operator= ( const Manager &  manager)
delete

Copies the given rendering manager to this rendering manager.

Parameters
[in]managerA reference to a rendering manager to copy.
Returns
A reference to the copy of the given rendering manager (i.e. this rendering manager).

◆ operator=() [2/2]

Manager& mage::rendering::Manager::operator= ( Manager &&  manager)
delete

Moves the given rendering manager to this rendering manager.

Parameters
[in]managerA reference to a rendering manager to move.
Returns
A reference to the moved rendering manager (i.e. this rendering manager).

◆ Render()

void mage::rendering::Manager::Render ( const GameTime &  time)

Renders.

Parameters
[in]timeA reference to the game time.
Exceptions
ExceptionFailed to render the world of this rendering manager.

◆ Update()

void mage::rendering::Manager::Update ( )

Updates this rendering manager.

Member Data Documentation

◆ m_impl

UniquePtr< Impl > mage::rendering::Manager::m_impl
private

A pointer to the implementation of this rendering manager.