#include <stdio.h>
#include "libsx.h"
#include "graph.h"

/* stuff for cross hair */

int hc = 0;
int xo, yo;

void deleteCrossHair()
{
  int ww, hh;

  GetDrawAreaSize(&ww, &hh);
  SetDrawMode(SANE_XOR);
  myDrawLine(xo, 0, xo, hh);
  myDrawLine(0, yo, ww, yo);
  hc = 0;
  SetDrawMode(GXcopy);

}

void crossHair(int x, int y)
{
  int ww, hh;
  float xp, yp;
  char text[100];

  GetDrawAreaSize(&ww, &hh);
  SetDrawMode(SANE_XOR);
  if(hc == 0){
    myDrawLine(x, 0, x, hh);
    myDrawLine(0, y, ww, y);
    xo = x;
    yo = y;
    hc = 1;
  }
  else {
    myDrawLine(xo, 0, xo, hh);
    myDrawLine(0, yo, ww, yo);
    myDrawLine(x, 0, x, hh);
    myDrawLine(0, y, ww, y);
    hc = 1;
    xo = x;
    yo = y;
  }
  SetDrawMode(GXcopy);
  pix2phys(x, y, &xp, &yp);
  sprintf(text, "(%f:%f)",xp, yp);
  myDrawText(text, 10, 18);

}
void redisplayCrossHair()
{
  int ww, hh;

  if(hc == 1){
    GetDrawAreaSize(&ww, &hh);
    myDrawLine(xo, 0, xo, hh);
    myDrawLine(0, yo, ww, yo);

  }
}


syntax highlighted by Code2HTML, v. 0.9.1