]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/window.cpp
Add support for using the latest available OpenGL version
[libs/gui.git] / source / graphics / window.cpp
index 958667ead5698165d18508a7685f7ea1eebcfa9f..6cadf3ec9f4becb047c35033b7d70be5f919a770 100644 (file)
@@ -15,6 +15,8 @@ WindowOptions::WindowOptions():
        width(640),
        height(480),
        fullscreen(false),
+       fullscreen_monitor(0),
+       fullscreen_exclusive(true),
        resizable(false)
 { }
 
@@ -45,6 +47,9 @@ void Window::init()
        moving = false;
        priv = new Private;
 
+       if(options.fullscreen && !options.fullscreen_monitor)
+               options.fullscreen_monitor = display.get_desktop_mode().monitor;
+
        platform_init();
 
        display.add_window(*this);
@@ -90,11 +95,14 @@ void Window::reconfigure(const WindowOptions &opts)
 
 void Window::set_fullscreen_mode()
 {
+       if(!options.fullscreen_monitor)
+               options.fullscreen_monitor = display.get_desktop_mode().monitor;
        VideoMode mode(options.width, options.height);
-       mode.rotation = display.get_desktop_mode().monitor->desktop_settings.rotation;
+       mode.monitor = options.fullscreen_monitor;
+       mode.rotation = mode.monitor->desktop_settings.rotation;
        if(mode.rotation==ROTATE_LEFT || mode.rotation==ROTATE_RIGHT)
                swap(mode.width, mode.height);
-       display.set_mode(mode, true);
+       display.set_mode(mode, options.fullscreen_exclusive);
 }
 
 void Window::set_keyboard_autorepeat(bool r)