NativeWindow Protocol Specification Overview
Preface
This specification, an optional set of packages, describing a protocol for a native windowing interface binding to Java(TM).Currently specified native windowing systems are:
- EGL/OpenKODE Windowing System
- X11 Windowing System
- Microsoft Windows
- Apple MacOSX
- Java's AWT
However, any other native windowing system may be added to the implementation, using a generic string identifier and an optional specialisation of:
AbstractGraphicsDevice,Shall return the new string identifier with
getType()AbstractGraphicsScreenAbstractGraphicsConfiguration
The implementor has to provide the following:
- The specialisation of the abstract class
NativeWindowFactoryshall be registered with
NativeWindowFactory.registerFactory(..). - The specialisation of the abstract class
GraphicsConfigurationFactoryshall be registered with
GraphicsConfigurationFactory.registerFactory(..).
This protocol does not describe how to create native windows, but how to bind a native surface to an implementation of
and window to an implementation of NativeSurface.
NativeWindow specializes the NativeSurface.
However, an implementation of this protocol (e.g. com.jogamp.newt) may support the creation.
Dependencies
This binding has dependencies to the following:- Either of the following Java implementations:
- Java SE 1.6 or later
- A mobile JavaVM with language 1.6 support, ie: with
Package Structure
The packages defined by this specification include:- The com.jogamp.nativewindow package
This package contains Java bindings for a native windowing system.
Subsequent packages contain marker type classes, containing native characteristics of the windowing system.
- The com.jogamp.nativewindow.awt package
This sub package contains classes to cover the native characteristics of the AWT windowing system.
- The com.jogamp.nativewindow.x11 package
This sub package contains classes to cover the native characteristics of the X11 windowing system.
- The com.jogamp.nativewindow.windows package
This sub package contains classes to cover the native characteristics of the Windows windowing system.
- The com.jogamp.nativewindow.macosx package
This sub package contains classes to cover the native characteristics of the MacOSX windowing system.
- The com.jogamp.nativewindow.egl package
This sub package contains classes to cover the native characteristics of the EGL/OpenKODE windowing system.
- The com.jogamp.nativewindow.awt package
Factory Model
Running on a platform with a supported windowing system, the factory model shall be used
to instantiate a native window, see NativeWindowFactory.
Revision History
- Early Draft Review, June 2009
- 2.0.0 Maintenance Release, February 2011
- 2.0.2 Major Release, July 18th 2013
| Package | Description |
|---|---|
| com.jogamp.nativewindow |
NativeWindow Protocol Specification Overview
|
| com.jogamp.nativewindow.awt | |
| com.jogamp.nativewindow.egl | |
| com.jogamp.nativewindow.ios | |
| com.jogamp.nativewindow.javafx | |
| com.jogamp.nativewindow.macosx | |
| com.jogamp.nativewindow.swt | |
| com.jogamp.nativewindow.util | |
| com.jogamp.nativewindow.windows | |
| com.jogamp.nativewindow.x11 |