// -*- c++ -*-

#ifndef _X11_SCREEN
#define _X11_SCREEN

#include "graph.h"

class MsgQ;

class X11Screen : public Graphics
{
public:
  X11Screen(int argc, char **argv);
  virtual ~X11Screen();

  // FIXME: handle that better
#ifdef USE_XT
  friend void ReadNotify(XtPointer clt, int* fd_p, XtInputId* id);
#endif
  
  virtual int AllocColor(char *name);
  virtual PixmapInfo *CompilePixmap(char **pixmap);
  virtual void FreePixmap(PixmapInfo *handle);
  virtual void GetPixmapInfo(PixmapInfo *handle, int &w, int &h);

  //protected:

  Display *dpy;
  Colormap colormap;
  GC gc;
};

struct PixmapInfo {
  Pixmap pixmap;
  Pixmap mask;
  int w, h;
};

#endif
