Top Fields Constructors Methods
jogamp.newt.driver.bcm.vc.iv

public Class WindowDriver

extends WindowImpl
Class Inheritance
Imports
com.jogamp.nativewindow.AbstractGraphicsConfiguration, .AbstractGraphicsScreen, .Capabilities, .DefaultGraphicsScreen, .GraphicsConfigurationFactory, .NativeWindowException, .VisualIDHolder, com.jogamp.nativewindow.util.Point, .Rectangle, .RectangleImmutable, com.jogamp.common.util.Bitfield, com.jogamp.nativewindow.egl.EGLGraphicsDevice, com.jogamp.newt.event.MouseEvent, jogamp.newt.PointerIconImpl, .WindowImpl, jogamp.newt.driver.KeyTracker, .MouseTracker, jogamp.newt.driver.linux.LinuxEventDeviceTracker, .LinuxMouseTracker, jogamp.newt.driver.x11.X11UnderlayTracker, jogamp.opengl.egl.EGLDisplayUtil

Field Summary

Modifier and TypeField and Description
private KeyTracker
private int
private static int
private static final Object
private LinuxEventDeviceTracker
private LinuxMouseTracker
private static final int
private MouseTracker
private long
private static int
private static final Bitfield
private static final String
private long
private X11UnderlayTracker
Inherited from jogamp.newt.WindowImpl:
capabilitiesChoosercapsRequestedCHANGE_MASK_ALWAYSONBOTTOMCHANGE_MASK_ALWAYSONTOPCHANGE_MASK_DECORATIONCHANGE_MASK_FULLSCREENCHANGE_MASK_MAXIMIZED_HORZCHANGE_MASK_MAXIMIZED_VERTCHANGE_MASK_PARENTINGCHANGE_MASK_RESIZABLECHANGE_MASK_STICKYCHANGE_MASK_VISIBILITYCHANGE_MASK_VISIBILITY_FASTDEBUG_TEST_REPARENT_INCOMPATIBLEhasPixelScalekeyboardVisiblemaxPixelScaleminimumReconfigStateMaskminPixelScaleQUIRK_BIT_VISIBILITYquirksreqPixelScaleSTATE_BIT_COUNT_ALL_PUBLICSTATE_BIT_COUNT_ALL_RECONFIGSTATE_BIT_FULLSCREEN_SPANSTATE_MASK_ALL_PUBLICSTATE_MASK_ALL_PUBLIC_SUPPORTEDSTATE_MASK_ALL_RECONFIGSTATE_MASK_CREATENATIVEsupportedReconfigStateMaskwindowList

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected boolean
private RectangleImmutable

Returns:

If position or size has been clamped a new RectangleImmutable instance w/ clamped values will be returned, otherwise the given rect is returned.
clampRect
(final ScreenDriver screen, final RectangleImmutable
the RectangleImmutable in pixel units
rect
,
final boolean
if true issue definePosition(int, int) and defineSize(int, int) if either has changed.
definePosSize
)

Clamp given rectangle to given screen bounds.

protected void
private native void
CloseWindow0(long bcmDisplay, long eglWindowHandle)

protected void
createNativeImpl()

Implements abstract jogamp.newt.WindowImpl.createNativeImpl.

The native implementation must set the native windowHandle.
private native long
CreateWindow0(long bcmDisplay, int layer, int x, int y, int width, int height, boolean opaque, int alphaBits)

protected final void
doMouseEvent(final boolean
if true, event will be enqueued, otherwise consumed directly.
enqueue
,
final boolean
if true wait until consumed.
wait
,
final short eventType, final int modifiers, final int x, final int y, final short button, final float[] rotationXYZ, final float rotationScale)

Overrides jogamp.newt.WindowImpl.doMouseEvent.

Send mouse event (one-pointer) either to be directly consumed or to be enqueued
protected Point
getLocationOnScreenImpl(final int x, final int y)

Implements abstract jogamp.newt.WindowImpl.getLocationOnScreenImpl.

