#include "libsx.h"
#include "globals.h"
#include "graph.h"
#include "kraftwerk.h"
/*
 *   Commands to handle a zoom 
 */
int zx1, zy1;
int xlast, ylast;

void zoomMouseMotion(Widget w, int x, int y, void *data)
{
  SetDrawMode(SANE_XOR);
  DrawBox(zx1, zy1, xlast-zx1, ylast-zy1);
  DrawBox(zx1, zy1, x-zx1, y-zy1);
  SetDrawMode(GXcopy);
  xlast = x;
  ylast = y;
}
void zoomMouseUp(Widget w, int button, int x, int y, void *data)
{
  int hh = 0, ww = 0;
  float x1,y1,x2,y2;

  DrawBox(zx1, zy1, x-zx1, y-zy1);

/*
  SetButtonDownCB(drawWindow, NULL);
  SetButtonUpCB(drawWindow, NULL);
*/
  SetMouseMotionCB(drawWindow,NULL); 

  pix2phys(zx1, zy1, &x1, &y2);
  pix2phys(x, y, &x2, &y1);
  xmin = x1;
  xmax = x2;
  ymin = y1;
  ymax = y2;
  zoomActive = TRUE;
  flags.zoom = 1;
  redisplay(w, hh, ww, data);
}
void zoomMouseDown(Widget w, int button, int x, int y, void *data)
{
  zx1 = x;
  zy1 = y;
  SetMouseMotionCB(drawWindow, zoomMouseMotion); 
  xlast = x;
  ylast = y;
}


syntax highlighted by Code2HTML, v. 0.9.1