private void notifyScrollListenerViewChangedAndRepaint() {
		if (accessibleFieldPanel != null) {
			accessibleFieldPanel.updateLayouts();
		}
		BigInteger startIndex = BigInteger.ZERO;
		BigInteger endIndex = startIndex;
		int startY = 0;
		int endY = 0;
		if (!layouts.isEmpty()) {
			AnchoredLayout startLayout = layouts.get(0);
			AnchoredLayout endLayout = layouts.get(layouts.size() - 1);
			startIndex = startLayout.getIndex();
			endIndex = endLayout.getIndex();
			startY = startLayout.getYPos();
			endY = endLayout.getEndY();
		}
		for (IndexScrollListener listener : listeners) {
			listener.indexRangeChanged(startIndex, endIndex, startY, endY);
		}
		for (LayoutListener listener : layoutListeners) {
			listener.layoutsChanged(layouts);
		}
		notifyViewChanged();
		repaint();
	}
Returns the offset of the cursor from the top of the screen

@return the offset of the cursor from the top of the screen
Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/FieldPanel.java