|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.media.nativewindow.Capabilities
public class Capabilities
Specifies a set of capabilities that a window's rendering context must support, such as color depth per channel. It currently contains the minimal number of routines which allow configuration on all supported window systems.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface javax.media.nativewindow.VisualIDHolder |
---|
VisualIDHolder.VIDComparator, VisualIDHolder.VIDType |
Field Summary |
---|
Fields inherited from interface javax.media.nativewindow.VisualIDHolder |
---|
VID_UNDEFINED |
Constructor Summary | |
---|---|
Capabilities()
Creates a Capabilities object. |
Method Summary | |
---|---|
Object |
clone()
|
Object |
cloneMutable()
|
int |
compareTo(CapabilitiesImmutable caps)
Comparing RGBA values only |
Capabilities |
copyFrom(CapabilitiesImmutable other)
Copies all Capabilities values
from source into this instance. |
boolean |
equals(Object obj)
Equality over the immutable attributes of both objects |
int |
getAlphaBits()
Returns the number of bits for the color buffer's alpha component. |
int |
getBlueBits()
Returns the number of bits for the color buffer's blue component. |
int |
getGreenBits()
Returns the number of bits for the color buffer's green component. |
int |
getRedBits()
Returns the number of bits for the color buffer's red component. |
int |
getTransparentAlphaValue()
Gets the transparent alpha value for the frame buffer configuration. |
int |
getTransparentBlueValue()
Gets the transparent blue value for the frame buffer configuration. |
int |
getTransparentGreenValue()
Gets the transparent green value for the frame buffer configuration. |
int |
getTransparentRedValue()
Gets the transparent red value for the frame buffer configuration. |
int |
getVisualID(VisualIDHolder.VIDType type)
Returns the native visual ID of the given type
if supported, or VisualIDHolder.VID_UNDEFINED if not supported. |
int |
hashCode()
hash code over the immutable attributes of both objects |
boolean |
isBackgroundOpaque()
Returns whether an opaque or translucent surface is requested, supported or chosen. |
boolean |
isBitmap()
Returns whether bitmap offscreen mode is requested, available or chosen. |
boolean |
isOnscreen()
Returns whether an on- or offscreen surface is requested, available or chosen. |
void |
setAlphaBits(int alphaBits)
Sets the number of bits requested for the color buffer's alpha component. |
void |
setBackgroundOpaque(boolean opaque)
Sets whether the surface shall be opaque or translucent. |
void |
setBitmap(boolean enable)
Requesting offscreen bitmap mode. |
void |
setBlueBits(int blueBits)
Sets the number of bits requested for the color buffer's blue component. |
void |
setGreenBits(int greenBits)
Sets the number of bits requested for the color buffer's green component. |
void |
setOnscreen(boolean onscreen)
Sets whether the surface shall be on- or offscreen. |
void |
setRedBits(int redBits)
Sets the number of bits requested for the color buffer's red component. |
void |
setTransparentAlphaValue(int transValueAlpha)
Sets the transparent alpha value for the frame buffer configuration, ranging from 0 to the maximum frame buffer value for alpha. |
void |
setTransparentBlueValue(int transValueBlue)
Sets the transparent blue value for the frame buffer configuration, ranging from 0 to the maximum frame buffer value for blue. |
void |
setTransparentGreenValue(int transValueGreen)
Sets the transparent green value for the frame buffer configuration, ranging from 0 to the maximum frame buffer value for green. |
void |
setTransparentRedValue(int transValueRed)
Sets the transparent red value for the frame buffer configuration, ranging from 0 to the maximum frame buffer value for red. |
String |
toString()
Returns a textual representation of this Capabilities object. |
StringBuilder |
toString(StringBuilder sink)
Return a textual representation of this object. |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Capabilities()
Method Detail |
---|
public Object cloneMutable()
cloneMutable
in interface com.jogamp.common.type.WriteCloneable
public Object clone()
clone
in class Object
public Capabilities copyFrom(CapabilitiesImmutable other)
Capabilities
values
from source
into this instance.
public int hashCode()
CapabilitiesImmutable
hashCode
in interface CapabilitiesImmutable
hashCode
in class Object
public boolean equals(Object obj)
CapabilitiesImmutable
equals
in interface CapabilitiesImmutable
equals
in class Object
public int compareTo(CapabilitiesImmutable caps)
compareTo
in interface Comparable<CapabilitiesImmutable>
public int getVisualID(VisualIDHolder.VIDType type) throws NativeWindowException
VisualIDHolder
type
if supported, or VisualIDHolder.VID_UNDEFINED
if not supported.
Depending on the native windowing system, type
is handled as follows:
EGL_CONFIG
, WIN32_PFD
INTRINSIC
: X11 XVisual IDNATIVE
: X11 XVisual IDX11_XVISUAL
: X11 XVisual IDX11_FBCONFIG
: VID_UNDEFINED
EGL_CONFIG
, WIN32_PFD
INTRINSIC
: X11 XVisual IDNATIVE
: X11 XVisual IDX11_XVISUAL
: X11 XVisual IDX11_FBCONFIG
: X11 FBConfig ID or VID_UNDEFINED
EGL_CONFIG
, X11_XVISUAL
, X11_FBCONFIG
INTRINSIC
: Win32 PIXELFORMATDESCRIPTOR IDNATIVE
: Win32 PIXELFORMATDESCRIPTOR IDWIN32_PFD
: Win32 PIXELFORMATDESCRIPTOR IDX11_XVISUAL
, X11_FBCONFIG
, WIN32_PFD
INTRINSIC
: EGL Config IDNATIVE
: EGL NativeVisual ID (X11 XVisual ID, Win32 PIXELFORMATDESCRIPTOR ID, ...)EGL_CONFIG
: EGL Config IDINTRINSIC
and NATIVE
are always handled,
but may result in VisualIDHolder.VID_UNDEFINED
. The latter is true if
the native value are actually undefined or the corresponding object is not
mapped to a native visual object.
getVisualID
in interface VisualIDHolder
NativeWindowException
- if type
is neither
INTRINSIC
nor NATIVE
and does not match the native implementation.public final int getRedBits()
CapabilitiesImmutable
getRedBits
in interface CapabilitiesImmutable
public void setRedBits(int redBits)
public final int getGreenBits()
CapabilitiesImmutable
getGreenBits
in interface CapabilitiesImmutable
public void setGreenBits(int greenBits)
public final int getBlueBits()
CapabilitiesImmutable
getBlueBits
in interface CapabilitiesImmutable
public void setBlueBits(int blueBits)
public final int getAlphaBits()
CapabilitiesImmutable
getAlphaBits
in interface CapabilitiesImmutable
public void setAlphaBits(int alphaBits)
Note: If alpha bits are zero
, they are set to one
by setBackgroundOpaque(boolean)
and it's OpenGL specialization GLCapabilities::setSampleBuffers(boolean)
.
Ensure to call this method after the above to ensure a zero
value.
The above automated settings takes into account, that the user calls this method to request alpha bits,
not to reflect a current state. Nevertheless if this is the case - call it at last.
public void setBackgroundOpaque(boolean opaque)
Platform implementations may need an alpha component in the surface (eg. Windows),
or expect pre-multiplied alpha values (eg. X11/XRender).
To unify the experience, this method also invokes setAlphaBits(1)
if getAlphaBits()
== 0.
Please note that in case alpha is required on the platform the
clear color shall have an alpha lower than 1.0 to allow anything shining through.
Mind that translucency may cause a performance penalty due to the composite work required by the window manager.
public final boolean isBackgroundOpaque()
CapabilitiesImmutable
Default is true, i.e. opaque.
isBackgroundOpaque
in interface CapabilitiesImmutable
public void setOnscreen(boolean onscreen)
Defaults to true.
If requesting an offscreen surface without further selection of it's mode,
e.g. FBO, Pbuffer or bitmap
,
the implementation will choose the best available offscreen mode.
onscreen
- public final boolean isOnscreen()
CapabilitiesImmutable
Default is true, i.e. onscreen.
Mind that an capabilities intance w/ available semantics
may show onscreen, but also the offscreen modes FBO, Pbuffer or bitmap
.
This is valid, since one native configuration maybe used for either functionality.
isOnscreen
in interface CapabilitiesImmutable
public void setBitmap(boolean enable)
If enabled this method also invokes setOnscreen(false)
.
Defaults to false.
Requesting offscreen bitmap mode disables the offscreen auto selection.
public boolean isBitmap()
CapabilitiesImmutable
Default is false.
For chosen capabilities, only the selected offscreen surface is set to true
.
isBitmap
in interface CapabilitiesImmutable
public final int getTransparentRedValue()
CapabilitiesImmutable
getTransparentRedValue
in interface CapabilitiesImmutable
public final int getTransparentGreenValue()
CapabilitiesImmutable
getTransparentGreenValue
in interface CapabilitiesImmutable
public final int getTransparentBlueValue()
CapabilitiesImmutable
getTransparentBlueValue
in interface CapabilitiesImmutable
public final int getTransparentAlphaValue()
CapabilitiesImmutable
getTransparentAlphaValue
in interface CapabilitiesImmutable
public void setTransparentRedValue(int transValueRed)
isBackgroundOpaque()
equals true.
public void setTransparentGreenValue(int transValueGreen)
isBackgroundOpaque()
equals true.
public void setTransparentBlueValue(int transValueBlue)
isBackgroundOpaque()
equals true.
public void setTransparentAlphaValue(int transValueAlpha)
isBackgroundOpaque()
equals true.
public StringBuilder toString(StringBuilder sink)
CapabilitiesImmutable
toString
in interface CapabilitiesImmutable
public String toString()
toString
in interface CapabilitiesImmutable
toString
in class Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |