#include #include #include #include #include #include #include #include #include #include #include "dat.h" static Point newmouse; static Point oldmouse; /* call moveto, but record old and new mouse positions */ void recmoveto(Mousectl *mc, Point pt){ static vlong prevtime = 0; vlong curtime = nsec(); if(curtime-prevtime>500000000){ /* 500ms */ newmouse = pt; oldmouse = mouse->xy; } prevtime = curtime; moveto(mc, pt); } void undomoveto(Mousectl *mc){ Point tmp; moveto(mc, oldmouse); tmp = newmouse; newmouse = oldmouse; oldmouse = tmp; }