Skip to content

Application

Application class. More...

#include "Core/Application.h"

Inherited by I3TApplication

Public Functions

Name
virtual~Application()
voidbeginFrame()
voidclose()<br>Shutdown the whole application.
voiddisplay()
voidendFrame()
voidenqueueCommand(ICommand * command)<br>Issue command.
boolframe()<br>Single iteration of the game loop.
AppLoopManager &getAppLoopManager()
doublegetDeltaTime() const
const std::string &getTitle()
GLFWwindow *getWindow()<br>Get the main GLFW window.
boolinit()<br>Performs initialization of the application.
voidinitWindow()<br>Init OpenGL stuffs before display loop.
intrun()<br>Enter main loop.
voidsetTitle(const std::string & title)
voidsetVSync(bool enable)
voidupdate()<br>Perform logic update.
template <typename T ,typename... Args&gt; <br>T *createModule(Args &&... args)<br>Creates instance of module, registers it to the application, and calls its init() method.
Application &get()
GLFWwindow *getCurrentWindow()<br>Get the active GLFW window.
template <typename T &gt; <br>T &getModule()

Protected Functions

Name
Application()
virtual voidonBeforeFrame()
virtual voidonBeginFrame()
virtual voidonClose()
virtual voidonEndFrame()
virtual voidonInit()
virtual voidonUpdate(double delta)

Protected Attributes

Name
AppLoopManagerm_appLoopManager
boolm_shouldClose
Window *m_window

Detailed Description

cpp
class Application;

Application class.

A wrapper for UI windows.

Public Functions Documentation

function ~Application

cpp
virtual ~Application()

function beginFrame

cpp
void beginFrame()

function close

cpp
void close()

Shutdown the whole application.

See: onClose()

Called when CloseCommand is received.

function display

cpp
void display()

function endFrame

cpp
void endFrame()

function enqueueCommand

cpp
void enqueueCommand(
    ICommand * command
)

Issue command.

Parameters:

  • command Pointer to command base class.

Application will process all enqueued command in the main loop.

function frame

cpp
bool frame()

Single iteration of the game loop.

Return: Whether the game loop should continue

function getAppLoopManager

cpp
AppLoopManager & getAppLoopManager()

function getDeltaTime

cpp
double getDeltaTime() const

function getTitle

cpp
const std::string & getTitle()

function getWindow

cpp
GLFWwindow * getWindow()

Get the main GLFW window.

function init

cpp
bool init()

Performs initialization of the application.

See: onInit()

function initWindow

cpp
void initWindow()

Init OpenGL stuffs before display loop.

Taken from Muller GLFW. Initializes ImGui and I3T stuffs.

function run

cpp
int run()

Enter main loop.

function setTitle

cpp
void setTitle(
    const std::string & title
)

function setVSync

cpp
void setVSync(
    bool enable
)

function update

cpp
void update()

Perform logic update.

See: onUpdate()

function createModule

cpp
template <typename T ,
typename... Args>
static inline T * createModule(
    Args &&... args
)

Creates instance of module, registers it to the application, and calls its init() method.

Parameters:

  • args

Template Parameters:

  • T
  • Args

Return:

Note: Modules are destroyed in the reverse order of their creation!

function get

cpp
static Application & get()

function getCurrentWindow

cpp
static GLFWwindow * getCurrentWindow()

Get the active GLFW window.

This may return a different window than the getWindow() method due to ImGui potentially create new native windows to handle ImGui windows being dragged out of the main window.

function getModule

cpp
template <typename T >
static T & getModule()

Protected Functions Documentation

function Application

cpp
Application()

function onBeforeFrame

cpp
inline virtual void onBeforeFrame()

function onBeginFrame

cpp
inline virtual void onBeginFrame()

Reimplemented by: I3TApplication::onBeginFrame

function onClose

cpp
inline virtual void onClose()

Reimplemented by: I3TApplication::onClose

function onEndFrame

cpp
inline virtual void onEndFrame()

Reimplemented by: I3TApplication::onEndFrame

function onInit

cpp
inline virtual void onInit()

Reimplemented by: I3TApplication::onInit

function onUpdate

cpp
inline virtual void onUpdate(
    double delta
)

Reimplemented by: I3TApplication::onUpdate

Protected Attributes Documentation

variable m_appLoopManager

cpp
AppLoopManager m_appLoopManager;

variable m_shouldClose

cpp
bool m_shouldClose = false;

variable m_window

cpp
Window * m_window;

Updated on 2026-09-11 at 21:24:25 +0000