]> git.tdb.fi Git - libs/gui.git/blobdiff - source/gbase/display.h
Hide the platform-specific parts of other classes as well
[libs/gui.git] / source / gbase / display.h
index 70efd20627426bed067dbd988b8cac1e1c811c4b..a827f50f11b1291eabca029380c3f901d73dda50 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of libmspgbase
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
+Copyright © 2007-2008  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
@@ -11,7 +11,6 @@ Distributed under the LGPL
 #include <list>
 #include <map>
 #include <string>
-#include "types.h"
 
 namespace Msp {
 namespace Graphics {
@@ -30,24 +29,22 @@ struct VideoMode
 
 class Display
 {
+public:
+       struct Private;
+
 private:
-#ifndef WIN32
-       ::Display *display;
-#endif
        std::list<VideoMode> modes;
        VideoMode orig_mode;
-       std::map<WindowHandle, Window *> windows;
+       Private *priv;
 
 public:
        Display(const std::string &disp_name=std::string());
        ~Display();
 
-#ifndef WIN32
-       ::Display *get_display() const { return display; }
-#endif
+       const Private &get_private() const { return *priv; }
 
-       void add_window(Window *);
-       void remove_window(Window *);
+       void add_window(Window &);
+       void remove_window(Window &);
 
        const std::list<VideoMode> &get_modes() const { return modes; }
        void set_mode(const VideoMode &);