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:

The implementor has to provide the following:

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:

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.

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



Packages 
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