#ifndef _PANTILTGRAPH_H
#define _PANTILTGRAPH_H
static char PanTiltGraph_h_id[] = "$Header: /usr/tiburon/unix/gui/tmacs/RCS/PanTiltGraph.h,v 1.1 1996/10/28 09:13:52 oreilly Exp $";

/*
$Log: PanTiltGraph.h,v $
Revision 1.1  1996/10/28 09:13:52  oreilly
Initial revision

*/


#include <math.h>
#include <values.h>
#include <Xm/Xm.h>
#include "Math.h"

#define NoPanTiltValue MAXDOUBLE

enum
{
  PortLight = 0, StbdLight, PortCamera, StbdCamera
};


class PanTiltGraph 
{
  public:

  enum
  {
    Circle, Rectangle

  };
  
  PanTiltGraph(Display *display, GC axisGC, GC pointGC, 
	       Radians panRange, Radians tiltRange,
	       int pointType);

  ~PanTiltGraph();
  
  void setDimensions(int originX, int originY, int width, int height);
  void setPanRange(Radians panRange);
  void setTiltRange(Radians tiltRange);
  void setPan(Radians pan);
  void setCenterPan(Radians centerPan);
  void setTilt(Radians tilt);
  
  void draw(Drawable canvas);
  void setLabel(const char *label);
  
  protected:

  int physicalCoords(Radians pan, Radians tilt, int *i, int *j);
  Display *_display;
  GC _axisGC, _pointGC;
  
  int _originX;
  int _originY;
  int _width;
  int _height;
  Radians _panRange;
  Radians _tiltRange;
  Radians _centerPan;
  
  Radians _pan;
  Radians _tilt;

  int _pointType;
  char *_label;
  
};



#endif
