@Override
		public void mouseDragged(MouseEvent e) {
			mouseDown = true;
			GCThread.increaseGCFlag(5);	
			if (SwingUtilities.isLeftMouseButton(e) && !e.isShiftDown()) {
				x2 = e.getX();
				y2 = e.getY();

				double newUpperLeftX = upperLeftX-((x2-x1)*(75/factor));
				double newUpperLeftY = upperLeftY+((y2-y1)*(75/factor));

				if(newUpperLeftX <= 434168)
					newUpperLeftX = 434168;

				if(newUpperLeftX+utmWidth >= 918958)
					newUpperLeftX = upperLeftX;

				if(newUpperLeftY-utmHeight <= 6032816) {
					newUpperLeftY = upperLeftY;
				}
				if(newUpperLeftY >= 6412239) {
					newUpperLeftY = 6412239;
				}

				zoom(newUpperLeftX, newUpperLeftY, utmWidth, utmHeight, false, 0, 0, 0, 0);
			}
			if(e.isShiftDown()) {
				x2 = Math.min(e.getX(), x1);
				y2 = Math.min(e.getY(), y1);
				rectWidth = (int) Math.abs(x1 - e.getX());
				rectHeight = (int) Math.abs(y1 - e.getY());
				dragging = true;
				repaint();
			}
		}