javax.media.nativewindow
public abstract class NativeWindowFactory extends Object
NativeWindow
interface,
which provides a platform-independent mechanism of accessing the
information required to perform operations like
hardware-accelerated rendering using the OpenGL API.Modifier and Type | Field and Description |
---|---|
static String |
AWTComponentClassName |
static String |
TYPE_ANDROID
Android/EGL type, as retrieved with
getNativeWindowType(boolean) |
static String |
TYPE_AWT
Generic AWT type, as retrieved with
getNativeWindowType(boolean) |
static String |
TYPE_DEFAULT
Generic DEFAULT type, where platform implementation don't care, as retrieved with
getNativeWindowType(boolean) |
static String |
TYPE_EGL
OpenKODE/EGL type, as retrieved with
getNativeWindowType(boolean) |
static String |
TYPE_MACOSX
Mac OS X type, as retrieved with
getNativeWindowType(boolean) |
static String |
TYPE_WINDOWS
Microsoft Windows type, as retrieved with
getNativeWindowType(boolean) |
static String |
TYPE_X11
X11 type, as retrieved with
getNativeWindowType(boolean) |
static String |
X11JAWTToolkitLockClassName |
static String |
X11ToolkitLockClassName |
Modifier and Type | Method and Description |
---|---|
static ToolkitLock |
createDefaultToolkitLock(String type,
long deviceHandle)
|
static ToolkitLock |
createDefaultToolkitLock(String type,
String sharedType,
long deviceHandle)
|
static NativeWindowFactory |
getDefaultFactory()
Gets the default NativeWindowFactory.
|
static ToolkitLock |
getDefaultToolkitLock()
Provides the system default
ToolkitLock , a singleton instance. |
static ToolkitLock |
getDefaultToolkitLock(String type)
Provides the default
ToolkitLock for type , a singleton instance. |
static NativeWindowFactory |
getFactory(Class<?> windowClass)
Returns the appropriate NativeWindowFactory to handle window
objects of the given type.
|
static NativeWindow |
getNativeWindow(Object winObj,
AbstractGraphicsConfiguration config)
Converts the given window object and it's
AbstractGraphicsConfiguration into a
NativeWindow which can be operated upon by a custom
toolkit, e.g. |
static String |
getNativeWindowType(boolean useCustom) |
static ToolkitLock |
getNullToolkitLock() |
static OffscreenLayerSurface |
getOffscreenLayerSurface(NativeSurface surface,
boolean ifEnabled)
Returns the
OffscreenLayerSurface instance of this NativeSurface . |
static void |
initSingleton(boolean firstUIActionOnProcess)
Static one time initialization of this factory.
This initialization method must be called once by the program or utilizing modules! |
static boolean |
isAWTAvailable() |
static boolean |
isFirstUIActionOnProcess() |
static boolean |
requiresToolkitLock() |
static void |
setDefaultFactory(NativeWindowFactory factory)
Sets the default NativeWindowFactory.
|
static void |
shutdown() |
public static final String TYPE_EGL
getNativeWindowType(boolean)
public static final String TYPE_WINDOWS
getNativeWindowType(boolean)
public static final String TYPE_X11
getNativeWindowType(boolean)
public static final String TYPE_ANDROID
getNativeWindowType(boolean)
public static final String TYPE_MACOSX
getNativeWindowType(boolean)
public static final String TYPE_AWT
getNativeWindowType(boolean)
public static final String TYPE_DEFAULT
getNativeWindowType(boolean)
public static final String AWTComponentClassName
public static final String X11JAWTToolkitLockClassName
public static final String X11ToolkitLockClassName
public static void initSingleton(boolean firstUIActionOnProcess)
The parameter firstUIActionOnProcess
has an impact on concurrent locking:
getDefaultToolkitLock()
getDefaultToolkitLock(type)
createDefaultToolkitLock(type, dpyHandle)
createDefaultToolkitLockNoAWT(type, dpyHandle)
firstUIActionOnProcess
- Should be true
if called before the first UI action of the running program,
otherwise false
.public static void shutdown()
public static boolean isFirstUIActionOnProcess()
initSingleton(firstUIActionOnProcess==true)
,
otherwise false.public static boolean requiresToolkitLock()
public static boolean isAWTAvailable()
public static String getNativeWindowType(boolean useCustom)
useCustom
- if false return the native value, if true return a custom value if set, otherwise fallback to the native value.TYPE_X11
, ..public static void setDefaultFactory(NativeWindowFactory factory)
public static NativeWindowFactory getDefaultFactory()
public static ToolkitLock getDefaultToolkitLock()
ToolkitLock
, a singleton instance.
public static ToolkitLock getDefaultToolkitLock(String type)
ToolkitLock
for type
, a singleton instance.
initSingleton( firstUIActionOnProcess := false )
JAWTToolkitLock
NullToolkitLock
public static ToolkitLock getNullToolkitLock()
public static ToolkitLock createDefaultToolkitLock(String type, long deviceHandle)
ToolkitLock
for type
and deviceHandle
.
initSingleton( firstUIActionOnProcess := false )
X11ToolkitLock
NullToolkitLock
public static ToolkitLock createDefaultToolkitLock(String type, String sharedType, long deviceHandle)
ToolkitLock
for type
and deviceHandle
.
initSingleton( firstUIActionOnProcess := false )
jogamp.nativewindow.jawt.x11.X11JAWTToolkitLock
X11ToolkitLock
NullToolkitLock
public static NativeWindowFactory getFactory(Class<?> windowClass) throws IllegalArgumentException
NativeWindow
, in which case the client has
already assumed the responsibility of creating a compatible
NativeWindow implementation, or it might be that of a toolkit
class like Component
.IllegalArgumentException
public static NativeWindow getNativeWindow(Object winObj, AbstractGraphicsConfiguration config) throws IllegalArgumentException, NativeWindowException
AbstractGraphicsConfiguration
into a
NativeWindow
which can be operated upon by a custom
toolkit, e.g. javax.media.opengl.GLDrawableFactory
.GraphicsConfigurationFactory
to construct a proper AbstractGraphicsConfiguration
.IllegalArgumentException
- if the given window object
could not be handled by any of the registered
NativeWindowFactory instancesNativeWindowException
javax.media.nativewindow.GraphicsConfigurationFactory#chooseGraphicsConfiguration(Capabilities, CapabilitiesChooser, AbstractGraphicsScreen)
public static OffscreenLayerSurface getOffscreenLayerSurface(NativeSurface surface, boolean ifEnabled)
OffscreenLayerSurface
instance of this NativeSurface
.
In case this surface is a NativeWindow
, we traverse from the given surface
up to root until an implementation of OffscreenLayerSurface
is found.
In case ifEnabled
is true, the surface must also implement OffscreenLayerOption
where OffscreenLayerOption.isOffscreenLayerSurfaceEnabled()
is true
.
surface
- The surface to query.ifEnabled
- If true, only return the enabled OffscreenLayerSurface
, see OffscreenLayerOption.isOffscreenLayerSurfaceEnabled()
.Copyright 2010 JogAmp Community.