Class Display
- java.lang.Object
-
- com.jogamp.newt.Display
-
public abstract class Display extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceDisplay.PointerIconNative PointerIcon handle.
-
Field Summary
Fields Modifier and Type Field Description static booleanDEBUG
-
Constructor Summary
Constructors Constructor Description Display()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract intaddReference()The 1st call will initiate native creation, since we follow the lazy creation pattern.abstract voidcreateNative()Manual trigger the native creation, if it is not done yet.
This is useful to be able to request theAbstractGraphicsDevice, viagetGraphicsDevice().
Otherwise the abstract device won't be available before the dependent components (Screen and Window) are realized.abstract Display.PointerIconcreatePointerIcon(IOUtil.ClassResources pngResource, int hotX, int hotY)Returns the newly createdDisplay.PointerIconornullif not implemented on platform.abstract Display.PointerIconcreatePointerIcon(PixelRectangle pixelrect, int hotX, int hotY)Returns the newly createdDisplay.PointerIconornullif not implemented on platform.abstract voiddestroy()Manually trigger the destruction, incl.abstract voiddispatchMessages()static voiddumpDisplayList(String prefix)booleanequals(Object obj)return true if obj is of type Display and both FQNgetFQName()equalsstatic intgetActiveDisplayNumber()static Collection<Display>getAllDisplays()Returns the global display collectionabstract EDTUtilgetEDTUtil()static DisplaygetFirstDisplayOf(String type, String name, int fromIndex, boolean shared)abstract StringgetFQName()abstract AbstractGraphicsDevicegetGraphicsDevice()Return theAbstractGraphicsDeviceused for depending resources lifecycle, i.e.abstract longgetHandle()Return the handle of theAbstractGraphicsDeviceas returned bygetGraphicsDevice().abstract intgetId()static DisplaygetLastDisplayOf(String type, String name, int fromIndex, boolean shared)abstract StringgetName()abstract booleangetNativePointerIconForceDirectNIO()Returns the native platform's direct NIO buffer requirement pointer-icon pixel data.abstract PixelFormatgetNativePointerIconPixelFormat()Returns the native platform'sPixelFormatfor pointer-icon pixel data.abstract intgetReferenceCount()static StringgetThreadName()abstract StringgetType()abstract inthashCode()return precomputed hashCode from FQNgetFQName()static inthashCodeNullSafe(Object o)abstract booleanisEDTRunning()abstract booleanisExclusive()Return true if this instance is exclusive, i.e.abstract booleanisNativeValid()abstract intremoveReference()The last call may destroy this instance, if#getDestroyWhenUnused()returnstrue.abstract EDTUtilsetEDTUtil(EDTUtil usrEDTUtil)Sets a newEDTUtiland returns the previous one.static StringtoHexString(int hex)static StringtoHexString(long hex)abstract booleanvalidateEDTStopped()Validate EDT running state.
Stop the running EDT in case this display is destroyed already.
-
-
-
Method Detail
-
hashCode
public abstract int hashCode()
return precomputed hashCode from FQNgetFQName()
-
equals
public boolean equals(Object obj)
return true if obj is of type Display and both FQNgetFQName()equals
-
getNativePointerIconPixelFormat
public abstract PixelFormat getNativePointerIconPixelFormat()
Returns the native platform'sPixelFormatfor pointer-icon pixel data.Using this value will avoid conversion within
createPointerIcon(PixelRectangle, int, int).Known native pixel formats are:
- X11:
PixelFormat.BGRA8888 - Windows:
PixelFormat.BGRA8888 - OSX:
PixelFormat.RGBA8888
- X11:
-
getNativePointerIconForceDirectNIO
public abstract boolean getNativePointerIconForceDirectNIO()
Returns the native platform's direct NIO buffer requirement pointer-icon pixel data.Using this value will avoid conversion within
createPointerIcon(PixelRectangle, int, int).
-
createPointerIcon
public abstract Display.PointerIcon createPointerIcon(IOUtil.ClassResources pngResource, int hotX, int hotY) throws IllegalArgumentException, IllegalStateException, IOException
Returns the newly createdDisplay.PointerIconornullif not implemented on platform.See
Display.PointerIconfor lifecycle semantics.- Parameters:
pngResource- single PNG resource for theDisplay.PointerIcon. Only the first entry ofIOUtil.ClassResources.resourcePathsis used.hotX- pointer hotspot x-coord, origin is upper-left cornerhotY- pointer hotspot y-coord, origin is upper-left corner- Throws:
IllegalArgumentException- if pngResource is null or invalidIllegalStateException- if this Display instance is notvalid yet.IOException- if thepngResourcecould not beresolvedor via the PNG parser processing the input stream.- See Also:
Display.PointerIcon,Window.setPointerIcon(PointerIcon)
-
createPointerIcon
public abstract Display.PointerIcon createPointerIcon(PixelRectangle pixelrect, int hotX, int hotY) throws IllegalArgumentException, IllegalStateException
Returns the newly createdDisplay.PointerIconornullif not implemented on platform.See
Display.PointerIconfor lifecycle semantics.In case
getNativePointerIconPixelFormat()orgetNativePointerIconForceDirectNIO()is not matched by the givenpixelrect, thepixelrectis converted into the requiredPixelFormatand NIO type.- Parameters:
pixelrect-PixelRectanglesource for theDisplay.PointerIconhotX- pointer hotspot x-coord, origin is upper-left cornerhotY- pointer hotspot y-coord, origin is upper-left corner- Throws:
IllegalArgumentException- if pixelrect is null.IllegalStateException- if this Display instance is notvalid yet.- See Also:
Display.PointerIcon,Window.setPointerIcon(PointerIcon),getNativePointerIconPixelFormat(),getNativePointerIconForceDirectNIO()
-
createNative
public abstract void createNative() throws NativeWindowExceptionManual trigger the native creation, if it is not done yet.
This is useful to be able to request theAbstractGraphicsDevice, viagetGraphicsDevice().
Otherwise the abstract device won't be available before the dependent components (Screen and Window) are realized.This method is usually invoke by
addReference()- Throws:
NativeWindowException- if the native creation failed.
-
destroy
public abstract void destroy()
Manually trigger the destruction, incl. native destruction.
This method is usually invoke by
removeReference()
-
validateEDTStopped
public abstract boolean validateEDTStopped()
Validate EDT running state.
Stop the running EDT in case this display is destroyed already.- Returns:
- true if EDT has been stopped (destroyed but running), otherwise false.
-
isNativeValid
public abstract boolean isNativeValid()
- Returns:
- true if the native display handle is valid and ready to operate, otherwise false.
- See Also:
destroy()
-
getReferenceCount
public abstract int getReferenceCount()
- Returns:
- number of references
-
addReference
public abstract int addReference() throws NativeWindowExceptionThe 1st call will initiate native creation, since we follow the lazy creation pattern.- Returns:
- number of references post operation
- Throws:
NativeWindowException- if the native creation failed.- See Also:
removeReference()
-
removeReference
public abstract int removeReference()
The last call may destroy this instance, if#getDestroyWhenUnused()returnstrue.- Returns:
- number of references post operation
- See Also:
addReference(),#getDestroyWhenUnused(),#setDestroyWhenUnused(boolean)
-
getGraphicsDevice
public abstract AbstractGraphicsDevice getGraphicsDevice()
Return theAbstractGraphicsDeviceused for depending resources lifecycle, i.e.ScreenandWindow, as well as the event dispatching (EDT).
-
getHandle
public abstract long getHandle()
Return the handle of theAbstractGraphicsDeviceas returned bygetGraphicsDevice().
-
getFQName
public abstract String getFQName()
-
getId
public abstract int getId()
- Returns:
- this display internal serial id
-
getName
public abstract String getName()
- Returns:
- This display connection name as defined at creation time.
The display connection name is a technical platform specific detail, see
AbstractGraphicsDevice.getConnection(). - See Also:
AbstractGraphicsDevice.getConnection()
-
getType
public abstract String getType()
- Returns:
- the native display type, ie
NativeWindowFactory.getNativeWindowType(boolean)
-
isExclusive
public abstract boolean isExclusive()
Return true if this instance is exclusive, i.e. will not be shared.
-
setEDTUtil
public abstract EDTUtil setEDTUtil(EDTUtil usrEDTUtil)
Sets a newEDTUtiland returns the previous one.If
usrEDTUtilisnull, the device's default EDTUtil is created and used.If a previous one exists and it differs from
usrEDTUtil, it's being stopped, wait-until-idle.If
usrEDTUtilis not null and equals the previous one, no change is being made.
-
getEDTUtil
public abstract EDTUtil getEDTUtil()
-
isEDTRunning
public abstract boolean isEDTRunning()
- Returns:
- true if EDT is running and not subject to be stopped, otherwise false.
-
dispatchMessages
public abstract void dispatchMessages()
-
dumpDisplayList
public static void dumpDisplayList(String prefix)
-
getFirstDisplayOf
public static Display getFirstDisplayOf(String type, String name, int fromIndex, boolean shared)
- Parameters:
type-name-fromIndex- start index, then increasing until found or end of list- Returns:
-
getLastDisplayOf
public static Display getLastDisplayOf(String type, String name, int fromIndex, boolean shared)
- Parameters:
type-name-fromIndex- start index, then decreasing until found or end of list. -1 is interpreted as size - 1.shared- if true, only shared instances are found, otherwise also exclusive- Returns:
-
getAllDisplays
public static Collection<Display> getAllDisplays()
Returns the global display collection
-
getActiveDisplayNumber
public static int getActiveDisplayNumber()
-
getThreadName
public static String getThreadName()
-
toHexString
public static String toHexString(int hex)
-
toHexString
public static String toHexString(long hex)
-
hashCodeNullSafe
public static int hashCodeNullSafe(Object o)
-
-