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()
AbstractGraphicsScreen
AbstractGraphicsConfiguration
The implementor has to provide the following:
- The specialisation of the abstract class
NativeWindowFactory
shall be registered with
NativeWindowFactory.registerFactory(..)
. - The specialisation of the abstract class
GraphicsConfigurationFactory
shall 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 |