public void Move(ScreenCanvas canvas, Point location)
{
var screen = canvas.Screen;
if (!held) return;
Point pos = new Point(location.X / screen.Tileset.TileSize, location.Y / screen.Tileset.TileSize);
if (pos == currentTilePos) return; // don't keep drawing on the same spot
Draw(screen, pos.X, pos.Y);
}