open class IsdkSystemNativeApi
IsdkSystemNativeApi
()
|
Signature
constructor() Returns IsdkSystemNativeApi |
targetedRegionCallback
: Function2?
[Get][Set] |
Callback to be invoked when native code calls onTargetedRegion. Set by IsdkSystem to dispatch to registered listeners.
Signature
var targetedRegionCallback: (Long, Long) -> Unit? |
destroy
()
|
Signature
open fun destroy() |
enableDebugTools
(
enable
)
|
Signature
open fun enableDebugTools(enable: Boolean) Parameters enable: Boolean |
enableGaze
(
enable
)
|
Signature
open fun enableGaze(enable: Boolean) Parameters enable: Boolean |
enableHmdGazeFallback
(
enable
)
|
Signature
open fun enableHmdGazeFallback(enable: Boolean) Parameters enable: Boolean |
enableTransformers
(
enable
)
|
Signature
open fun enableTransformers(enable: Boolean) Parameters enable: Boolean |
getEventDecoratorId
(
decoratorName
)
|
Signature
open fun getEventDecoratorId(decoratorName: String): Long Parameters decoratorName: StringReturns Long |
getEventDecoratorValueLong
(
pointerEventId
, decoratorId
)
|
Signature
open fun getEventDecoratorValueLong(pointerEventId: Int, decoratorId: Long): Long? Parameters pointerEventId: IntdecoratorId: LongReturns Long? |
init
(
sceneHandle
)
|
Signature
open fun init(sceneHandle: Long) Parameters sceneHandle: Long |
nativeClearUIRegions
(
interactableInstanceId
)
|
Signature
external fun nativeClearUIRegions(interactableInstanceId: Long) Parameters interactableInstanceId: Long |
nativeGetInteractableInstanceId
(
entityId
)
|
Signature
external fun nativeGetInteractableInstanceId(entityId: Long): Long Parameters entityId: LongReturns Long |
nativeUpdateUIRegionsPacked
(
panelEntityId
, regionCount
, packedFloats
, regionIds
, flags
)
|
Updates UI regions using packed primitive arrays for optimal JNI performance.
Signature
external fun nativeUpdateUIRegionsPacked(panelEntityId: Long, regionCount: Int, packedFloats: FloatArray, regionIds: LongArray, flags: IntArray) Parameters panelEntityId: Long
The entity ID of the panel
regionCount: Int
Number of regions in the arrays
packedFloats: FloatArray
Packed floats: 9 per region posX, posY, posZ, rotX, rotY, rotZ, rotW, width, height
regionIds: LongArray
Region IDs (1-indexed)
flags: IntArray
Bit-packed flags: bit 0 = clickable, bit 1 = focusable, bit 2 = scrollable
|
onTargetedRegion
(
interactableInstanceId
, regionId
)
|
Called from native code when gaze targeting selects a specific UI region. Delegates to the registered callback if one is set.
Signature
open fun onTargetedRegion(interactableInstanceId: Long, regionId: Long) Parameters interactableInstanceId: Long
The C++ instance ID of the targeted interactable (panel)
regionId: Long
The ID of the targeted region within that interactable (1-indexed)
|
setPanelCollisionPriority
(
entityId
, priority
)
|
Sets the collision priority for a panel identified by entity ID.
Higher priority values will win collision resolution when panels overlap at the same depth. This is used to implement layer zIndex behavior where panels with higher zIndex should receive pointer events even when they are at the same depth as other panels.
Signature
open fun setPanelCollisionPriority(entityId: Long, priority: Float) Parameters entityId: Long
The entity ID of the panel
priority: Float
The collision priority (typically the layer's zIndex value)
|
setScenePointerDistance
(
distance
)
|
Signature
open fun setScenePointerDistance(distance: Float) Parameters distance: Float |
tick
(
dataModel
, deltaSeconds
, currentTimeSeconds
)
|
Signature
open fun tick(dataModel: Long, deltaSeconds: Double, currentTimeSeconds: Double): Array<PointerEvent>? Parameters dataModel: LongdeltaSeconds: DoublecurrentTimeSeconds: DoubleReturns Array? |