]> git.tdb.fi Git - libs/gui.git/blobdiff - source/display.h
Bugfixes
[libs/gui.git] / source / display.h
index 0433eab22404163996491fa5ca772732f750b09a..70efd20627426bed067dbd988b8cac1e1c811c4b 100644 (file)
@@ -23,26 +23,35 @@ struct VideoMode
        unsigned width;
        unsigned height;
        unsigned rate;
+
+       VideoMode(): width(0), height(0), rate(0) { }
+       VideoMode(unsigned w, unsigned h): width(w), height(h), rate(0) { }
 };
 
 class Display
 {
 private:
+#ifndef WIN32
        ::Display *display;
+#endif
        std::list<VideoMode> modes;
+       VideoMode orig_mode;
        std::map<WindowHandle, Window *> windows;
 
 public:
        Display(const std::string &disp_name=std::string());
        ~Display();
 
+#ifndef WIN32
        ::Display *get_display() const { return display; }
+#endif
 
        void add_window(Window *);
        void remove_window(Window *);
 
        const std::list<VideoMode> &get_modes() const { return modes; }
        void set_mode(const VideoMode &);
+       void restore_mode() { set_mode(orig_mode); }
 
        void tick();
        void check_error();