@Override
	public void mouseMoved(MouseEvent e) 
	{

		Point actualMousePos = d.calculateNewPointWithZoom(new Point(e.getX() + d.viewPort.x - 320, e.getY() + d.viewPort.y - 240));

		Point snappedMousePos = null;
		for (int i = 0; i < d.updateList.size(); i ++)
		{
			if (d.updateList.get(i) instanceof Wall)
			{
				Wall a = (Wall) d.updateList.get(i);
				if (HelperClass.pythagoras(actualMousePos, a.start) <= 8)
				{
					snappedMousePos = a.start;
					break;
				}
				if (HelperClass.pythagoras(actualMousePos, a.end) <= 8)
				{
					snappedMousePos = a.end;
					break;
				}
			}
		}
		
		if (snappedMousePos == null)
		{
			snappedMousePos = actualMousePos;
		}
		if (d.creatingWall)
		{
			Wall w = (Wall) d.currentlyModifying;
			if (!d.shiftModifier)
			{
				w.end = snappedMousePos;
			}
			else
			{
				if (Math.abs(snappedMousePos.x - w.start.x) >  Math.abs(snappedMousePos.y - w.start.y))
				{
					w.end = new Point(snappedMousePos.x,w.start.y);
				}
				else
				{
					w.end = new Point(w.start.x,snappedMousePos.y);
				}
			}
		}
		lastMousePos = actualMousePos;
	}