WoW Model Viewer
Your premiere tool for viewing, equipping and animating World of Warcraft models.
Loading...
Searching...
No Matches
Application.h
Go to the documentation of this file.
1#pragma once
2
3// ---- Application (top-level orchestrator) ----------------------------------
4// Owns all subsystems (AppWindow, ImGuiLayer, InputManager) and the
5// aggregate AppState. Provides an explicit init / run / shutdown lifecycle
6// following the Gregory "Game Loop" pattern.
7
8#include "AppState.h"
9#include "AppWindow.h"
10#include "ImGuiLayer.h"
11#include "InputManager.h"
12
13#include <string>
14#include <vector>
15
17{
18public:
19 Application() = default;
20
23 int run();
24
26
27 Application(const Application&) = delete;
31
32private:
33 // ---- Owned subsystems (explicit lifecycle order) ----
38
39 // ---- Frame-local UI flags ----
40 bool m_showDemoWindow = false;
41 bool m_showSettings = false;
42 bool m_firstFrame = true;
43
44 // ---- Lifecycle phases ----
45 bool init();
46 void mainLoop();
47 void shutdown();
48
49 // ---- Per-frame helpers ----
50 void initEngine();
51 void initGL();
52 void tickScene();
54
55 // ---- UI drawing (called from mainLoop) ----
57 void drawDockspace();
58 void drawPanels();
59 void drawDialogs();
60};
Application()=default
void handleViewportInput()
AppWindow m_window
Definition Application.h:34
bool m_firstFrame
Definition Application.h:42
void drawDialogs()
InputManager m_inputManager
Definition Application.h:36
void drawDockspace()
Application & operator=(const Application &)=delete
bool m_showDemoWindow
Definition Application.h:40
void initEngine()
AppState m_state
Definition Application.h:37
Application(Application &&)=delete
bool m_showSettings
Definition Application.h:41
Application & operator=(Application &&)=delete
void drawTitleBarAndMenus()
void drawPanels()
ImGuiLayer m_imguiLayer
Definition Application.h:35
Application(const Application &)=delete
Top-level aggregate of all mutable application state.
Definition AppState.h:261