Translates the given window client-area coordinates with top-left origin to screen coordinates in window units.
protected final int
getSupportedReconfigMaskImpl()

Implements abstract jogamp.newt.WindowImpl.getSupportedReconfigMaskImpl.

Returns the reconfigure state-mask supported by the implementation.
protected static native boolean
private native void
reconfigure0(long eglWindowHandle, int x, int y, int width, int height, int flags)

protected boolean
reconfigureWindowImpl(final int
client-area position in window units, or <0 if unchanged
x
,
final int
client-area position in window units, or <0 if unchanged
y
,
final int
client-area size in window units, or <=0 if unchanged
width
,
final int
client-area size in window units, or <=0 if unchanged
height
,
final int
bitfield of change and status flags
flags
)

Implements abstract jogamp.newt.WindowImpl.reconfigureWindowImpl.

The native implementation should invoke the referenced java state callbacks to notify this Java object of state changes.
protected void
requestFocusImpl(final boolean
if true, bypass focusChanged(boolean, boolean) and force focus request
reparented
)

Implements abstract jogamp.newt.WindowImpl.requestFocusImpl.

Async request which shall be performed within TIMEOUT_NATIVEWINDOW.
protected void
protected boolean
Inherited from jogamp.newt.WindowImpl:
addChildaddGestureHandleraddGestureHandleraddGestureListeneraddGestureListeneraddKeyListeneraddKeyListeneraddMouseListeneraddMouseListeneraddSurfaceUpdatedListeneraddSurfaceUpdatedListeneraddWindowListeneraddWindowListenerappendStateBitsareDefaultGesturesEnabledautoPositionconfinePointerconfinePointerImplconsumeEventconsumeKeyEventconsumePointerEventconsumeWindowEventconvertToPixelUnitsconvertToPixelUnitsconvertToWindowUnitsconvertToWindowUnitscreatecreatedefinePositiondefineSizedestroydestroydoMouseEventdoPointerEventdoPointerEventenqueueEventenqueueKeyEventenqueueMouseEventenqueueWindowEventfocusChangedfocusVisibleChangedgetBoundsgetChosenCapabilitiesgetCurrentSurfaceScalegetDefaultCloseOperationgetDelegatedWindowgetDisplayHandlegetGraphicsConfigurationgetHeightgetInsetsgetKeyListenergetKeyListenersgetLifecycleHookgetLocationOnScreengetLockgetMainMonitorgetMaximumSurfaceScalegetMinimumSurfaceScalegetMouseListenergetMouseListenersgetNativeSurfacegetParentgetParentWindowHandlegetPixelScaleXgetPixelScaleYgetPixelsPerMMgetPointerIcongetReconfigStateMaskStringgetReconfigureMaskgetRequestedCapabilitiesgetRequestedSurfaceScalegetScreengetScreenIndexgetStateMaskgetStateMaskStringgetStatePublicBitCountgetStatePublicBitmaskgetSupportedStateMaskgetSupportedStateMaskStringgetSurfaceHandlegetSurfaceHeightgetSurfaceLockOwnergetSurfaceWidthgetThreadNamegetTitlegetWidthgetWindowHandlegetWindowListenergetWindowListenersgetWrappedSurfacegetXgetYhasDeviceChangedhasFocusinsetsChangedinsetsVisibleChangedinstantiationFinishedImplisAlwaysOnBottomisAlwaysOnTopisChildWindowisFullscreenisKeyboardVisibleisKeyCodeTrackedisKeyPressedisMaximizedHorzisMaximizedVertisNativeValidisOffscreenInstanceisPointerConfinedisPointerVisibleisReconfigureMaskSupportedisResizableisStickyisSurfaceLockedByOtherThreadisUndecoratedisVisiblekeyboardVisibilityChangedlockSurfacelockSurfaceImplmaximizedChangedmonitorModeChangedpixelScaleChangeNotifypositionChangedreconfigMaximizedManualremoveChildremoveGestureHandlerremoveGestureListenerremoveKeyListenerremoveMouseListenerremoveSurfaceUpdatedListenerremoveWindowListenerreparentWindowrequestFocusrequestFocusresetMaximizedManualrunOnEDTIfAvailsendKeyEventsendMouseEventsendMouseEventRequestFocussendWindowEventsetAlwaysOnBottomsetAlwaysOnTopsetBrokenFocusChangesetCapabilitiesChoosersetDefaultCloseOperationsetDefaultGesturesEnabledsetFocusActionsetFullscreensetFullscreensetGraphicsConfigurationsetKeyboardFocusHandlersetKeyboardVisiblesetKeyboardVisibleImplsetKeyPressedsetLifecycleHooksetMaximizedsetPointerIconsetPointerVisiblesetPositionsetResizablesetScreensetSizesetStickysetSurfaceScalesetSurfaceSizesetTitlesetTitleImplsetTopLevelPositionsetTopLevelSizesetUndecoratedsetVisiblesetVisiblesetVisibleImplsetWindowDestroyNotifyActionsetWindowHandleshutdownAllsizeChangedsizePosInsetsFocusVisibleChangedsizePosMaxInsetsVisibleChangedsurfaceSwapsurfaceUpdatedtoHexStringtoHexStringtoStringunlockSurfaceunlockSurfaceImplvisibleChangedvisibleChangedSendMouseEventvisibleChangedWindowRepaintwarpPointerwarpPointerImplwindowDestroyNotifywindowRepaintwindowRepaint

