16#include "imgui_impl_glfw.h"
17#include "imgui_impl_opengl3.h"
28#define GL_SILENCE_DEPRECATION
29#include <GLFW/glfw3.h>
32#include "implot_internal.h"
34#include "imgui-node-editor/imgui_node_editor.h"
35namespace ImNodeEditor = ax::NodeEditor;
37#include "../user_interface_parameters.h"
38#include "../user_interface_window.h"
46 struct GLFWbackgroundImageTexture
49 BackgroundImageParameters parameters;
51 GLFWbackgroundImageTexture()
56 explicit GLFWbackgroundImageTexture(BackgroundImageParameters parameters)
57 : texture(0), parameters(std::move(parameters))
72 UserInterfaceParameters parameters;
73 GLFWbackgroundImageTexture backgroundImageTexture;
75 std::vector<std::shared_ptr<UserInterfaceWindow>> windows;
86 template<
typename T,
typename... Args>
89 auto window = std::make_shared<T>(std::forward<Args>(args)...);
90 windows.push_back(std::move(window));
93 void loadIcon()
const;
95 void loadBackgroundImage();
96 void renderWindows()
const;
97 void renderBackgroundImage()
const;
98 void updateLastRenderedFrameDimensions();
99 void updateFontGlobalScale()
const;
105bool LoadTextureFromFile(
const char* filename, GLuint* out_texture,
int* out_width,
int* out_height);
106float GetDpiScale(GLFWwindow* window);
107GLFWmonitor* GetActiveMonitor(GLFWwindow* window);
void addWindow(Args &&... args)
Constructs a window of type T and registers it for rendering.
Definition win32_dx12_user_interface.h:157
void shutdown()
Destroys the rendering backend, the ImGui contexts and the platform window.
bool isShutdownRequested() const
Returns true once the user has requested to close the window.
void initialize()
Creates the platform window, sets up the rendering backend and the ImGui/ImPlot/node-editor contexts,...
void render()
Renders one frame: processes platform events and calls render() on every registered window.
UserInterface()
Constructs the interface with default UserInterfaceParameters.
Definition colour_palette.h:11