#ifndef _X11DISPLAYS_H
#define _X11DISPLAYS_H

#include "display.h"
#include "X11Screen.h"
#include <X11/Intrinsic.h>

class X11DisplayData : public displayData
{
public:
  X11DisplayData(X11Screen *scr, Display *display);
  virtual ~X11DisplayData();
  void Raise();
  void Flush();
  
  void Clear();
  void FillRect(int x, int y, int width, int ht, int col);
  void Rect(int x, int y, int width, int ht, int col);
  //void BitBlt(int sx, int sy, int w, int h, int dx, int dy);
  void DrawPixmap(int x, int y, class CPixmap *handle, int owner);
  void WriteStr(int x, int y, char *str, int color);

  virtual void ExposeNotify(int x, int y, int width, int height) = 0;

  X11Screen *screen;
  Display *dpy;

protected:
  Window frame;
  Window window; // drawing area
  Pixmap pix;
  int width, height;
};

#endif
