]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/window.h
Implement additional fullscreen options for Window
[libs/gui.git] / source / graphics / window.h
index 31fa248a65e2a7080fdbfeebfd1a4d290e39d689..b9a50fec520bf7baa813e5cbbaa71edc2f875a34 100644 (file)
@@ -8,6 +8,7 @@ namespace Msp {
 namespace Graphics {
 
 class Display;
+class Monitor;
 
 struct WindowOptions
 {
@@ -17,6 +18,8 @@ struct WindowOptions
        unsigned width;
        unsigned height;
        bool fullscreen;
+       const Monitor *fullscreen_monitor;
+       bool fullscreen_exclusive;
        bool resizable;
 
        WindowOptions();
@@ -33,6 +36,9 @@ public:
        objects instead. */
        sigc::signal<void, const Event &> signal_input_event;
 
+       sigc::signal<void> signal_got_focus;
+       sigc::signal<void> signal_lost_focus;
+
        sigc::signal<void, int, int> signal_move;
        sigc::signal<void, unsigned, unsigned> signal_resize;
        sigc::signal<void, unsigned, unsigned, unsigned, unsigned, const Event &> signal_expose;
@@ -61,6 +67,7 @@ public:
        void set_title(const std::string &);
        void reconfigure(const WindowOptions &);
 private:
+       void set_fullscreen_mode();
        void platform_reconfigure(bool);
 public:
        void set_keyboard_autorepeat(bool);