Field Detail

keyTrackerback to summary
private KeyTracker keyTracker
layerback to summary
private int layer
layerCountback to summary
private static int layerCount
layerSyncback to summary
private static final Object layerSync
linuxEventDeviceTrackerback to summary
private LinuxEventDeviceTracker linuxEventDeviceTracker
linuxMouseTrackerback to summary
private LinuxMouseTracker linuxMouseTracker
MAX_LAYERSback to summary
private static final int MAX_LAYERS
mouseTrackerback to summary
private MouseTracker mouseTracker
nativeWindowHandleback to summary
private long nativeWindowHandle
nextLayerback to summary
private static int nextLayer
usedLayersback to summary
private static final Bitfield usedLayers
WINDOW_CLASS_NAMEback to summary
private static final String WINDOW_CLASS_NAME
windowHandleCloseback to summary
private long windowHandleClose
x11UnderlayTrackerback to summary
private X11UnderlayTracker x11UnderlayTracker

Constructor Detail

WindowDriverback to summary
public WindowDriver()

Method Detail

canCreateNativeImplback to summary
protected boolean canCreateNativeImpl()

Overrides jogamp.newt.WindowImpl.canCreateNativeImpl.

Annotations
@Override
clampRectback to summary
private RectangleImmutable clampRect(final ScreenDriver screen, final RectangleImmutable rect, final boolean definePosSize)

Clamp given rectangle to given screen bounds.

Parameters
rect:RectangleImmutable

the RectangleImmutable in pixel units

definePosSize:boolean

if true issue definePosition(int, int) and defineSize(int, int) if either has changed.

Returns:RectangleImmutable

If position or size has been clamped a new RectangleImmutable instance w/ clamped values will be returned, otherwise the given rect is returned.

closeNativeImplback to summary
protected void closeNativeImpl()

Implements abstract jogamp.newt.WindowImpl.closeNativeImpl.

Annotations
@Override
CloseWindow0back to summary
private native void CloseWindow0(long bcmDisplay, long eglWindowHandle)
createNativeImplback to summary
protected void createNativeImpl()

Implements abstract jogamp.newt.WindowImpl.createNativeImpl.

Doc from jogamp.newt.WindowImpl.createNativeImpl.

The native implementation must set the native windowHandle.

The implementation shall respect the states isAlwaysOnTop()/FLAG_IS_ALWAYSONTOP and isUndecorated()/FLAG_IS_UNDECORATED, ie. the created window shall reflect those settings.

