#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