From ba89d4bfbe730309f204499d73aa01980186866f Mon Sep 17 00:00:00 2001 From: Pcornat Date: Fri, 15 Apr 2022 22:00:13 +0200 Subject: [PATCH] Adding an interface for all data in GUI (not useful in this project but can be in another. --- include/gui_data_interface.hpp | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 include/gui_data_interface.hpp diff --git a/include/gui_data_interface.hpp b/include/gui_data_interface.hpp new file mode 100644 index 0000000..32e05f0 --- /dev/null +++ b/include/gui_data_interface.hpp @@ -0,0 +1,53 @@ +#ifndef BILLYSHEET_GUI_DATA_INTERFACE_HPP +#define BILLYSHEET_GUI_DATA_INTERFACE_HPP + +#include + +namespace gui { + class GuiDataInterface { + public: + GuiDataInterface() noexcept = default; + + virtual ~GuiDataInterface() noexcept = default; + + virtual void key_callback(GLFWwindow *window, int key, int scancode, int action, int mods) = 0; + + virtual void character_callback(GLFWwindow *window, unsigned int codepoint) = 0; + + virtual void cursor_position_callback(GLFWwindow *window, double xpos, double ypos) = 0; + + virtual void cursor_enter_callback(GLFWwindow *window, int entered) = 0; + + virtual void mouse_button_callback(GLFWwindow *window, int button, int action, int mods) = 0; + + virtual void scroll_callback(GLFWwindow *window, double xoffset, double yoffset) = 0; + + virtual void joystick_callback(int jid, int event) = 0; + + virtual void drop_callback(GLFWwindow *window, int count, const char **paths) = 0; + + virtual void window_close_callback(GLFWwindow *window) = 0; + + virtual void window_size_callback(GLFWwindow *window, int width, int height) = 0; + + virtual void framebuffer_size_callback(GLFWwindow *window, int width, int height) = 0; + + virtual void window_content_scale_callback(GLFWwindow *window, float xscale, float yscale) = 0; + + virtual void window_pos_callback(GLFWwindow *window, int xpos, int ypos) = 0; + + virtual void window_iconify_callback(GLFWwindow *window, int iconified) = 0; + + virtual void window_maximize_callback(GLFWwindow *window, int maximized) = 0; + + virtual void window_focus_callback(GLFWwindow *window, int focused) = 0; + + virtual void window_refresh_callback(GLFWwindow *window) = 0; + + virtual void error_callback(int error, const char *message) = 0; + }; + +} + + +#endif //BILLYSHEET_GUI_DATA_INTERFACE_HPP