Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package javax.media.nativewindow

NativeWindow Protocol Specification Overview

See:
Description

Interface Summary
AbstractGraphicsConfiguration | A marker interface describing a graphics configuration, visual, or pixel format in a toolkit-independent manner.
AbstractGraphicsDevice | A interface describing a graphics device in a toolkit-independent manner.
AbstractGraphicsScreen | A interface describing a graphics screen in a toolkit-independent manner.
CapabilitiesChooser | Provides a mechanism by which applications can customize the window type selection for a given `Capabilities`.
NativeWindow | Provides the low-level information required for hardware-accelerated rendering in a platform-independent manner.
ToolkitLock | Provides an interface for locking and unlocking the underlying window toolkit, where this is necessary in the OpenGL implementation.

Class Summary
Capabilities | Specifies a set of capabilities that a window's rendering context must support, such as color depth per channel.
DefaultCapabilitiesChooser | The default implementation of the `CapabilitiesChooser` interface, which provides consistent visual selection behavior across platforms.
DefaultGraphicsConfiguration |
DefaultGraphicsDevice |
DefaultGraphicsScreen |
GraphicsConfigurationFactory | Provides the mechanism by which the graphics configuration for a window can be chosen before the window is created.
NativeWindowFactory | Provides a pluggable mechanism for arbitrary window toolkits to adapt their components to the `NativeWindow` interface, which provides a platform-independent mechanism of accessing the information required to perform operations like hardware-accelerated rendering using the OpenGL API.

Exception Summary
NativeWindowException | A generic exception for OpenGL errors used throughout the binding as a substitute for `RuntimeException`.

## Package javax.media.nativewindow Description

## 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 window to an implementation of `NativeWindow`.
However, an implementation of this protocol (e.g. `com.sun.javafx.newt`) may support the creation.

### Dependencies

This binding has dependencies to the following:

- Either of the following Java implementations:
  - Java SE 1.4 or later
  - Java ME CDC 1.1.2 (JSR 218) and Foundation Profile 1.1.2 (JSR 219)
    and either of the following java.nio implementations:
    - JSR239 java.nio subset
    - Java 1.4 java.nio implementation

### Package Structure

The packages defined by this specification include:

- The javax.media.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 javax.media.nativewindow.awt package
  This sub package contains classes to cover the native characteristics of the AWT windowing system.
- The javax.media.nativewindow.x11 package
  This sub package contains classes to cover the native characteristics of the X11 windowing system.
- The javax.media.nativewindow.windows package
  This sub package contains classes to cover the native characteristics of the Windows windowing system.
- The javax.media.nativewindow.macosx package
  This sub package contains classes to cover the native characteristics of the MacOSX windowing system.
- The javax.media.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`.
The implementor has to specialize All supported Regardless of the knowledge of the underly

### Revision History

- Early Draft Review, June 2009

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.