#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; }