UTFWin::LambdaProc class

Base classes

class IWinProc
This class is a window procedure, also known as an event/message listener.

Derived classes

class LambdaFilterProc

Constructors, destructors, conversion operators

LambdaProc(HandleUILambda_t pFunction)
LambdaProc(HandleUILambda_t pFunction, int eventFlags)
LambdaProc(HandleUILambda_t pFunction, int eventFlags, int priority)

Public functions

auto AddRef() -> int override
auto Release() -> int override
auto Cast(uint32_t typeID) const -> void* override
auto GetPriority() const -> int override
Gets a number that represents the priority of this IWinProc.
auto GetEventFlags() const -> int override
Gets the flags that represent which type of messages this IWinProc can handle.
auto HandleUIMessage(IWindow* pWindow, const Message& message) -> bool override
Method called every time a message is received on a window that has this IWinProc added.

Protected variables

int mnRefCount
HandleUILambda_t mpFunction
int mEventFlags
int mPriority

Function documentation

int UTFWin::LambdaProc::GetPriority() const override

Gets a number that represents the priority of this IWinProc.

The procedures with highest priority will be the first ones to receive a message when the window they are added to receives it.

int UTFWin::LambdaProc::GetEventFlags() const override

Gets the flags that represent which type of messages this IWinProc can handle.

This allows for better performance, since generally a procedure only needs to listen specific events. The flags are in the kEventFlag... values.

bool UTFWin::LambdaProc::HandleUIMessage(IWindow* pWindow, const Message& message) override

Method called every time a message is received on a window that has this IWinProc added.

Parameters
pWindow The window that received this message.
message The message received.
Returns Whether the message was handled or not.

This method is responsible of handling (or not) the message. This method receives the IWindow that is currently receiving the message; this way, the same IWinProc can be listening for more than one window. This method returns whether the message was handled or not; if it was handled, no other IWinProcs will be called on that window.