public void zoomIn() {
		if (tileSize + TILE_SIZE_STEP > TILE_MAX_SIZE)
			return;
		
		int oldSize = tileSize;
		Container c = GraphicPanel.this.getParent();
		int newX, newY;
		
		tileSize += TILE_SIZE_STEP;
		
		revalidateScroll();
		
		if (c instanceof JViewport) {
			JViewport jv = (JViewport) c;
			Point pos = jv.getViewPosition();
			
			newX = pos.x + ((pos.x / oldSize) * (TILE_SIZE_STEP + 1));
			newY = pos.y + ((pos.y / oldSize) * (TILE_SIZE_STEP + 1));
			
			jv.setViewPosition(new Point(newX, newY));
		}
		
		repaint();
	}