The implementation should invoke the referenced java state callbacks to notify this Java object of state changes.

Annotations
@Override
CreateWindow0back to summary
private native long CreateWindow0(long bcmDisplay, int layer, int x, int y, int width, int height, boolean opaque, int alphaBits)
doMouseEventback to summary
protected final void doMouseEvent(final boolean enqueue, final boolean wait, final short eventType, final int modifiers, final int x, final int y, final short button, final float[] rotationXYZ, final float rotationScale)

Overrides jogamp.newt.WindowImpl.doMouseEvent.

Doc from jogamp.newt.WindowImpl.doMouseEvent.

Send mouse event (one-pointer) either to be directly consumed or to be enqueued

Parameters
enqueue:boolean

if true, event will be enqueued, otherwise consumed directly.

wait:boolean

if true wait until consumed.

Annotations
@Override
getLocationOnScreenImplback to summary
protected Point getLocationOnScreenImpl(final int x, final int y)

Implements abstract jogamp.newt.WindowImpl.getLocationOnScreenImpl.

Doc from jogamp.newt.WindowImpl.getLocationOnScreenImpl.

Translates the given window client-area coordinates with top-left origin to screen coordinates in window units.

Since the position reflects the client area, it does not include the insets.

May return null, in which case the caller shall traverse through the NativeWindow tree as demonstrated in getLocationOnScreen(com.jogamp.nativewindow.util.Point).

Returns:Point

if not null, the screen location of the given coordinates

Annotations
@Override
getSupportedReconfigMaskImplback to summary
protected final int getSupportedReconfigMaskImpl()

Implements abstract jogamp.newt.WindowImpl.getSupportedReconfigMaskImpl.

Doc from jogamp.newt.WindowImpl.getSupportedReconfigMaskImpl.

Returns the reconfigure state-mask supported by the implementation.

Default value is STATE_MASK_VISIBLE | STATE_MASK_FOCUSED, i.e. the minimum requirement for all implementations.

Annotations
@Override
initIDsback to summary
protected static native boolean initIDs()
reconfigure0back to summary
private native void reconfigure0(long eglWindowHandle, int x, int y, int width, int height, int flags)
reconfigureWindowImplback to summary
protected boolean reconfigureWindowImpl(final int x, final int y, final int width, final int height, final int flags)

Implements abstract jogamp.newt.WindowImpl.reconfigureWindowImpl.

Doc from jogamp.newt.WindowImpl.reconfigureWindowImpl.

The native implementation should invoke the referenced java state callbacks to notify this Java object of state changes.

Implementations shall set x/y to 0, in case it's negative. This could happen due to insets and positioning a decorated window to 0/0, which would place the frame outside of the screen.

Parameters
x:int

client-area position in window units, or <0 if unchanged

y:int

client-area position in window units, or <0 if unchanged

width:int

client-area size in window units, or <=0 if unchanged

height:int

client-area size in window units, or <=0 if unchanged

flags:int

bitfield of change and status flags

Annotations
@Override
requestFocusImplback to summary
protected void requestFocusImpl(final boolean reparented)

Implements abstract jogamp.newt.WindowImpl.requestFocusImpl.

Doc from jogamp.newt.WindowImpl.requestFocusImpl.

Async request which shall be performed within TIMEOUT_NATIVEWINDOW.

If if force == false the native implementation may only request focus if not yet owner.

focusChanged(boolean, boolean) should be called to notify about the focus traversal.

Parameters
reparented:boolean

if true, bypass focusChanged(boolean, boolean) and force focus request

Annotations
@Override
setPointerIconImplback to summary
protected void setPointerIconImpl(final PointerIconImpl pi)

Overrides jogamp.newt.WindowImpl.setPointerIconImpl.

Annotations
@Override
setPointerVisibleImplback to summary
protected boolean setPointerVisibleImpl(final boolean pointerVisible)

Overrides jogamp.newt.WindowImpl.setPointerVisibleImpl.

Annotations
@Override