138 std::unique_ptr<WindowManager> m_windowManager;
139 std::unique_ptr<UIRenderer> m_uiRenderer;
140 std::unique_ptr<UpdateChecker> m_updateChecker;
141 std::unique_ptr<ConfigManager> m_configManager;
142 std::unique_ptr<DialogManager> m_dialogManager;
143 std::unique_ptr<ISSTracker> m_issTracker;
146 bool m_initialized =
false;
147 bool m_showAboutWindow =
false;
148 bool m_showDemoWindow =
false;
149 bool m_showUpdateNotification =
false;
150 bool m_updateCheckInProgress =
false;
151 bool m_showExitDialog =
false;
152 bool m_showISSTracker =
false;
155 std::unique_ptr<UpdateInfo> m_latestUpdateInfo;
158 std::string m_statusMessage;
159 float m_lastFrameTime = 0.0f;
164 void CheckForUpdates();
165 void OnUpdateCheckComplete(
const UpdateInfo& updateInfo);
168 bool OnContextLoss();
171 void OnFramebufferSizeChanged(
int width,
int height);
172 void OnKeyPressed(
int key,
int scancode,
int action,
int mods);
173 void OnWindowCloseRequested();
176 void OnExitRequested();
177 void OnToggleDemoWindow();
178 void OnCheckUpdatesRequested();
179 void OnShowAboutRequested();
180 void OnShowInputDialogRequested();
181 void OnToggleISSTracker();
184 static constexpr int DEFAULT_WIDTH = 1200;
185 static constexpr int DEFAULT_HEIGHT = 800;
186 static constexpr const char* WINDOW_TITLE =
"MetaImGUI - ImGui Application Template";