private void autoscrollNonWindows() {
		//
		// On non-Windows components, we will just calculate ourselves when the cursor is over
		// an auto scroll area.
		//		
		Component releativeToComponent = component.getParent().getParent();

		PointerInfo pointerInfo = MouseInfo.getPointerInfo();
		// TODO: Not sure why this is blowing out on Java 1.7 on Mac, fixes blowup and lockup for now.
		if (pointerInfo == null) {
			return;
		}
		Point mouseLocation = pointerInfo.getLocation();
		SwingUtilities.convertPointFromScreen(mouseLocation, releativeToComponent);

		Rectangle bounds = releativeToComponent.getBounds();

		// make sure we are within the bounds horizontally
		int componentEndX = bounds.x + bounds.width;
		boolean withinHorizontally =
			mouseLocation.x >= bounds.x && mouseLocation.x <= componentEndX;
		if (!withinHorizontally) {
			return; // the user dragged out of the component to the side--do nothing
		}

		int scrollAmount = 0;

		int upperAutoScrollEndY = bounds.y + MARGIN;
		boolean overUpperAutoScrollArea = mouseLocation.y < upperAutoScrollEndY;
		int lowerScrollAreaStartY = (bounds.y + bounds.height) - MARGIN;
		boolean overLowerAutoScrollArea = mouseLocation.y > lowerScrollAreaStartY;
		if (overUpperAutoScrollArea) {

			int midUpperScrollArea = upperAutoScrollEndY - (MARGIN >> 1);
			if (mouseLocation.y < midUpperScrollArea) {
				scrollAmount = -(scrollIncrement * 3);
			}
			else {
				scrollAmount = -scrollIncrement;
			}
		}
		else if (overLowerAutoScrollArea) {
			int midLowerScrollArea = lowerScrollAreaStartY + (MARGIN >> 1);
			if (mouseLocation.y > midLowerScrollArea) {
				scrollAmount = scrollIncrement * 3;
			}
			else {
				scrollAmount = scrollIncrement;
			}
		}

		Rectangle visRect = component.getVisibleRect();
		visRect.y += scrollAmount;
		int compHeight = component.getSize().height;
		if (visRect.y < 0) {
			visRect.y = 0;
		}
		else if (visRect.y >= compHeight - visRect.height) {
			visRect.y = compHeight - visRect.height - 1;
		}

		component.scrollRectToVisible(visRect);
	}
Constructor
@param component component that is scrollable
@param scrollIncrement value to use to calculate the new
visible rectangle for scrolling
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/AutoscrollAdapter.java