@Override
	public void mouseDragged(MouseEvent e) {
		GraphViewer<V, E> viewer = getGraphViewer(e);
		boolean accepted = checkModifiers(e);
		if (!accepted) {
			return;
		}

		if (!isHandlingEvent) {
			return;
		}

		panning = true;

		RenderContext<V, E> context = viewer.getRenderContext();
		MultiLayerTransformer multiLayerTransformer = context.getMultiLayerTransformer();
		MutableTransformer layoutTransformer = multiLayerTransformer.getTransformer(Layer.LAYOUT);
		viewer.setCursor(cursor);
		Point2D downPoint = multiLayerTransformer.inverseTransform(down);
		Point2D p = multiLayerTransformer.inverseTransform(e.getPoint());
		float dx = (float) (p.getX() - downPoint.getX());
		float dy = (float) (p.getY() - downPoint.getY());

		layoutTransformer.translate(dx, dy);
		down.x = e.getX();
		down.y = e.getY();
		e.consume();
		viewer.repaint();
	}
Note: this class is based on {@link TranslatingGraphMousePlugin}.
<p>
TranslatingGraphMousePlugin uses a MouseButtonOne press and drag gesture to translate 
the graph display in the x and y direction. The default MouseButtonOne modifier can be overridden
to cause a different mouse gesture to translate the display.

@param <V> the vertex type
@param <E> the edge type
Ghidra/Framework/Graph/src/main/java/ghidra/graph/viewer/event/mouse/VisualGraphTranslatingGraphMousePlugin.java