#include <Xm/Form.h>
#include "ViewingMap.h"

ViewingMapArea::ViewingMapArea(const char *name, Widget parent)
  : VkDoubleBuffer(name, parent)
{
  _display = theApplication->display();
  XGCValues gcValues;
  gcValues.foreground = BlackPixel(_display, DefaultScreen(_display));
  gcValues.background = WhitePixel(_display, DefaultScreen(_display));

  _gc = XCreateGC(_display, RootWindow(_display, DefaultScreen(_display)),
		  (GCForeground | GCBackground), &gcValues);
}


ViewingMapArea::~ViewingMapArea()
{
}


void ViewingMapArea::draw()
{
  XFillRectangle(_display, _canvas, _gc, 0, 0, _width, _height);
}


ViewingMap::ViewingMap(const char *name, Widget parent)
  : DmGuiObject(name, parent)
{
  _baseWidget = XtVaCreateWidget(name, xmFormWidgetClass, parent, NULL);
  installDestroyHandler();
  
  _mapArea = new ViewingMapArea("mapArea", _baseWidget); 
  XtVaSetValues(_mapArea->baseWidget(),
		XmNtopAttachment, XmATTACH_FORM,
		XmNbottomAttachment, XmATTACH_FORM,
		XmNleftAttachment, XmATTACH_FORM,
		XmNrightAttachment, XmATTACH_FORM,
		NULL);

  _mapArea->show();
}


ViewingMap::~ViewingMap()
{
}


void ViewingMap::updateGui(DM_Item handle)
{
  _mapArea->update();
}




