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

#include <engine.hpp>

Inheritance diagram for mage::EngineMessageHandler:
mage::WindowMessageHandler

Public Member Functions

 EngineMessageHandler ()
 
 EngineMessageHandler (const EngineMessageHandler &handler)
 
 EngineMessageHandler (EngineMessageHandler &&handler) noexcept
 
virtual ~EngineMessageHandler ()
 
EngineMessageHandleroperator= (const EngineMessageHandler &handler)
 
EngineMessageHandleroperator= (EngineMessageHandler &&handler) noexcept
 
virtual const std::optional< LRESULT > HandleWindowMessage ([[maybe_unused]] NotNull< HWND > window, UINT message, [[maybe_unused]] WPARAM wParam, [[maybe_unused]] LPARAM lParam) override
 
- Public Member Functions inherited from mage::WindowMessageHandler
 WindowMessageHandler () noexcept
 
 WindowMessageHandler (const WindowMessageHandler &handler) noexcept
 
 WindowMessageHandler (WindowMessageHandler &&handler) noexcept
 
virtual ~WindowMessageHandler ()
 
WindowMessageHandleroperator= (const WindowMessageHandler &handler) noexcept
 
WindowMessageHandleroperator= (WindowMessageHandler &&handler) noexcept
 

Public Attributes

std::function< void(bool) > m_on_active_change
 
std::function< void() > m_on_mode_switch
 
std::function< void() > m_on_print_screen
 

Detailed Description

A class of engine message handlers.

Constructor & Destructor Documentation

◆ EngineMessageHandler() [1/3]

mage::EngineMessageHandler::EngineMessageHandler ( )
default

Constructs a engine message handler.

◆ EngineMessageHandler() [2/3]

mage::EngineMessageHandler::EngineMessageHandler ( const EngineMessageHandler handler)
default

Constructs a engine message handler from the given engine message handler.

Parameters
[in]handlerA reference to the engine message handler to copy.

◆ EngineMessageHandler() [3/3]

mage::EngineMessageHandler::EngineMessageHandler ( EngineMessageHandler &&  handler)
noexcept

Constructs a engine message handler by moving the given engine message handler.

Parameters
[in]handlerA reference to the engine message handler to move.

◆ ~EngineMessageHandler()

mage::EngineMessageHandler::~EngineMessageHandler ( )
virtualdefault

Destructs this engine message handler.

Member Function Documentation

◆ HandleWindowMessage()

const std::optional< LRESULT > mage::EngineMessageHandler::HandleWindowMessage ( [[maybe_unused] ] NotNull< HWND >  window,
UINT  message,
[[maybe_unused] ] WPARAM  wParam,
[[maybe_unused] ] LPARAM  lParam 
)
overridevirtual

Handles the given message sent to a window.

Parameters
[in]windowA handle to the window.
[in]messageThe message.
[in]wParamAdditional message information. The contents of this parameter depend on the value of msg.
[in]lParamAdditional message information. The contents of this parameter depend on the value of msg.
Returns
The result of the message processing, if the given message is handled by this window message handler.

Implements mage::WindowMessageHandler.

◆ operator=() [1/2]

EngineMessageHandler & mage::EngineMessageHandler::operator= ( const EngineMessageHandler handler)
default

Copies the given engine message handler to this engine message handler.

Parameters
[in]handlerA reference to the engine message handler to copy.
Returns
A reference to the copy of the given engine message handler (i.e. this engine message handler).

◆ operator=() [2/2]

EngineMessageHandler & mage::EngineMessageHandler::operator= ( EngineMessageHandler &&  handler)
noexcept

Moves the given engine message handler to this engine message handler.

Parameters
[in]handlerA reference to the engine message handler to move.
Returns
A reference to the moved engine message handler (i.e. this engine message handler).

Member Data Documentation

◆ m_on_active_change

std::function< void(bool) > mage::EngineMessageHandler::m_on_active_change

◆ m_on_mode_switch

std::function< void() > mage::EngineMessageHandler::m_on_mode_switch

◆ m_on_print_screen

std::function< void() > mage::EngineMessageHandler::m_on_print_screen