-/* $Id$
-
-This file is part of libmspgbase
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_GBASE_DRAWCONTEXT_H_
#define MSP_GBASE_DRAWCONTEXT_H_
-#ifndef WIN32
-#include <X11/Xlib.h>
-#include <X11/extensions/XShm.h>
-#endif
-
namespace Msp {
namespace Graphics {
class DrawContext
{
private:
+ struct Private;
+
Display &display;
Window &window;
-#ifndef WIN32
- XImage *image;
- bool use_shm;
- XShmSegmentInfo shminfo;
-#endif
+ Private *priv;
public:
DrawContext(Window &);
~DrawContext();
Window &get_window() const { return window; }
- unsigned get_depth() const { return image->bits_per_pixel; }
- unsigned char *get_data() { return reinterpret_cast<unsigned char *>(image->data); }
+ unsigned get_depth() const;
+ unsigned char *get_data();
void update();
};