Voxeloop  0.1.0
Musical Loop Generation in Voxel World
GUIManager.hpp
Go to the documentation of this file.
1 #ifndef CORE_INCLUDE_GUIMANAGER_HPP
2 #define CORE_INCLUDE_GUIMANAGER_HPP
3 
4 #define FONT_ICON_FILE_NAME "../core/assets/fonts/fa-solid-900.ttf"
5 
6 #include "External/IconsFontAwesome5.h"
7 #include "WindowManager.hpp"
8 
9 #include <GLFW/glfw3.h>
10 #include <imgui.h>
11 #include <imgui_impl_glfw.h>
12 #include <imgui_impl_opengl3.h>
13 
14 #include <filesystem>
15 
16 class GUIManager {
17 public:
18  GUIManager();
19  GUIManager(GLFWwindow *window);
20 
21  void init(GLFWwindow *window);
22 
23  void getFrame();
24  void render();
25  void begin();
26  void end();
27 
28  uint8_t renderMenu(WindowManager *window);
29  uint8_t renderSettings(WindowManager *window);
30  uint8_t renderAbout(WindowManager *window);
31  bool renderBackButton();
32 
33  void cleanup();
34 
36 
37 private:
38  // ImVec4: 4D vector used to store clipping rectangles, colors etc.
39  ImVec4 clearColor = ImVec4(0.45f, 0.55f, 0.60f, 1.00f);
41 
42  bool m_open;
43 };
44 
45 #endif // CORE_INCLUDE_GUIMANAGER_HPP
Definition: GUIManager.hpp:16
void end()
Definition: GUIManager.cpp:56
int displayWidth
Definition: GUIManager.hpp:40
bool m_open
Definition: GUIManager.hpp:42
uint8_t renderSettings(WindowManager *window)
Definition: GUIManager.cpp:132
~GUIManager()
Definition: GUIManager.hpp:35
GUIManager()
Definition: GUIManager.cpp:5
uint8_t renderAbout(WindowManager *window)
Definition: GUIManager.cpp:166
void begin()
Definition: GUIManager.cpp:54
void render()
Definition: GUIManager.cpp:48
void getFrame()
Definition: GUIManager.cpp:41
void init(GLFWwindow *window)
Definition: GUIManager.cpp:9
ImVec4 clearColor
Definition: GUIManager.hpp:39
uint8_t renderMenu(WindowManager *window)
Definition: GUIManager.cpp:79
void cleanup()
Definition: GUIManager.cpp:195
int displayHeight
Definition: GUIManager.hpp:40
bool renderBackButton()
Definition: GUIManager.cpp:58
Definition: WindowManager.hpp:12