From d00ad919d7daf610d56bb551f85d9a36286d9551 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 25 Aug 2023 10:45:04 +0200 Subject: Add monitor events, limit fps to monitor the window is in, reduce latency (glFinish, fps limit) --- include/mglpp/window/Event.hpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/mglpp/window/Event.hpp b/include/mglpp/window/Event.hpp index f3e9535..bcd1e91 100644 --- a/include/mglpp/window/Event.hpp +++ b/include/mglpp/window/Event.hpp @@ -46,6 +46,23 @@ namespace mgl { int y; /* relative to the top of the window */ }; + struct MonitorGenericEvent { + const char *name; /* This name may only be valid until the next time |mgl_window_poll_event| is called */ + int id; + int x; + int y; + int width; + int height; + int refresh_rate; /* 0 if unknown */ + }; + + using MonitorConnectedEvent = MonitorGenericEvent; + using MonitorPropertyChangedEvent = MonitorGenericEvent; + + struct MonitorDisconnectedEvent { + int id; + }; + enum Type : int { Unknown, Closed, /* Window closed */ @@ -58,7 +75,10 @@ namespace mgl { MouseButtonPressed, MouseButtonReleased, MouseWheelScrolled, - MouseMoved + MouseMoved, + MonitorConnected, + MonitorDisconnected, + MonitorPropertyChanged, }; Type type; @@ -70,6 +90,9 @@ namespace mgl { MouseButtonEvent mouse_button; MouseWheelScrollEvent mouse_wheel_scroll; MouseMoveEvent mouse_move; + MonitorConnectedEvent monitor_connected; + MonitorDisconnectedEvent monitor_disconnected; + MonitorPropertyChangedEvent monitor_property_changed; }; }; } -- cgit v1.2.3