Class GLWindow

java.lang.Object
jogamp.opengl.GLAutoDrawableBase
com.jogamp.newt.opengl.GLWindow
All Implemented Interfaces:
NativeSurface, NativeSurfaceHolder, NativeWindow, ScalableSurface, SurfaceUpdatedListener, WindowClosingProtocol, NEWTEventConsumer, Window, FPSCounter, GLAutoDrawable, GLDrawable, GLSharedContextSetter, GLStateKeeper

public class GLWindow extends jogamp.opengl.GLAutoDrawableBase implements GLAutoDrawable, Window, NEWTEventConsumer, FPSCounter
An implementation of GLAutoDrawable and Window interface, using a delegated Window instance, which may be an aggregation (lifecycle: created and destroyed).

This implementation supports GL state preservation, hence isGLStatePreservationSupported() returns true.

This implementation does not make the OpenGL context current
before calling the various input EventListener callbacks, ie MouseListener etc.
This design decision is made in favor of a more performant and simplified implementation. Also the event dispatcher shall be implemented OpenGL agnostic.
To be able to use OpenGL commands from within such input NEWTEventListener,
you can inject GLRunnable objects via GLAutoDrawableBase.invoke(boolean, GLRunnable) to the OpenGL command stream.

OpenGL Context Sharing
To share a GLContext see the following note in the documentation overview: context sharing as well as GLSharedContextSetter.