import hush.dv.api.*;
  import hush.dv.widgets.Canvas;
  
  public class MoveHandler extends Handler {
  
  int x; int y;
  boolean dragging;
  Canvas _canvas;
  Item it;
  
  public MoveHandler(Canvas c) {
  	_canvas = c;
  	dragging = false;
  	}
  
  public void press(Event ev) {
  	dragging = true;
  	x = ev.x(); y = ev.y();
  	it = _canvas.overlapping(x,y);
  	}
  
  public void release(Event ev) {
  	dragging = false;
  	}
  
  public void motion(Event ev) {
  	if (dragging) {
  	     it.move( ev.x() - x, ev.y() - y );
  	     x = ev.x(); y = ev.y();
  	     }
  	}
  };
  

slide: The {\em move\_handler} class