public void generateImage(Component c) {

		// Note: using the screen image has the downside of capturing non-Ghidra windows when
		//       focus is lost.   Prefer the component painting itself.   This will not work
		//       for native constructs like window decorations.
		if (!(c instanceof Window)) {
			image = createRenderedImage(c);
			return;
		}

		try {
			image = createScreenImage(c);
		}
		catch (AWTException e) {
			error(e);
		}

	}
Captures the window, including decorations. This will use a {@link Robot} to create a screen
capture, which has the effect of getting all items within the window bounds. This method is
needed if you wish to capture child windows, like popups/hovers.

<P>
Other capture methods will not use the screen capture mechanism, but rather will directly
render the given component. In this case, subordinate windows will not be captured. For
example, see {@link #captureProvider(Class)}.

@param provider the provider's name
@param width the desired width
@param height the desired height
Ghidra/Features/Base/src/main/java/help/screenshot/AbstractScreenShotGenerator.java