]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/display.h
Expose functions for finding video modes from Display
[libs/gui.git] / source / graphics / display.h
index 370bf0dea81013c03d2212ae77e2cfabd9cb7981..03912de864dbdc95d7d3181406554853316fad0c 100644 (file)
@@ -4,6 +4,8 @@
 #include <list>
 #include <stdexcept>
 #include <string>
+#include "errordialog.h"
+#include "monitor.h"
 #include "videomode.h"
 
 namespace Msp {
@@ -17,9 +19,11 @@ public:
        struct Private;
 
 private:
+       std::list<Monitor> monitors;
+       Monitor *primary_monitor;
        std::list<VideoMode> modes;
-       VideoMode orig_mode;
        Private *priv;
+       ErrorDialog *err_dialog;
 
 public:
        Display(const std::string &disp_name = std::string());
@@ -30,10 +34,13 @@ public:
        void add_window(Window &);
        void remove_window(Window &);
 
+       const std::list<Monitor> &get_monitors() const { return monitors; }
        const std::list<VideoMode> &get_modes() const { return modes; }
-       const VideoMode &get_desktop_mode() const { return orig_mode; }
-       void set_mode(const VideoMode &);
-       void restore_mode() { set_mode(orig_mode); }
+       const VideoMode &get_desktop_mode() const;
+       void set_mode(const VideoMode &, bool = false);
+       void restore_mode();
+       const VideoMode *find_mode(const VideoMode &) const;
+       const VideoMode *find_mode(unsigned, unsigned) const;
 
        void tick();
 private: