/* $Id$
This file is part of libmspgbase
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
+Copyright © 2007-2008 Mikko Rasa, Mikkosoft Productions
Distributed under the LGPL
*/
#include <list>
#include <map>
#include <string>
-#include "types.h"
namespace Msp {
namespace Graphics {
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 &);