All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.openvr.VROverlay Maven / Gradle / Ivy

/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.openvr;

import org.jspecify.annotations.*;

import java.nio.*;

import org.lwjgl.*;

import org.lwjgl.system.*;

import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;

/** Overlay management methods. */
public class VROverlay {

    static { OpenVR.initialize(); }

    protected VROverlay() {
        throw new UnsupportedOperationException();
    }

    // --- [ VROverlay_FindOverlay ] ---

    /** Unsafe version of: {@link #VROverlay_FindOverlay FindOverlay} */
    public static int nVROverlay_FindOverlay(long pchOverlayKey, long pOverlayHandle) {
        long __functionAddress = OpenVR.VROverlay.FindOverlay;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callPPI(pchOverlayKey, pOverlayHandle, __functionAddress);
    }

    /** Finds an existing overlay with the specified key. */
    @NativeType("EVROverlayError")
    public static int VROverlay_FindOverlay(@NativeType("char const *") ByteBuffer pchOverlayKey, @NativeType("VROverlayHandle_t *") LongBuffer pOverlayHandle) {
        if (CHECKS) {
            checkNT1(pchOverlayKey);
            check(pOverlayHandle, 1);
        }
        return nVROverlay_FindOverlay(memAddress(pchOverlayKey), memAddress(pOverlayHandle));
    }

    /** Finds an existing overlay with the specified key. */
    @NativeType("EVROverlayError")
    public static int VROverlay_FindOverlay(@NativeType("char const *") CharSequence pchOverlayKey, @NativeType("VROverlayHandle_t *") LongBuffer pOverlayHandle) {
        if (CHECKS) {
            check(pOverlayHandle, 1);
        }
        MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
        try {
            stack.nASCII(pchOverlayKey, true);
            long pchOverlayKeyEncoded = stack.getPointerAddress();
            return nVROverlay_FindOverlay(pchOverlayKeyEncoded, memAddress(pOverlayHandle));
        } finally {
            stack.setPointer(stackPointer);
        }
    }

    // --- [ VROverlay_CreateOverlay ] ---

    /** Unsafe version of: {@link #VROverlay_CreateOverlay CreateOverlay} */
    public static int nVROverlay_CreateOverlay(long pchOverlayKey, long pchOverlayName, long pOverlayHandle) {
        long __functionAddress = OpenVR.VROverlay.CreateOverlay;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callPPPI(pchOverlayKey, pchOverlayName, pOverlayHandle, __functionAddress);
    }

    /** Creates a new named overlay. All overlays start hidden and with default settings. */
    @NativeType("EVROverlayError")
    public static int VROverlay_CreateOverlay(@NativeType("char const *") ByteBuffer pchOverlayKey, @NativeType("char const *") ByteBuffer pchOverlayName, @NativeType("VROverlayHandle_t *") LongBuffer pOverlayHandle) {
        if (CHECKS) {
            checkNT1(pchOverlayKey);
            checkNT1(pchOverlayName);
            check(pOverlayHandle, 1);
        }
        return nVROverlay_CreateOverlay(memAddress(pchOverlayKey), memAddress(pchOverlayName), memAddress(pOverlayHandle));
    }

    /** Creates a new named overlay. All overlays start hidden and with default settings. */
    @NativeType("EVROverlayError")
    public static int VROverlay_CreateOverlay(@NativeType("char const *") CharSequence pchOverlayKey, @NativeType("char const *") CharSequence pchOverlayName, @NativeType("VROverlayHandle_t *") LongBuffer pOverlayHandle) {
        if (CHECKS) {
            check(pOverlayHandle, 1);
        }
        MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
        try {
            stack.nASCII(pchOverlayKey, true);
            long pchOverlayKeyEncoded = stack.getPointerAddress();
            stack.nASCII(pchOverlayName, true);
            long pchOverlayNameEncoded = stack.getPointerAddress();
            return nVROverlay_CreateOverlay(pchOverlayKeyEncoded, pchOverlayNameEncoded, memAddress(pOverlayHandle));
        } finally {
            stack.setPointer(stackPointer);
        }
    }

    // --- [ VROverlay_DestroyOverlay ] ---

    /** Destroys the specified overlay. When an application calls {@link VR#VR_ShutdownInternal ShutdownInternal} all overlays created by that app are automatically destroyed. */
    @NativeType("EVROverlayError")
    public static int VROverlay_DestroyOverlay(@NativeType("VROverlayHandle_t") long ulOverlayHandle) {
        long __functionAddress = OpenVR.VROverlay.DestroyOverlay;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callJI(ulOverlayHandle, __functionAddress);
    }

    // --- [ VROverlay_GetOverlayKey ] ---

    /** Unsafe version of: {@link #VROverlay_GetOverlayKey GetOverlayKey} */
    public static int nVROverlay_GetOverlayKey(long ulOverlayHandle, long pchValue, int unBufferSize, long pError) {
        long __functionAddress = OpenVR.VROverlay.GetOverlayKey;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callJPPI(ulOverlayHandle, pchValue, unBufferSize, pError, __functionAddress);
    }

    /**
     * Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including the terminating null
     * character. {@link VR#k_unVROverlayMaxKeyLength} will be enough bytes to fit the string.
     */
    @NativeType("uint32_t")
    public static int VROverlay_GetOverlayKey(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("char *") @Nullable ByteBuffer pchValue, @NativeType("EVROverlayError *") IntBuffer pError) {
        if (CHECKS) {
            check(pError, 1);
        }
        return nVROverlay_GetOverlayKey(ulOverlayHandle, memAddressSafe(pchValue), remainingSafe(pchValue), memAddress(pError));
    }

    /**
     * Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including the terminating null
     * character. {@link VR#k_unVROverlayMaxKeyLength} will be enough bytes to fit the string.
     */
    @NativeType("uint32_t")
    public static String VROverlay_GetOverlayKey(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t") int unBufferSize, @NativeType("EVROverlayError *") IntBuffer pError) {
        if (CHECKS) {
            check(pError, 1);
        }
        MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
        try {
            ByteBuffer pchValue = stack.malloc(unBufferSize);
            int __result = nVROverlay_GetOverlayKey(ulOverlayHandle, memAddress(pchValue), unBufferSize, memAddress(pError));
            return memASCII(pchValue, __result - 1);
        } finally {
            stack.setPointer(stackPointer);
        }
    }

    // --- [ VROverlay_GetOverlayName ] ---

    /** Unsafe version of: {@link #VROverlay_GetOverlayName GetOverlayName} */
    public static int nVROverlay_GetOverlayName(long ulOverlayHandle, long pchValue, int unBufferSize, long pError) {
        long __functionAddress = OpenVR.VROverlay.GetOverlayName;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callJPPI(ulOverlayHandle, pchValue, unBufferSize, pError, __functionAddress);
    }

    /**
     * Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including the terminating null
     * character. {@link VR#k_unVROverlayMaxNameLength} will be enough bytes to fit the string.
     */
    @NativeType("uint32_t")
    public static int VROverlay_GetOverlayName(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("char *") @Nullable ByteBuffer pchValue, @NativeType("EVROverlayError *") IntBuffer pError) {
        if (CHECKS) {
            check(pError, 1);
        }
        return nVROverlay_GetOverlayName(ulOverlayHandle, memAddressSafe(pchValue), remainingSafe(pchValue), memAddress(pError));
    }

    /**
     * Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including the terminating null
     * character. {@link VR#k_unVROverlayMaxNameLength} will be enough bytes to fit the string.
     */
    @NativeType("uint32_t")
    public static String VROverlay_GetOverlayName(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t") int unBufferSize, @NativeType("EVROverlayError *") IntBuffer pError) {
        if (CHECKS) {
            check(pError, 1);
        }
        MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
        try {
            ByteBuffer pchValue = stack.malloc(unBufferSize);
            int __result = nVROverlay_GetOverlayName(ulOverlayHandle, memAddress(pchValue), unBufferSize, memAddress(pError));
            return memASCII(pchValue, __result - 1);
        } finally {
            stack.setPointer(stackPointer);
        }
    }

    // --- [ VROverlay_SetOverlayName ] ---

    /** Unsafe version of: {@link #VROverlay_SetOverlayName SetOverlayName} */
    public static int nVROverlay_SetOverlayName(long ulOverlayHandle, long pchName) {
        long __functionAddress = OpenVR.VROverlay.SetOverlayName;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callJPI(ulOverlayHandle, pchName, __functionAddress);
    }

    /** Sets the name to use for this overlay. */
    @NativeType("EVROverlayError")
    public static int VROverlay_SetOverlayName(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("char const *") ByteBuffer pchName) {
        if (CHECKS) {
            checkNT1(pchName);
        }
        return nVROverlay_SetOverlayName(ulOverlayHandle, memAddress(pchName));
    }

    /** Sets the name to use for this overlay. */
    @NativeType("EVROverlayError")
    public static int VROverlay_SetOverlayName(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("char const *") CharSequence pchName) {
        MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
        try {
            stack.nASCII(pchName, true);
            long pchNameEncoded = stack.getPointerAddress();
            return nVROverlay_SetOverlayName(ulOverlayHandle, pchNameEncoded);
        } finally {
            stack.setPointer(stackPointer);
        }
    }

    // --- [ VROverlay_GetOverlayImageData ] ---

    /** Unsafe version of: {@link #VROverlay_GetOverlayImageData GetOverlayImageData} */
    public static int nVROverlay_GetOverlayImageData(long ulOverlayHandle, long pvBuffer, int unBufferSize, long punWidth, long punHeight) {
        long __functionAddress = OpenVR.VROverlay.GetOverlayImageData;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callJPPPI(ulOverlayHandle, pvBuffer, unBufferSize, punWidth, punHeight, __functionAddress);
    }

    /**
     * Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough,
     * width and height will be set and {@link VR#EVROverlayError_VROverlayError_ArrayTooSmall} is returned.
     */
    @NativeType("EVROverlayError")
    public static int VROverlay_GetOverlayImageData(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("void *") ByteBuffer pvBuffer, @NativeType("uint32_t *") IntBuffer punWidth, @NativeType("uint32_t *") IntBuffer punHeight) {
        if (CHECKS) {
            check(punWidth, 1);
            check(punHeight, 1);
        }
        return nVROverlay_GetOverlayImageData(ulOverlayHandle, memAddress(pvBuffer), pvBuffer.remaining(), memAddress(punWidth), memAddress(punHeight));
    }

    // --- [ VROverlay_GetOverlayErrorNameFromEnum ] ---

    /** Unsafe version of: {@link #VROverlay_GetOverlayErrorNameFromEnum GetOverlayErrorNameFromEnum} */
    public static long nVROverlay_GetOverlayErrorNameFromEnum(int error) {
        long __functionAddress = OpenVR.VROverlay.GetOverlayErrorNameFromEnum;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callP(error, __functionAddress);
    }

    /**
     * Returns a string that corresponds with the specified overlay error. The string will be the name of the error enum value for all valid error codes.
     *
     * @param error one of:
{@link VR#EVROverlayError_VROverlayError_None}
{@link VR#EVROverlayError_VROverlayError_UnknownOverlay}
{@link VR#EVROverlayError_VROverlayError_InvalidHandle}
{@link VR#EVROverlayError_VROverlayError_PermissionDenied}
{@link VR#EVROverlayError_VROverlayError_OverlayLimitExceeded}
{@link VR#EVROverlayError_VROverlayError_WrongVisibilityType}
{@link VR#EVROverlayError_VROverlayError_KeyTooLong}
{@link VR#EVROverlayError_VROverlayError_NameTooLong}
{@link VR#EVROverlayError_VROverlayError_KeyInUse}
{@link VR#EVROverlayError_VROverlayError_WrongTransformType}
{@link VR#EVROverlayError_VROverlayError_InvalidTrackedDevice}
{@link VR#EVROverlayError_VROverlayError_InvalidParameter}
{@link VR#EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed}
{@link VR#EVROverlayError_VROverlayError_ArrayTooSmall}
{@link VR#EVROverlayError_VROverlayError_RequestFailed}
{@link VR#EVROverlayError_VROverlayError_InvalidTexture}
{@link VR#EVROverlayError_VROverlayError_UnableToLoadFile}
{@link VR#EVROverlayError_VROverlayError_KeyboardAlreadyInUse}
{@link VR#EVROverlayError_VROverlayError_NoNeighbor}
{@link VR#EVROverlayError_VROverlayError_TooManyMaskPrimitives}
{@link VR#EVROverlayError_VROverlayError_BadMaskPrimitive}
{@link VR#EVROverlayError_VROverlayError_TextureAlreadyLocked}
{@link VR#EVROverlayError_VROverlayError_TextureLockCapacityReached}
{@link VR#EVROverlayError_VROverlayError_TextureNotLocked}
{@link VR#EVROverlayError_VROverlayError_TimedOut}
*/ @NativeType("char const *") public static @Nullable String VROverlay_GetOverlayErrorNameFromEnum(@NativeType("EVROverlayError") int error) { long __result = nVROverlay_GetOverlayErrorNameFromEnum(error); return memASCIISafe(__result); } // --- [ VROverlay_SetOverlayRenderingPid ] --- /** * Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), by default this is the pid of the process that made * the overlay. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayRenderingPid(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t") int unPID) { long __functionAddress = OpenVR.VROverlay.SetOverlayRenderingPid; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, unPID, __functionAddress); } // --- [ VROverlay_GetOverlayRenderingPid ] --- /** Gets the pid that is allowed to render to this overlay. */ @NativeType("uint32_t") public static int VROverlay_GetOverlayRenderingPid(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlay.GetOverlayRenderingPid; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, __functionAddress); } // --- [ VROverlay_SetOverlayFlag ] --- /** * Specify flag setting for a given overlay. * * @param eOverlayFlag one of:
{@link VR#VROverlayFlags_NoDashboardTab}{@link VR#VROverlayFlags_SendVRDiscreteScrollEvents}
{@link VR#VROverlayFlags_SendVRTouchpadEvents}{@link VR#VROverlayFlags_ShowTouchPadScrollWheel}
{@link VR#VROverlayFlags_TransferOwnershipToInternalProcess}{@link VR#VROverlayFlags_SideBySide_Parallel}
{@link VR#VROverlayFlags_SideBySide_Crossed}{@link VR#VROverlayFlags_Panorama}
{@link VR#VROverlayFlags_StereoPanorama}{@link VR#VROverlayFlags_SortWithNonSceneOverlays}
{@link VR#VROverlayFlags_VisibleInDashboard}{@link VR#VROverlayFlags_MakeOverlaysInteractiveIfVisible}
{@link VR#VROverlayFlags_SendVRSmoothScrollEvents}{@link VR#VROverlayFlags_ProtectedContent}
{@link VR#VROverlayFlags_HideLaserIntersection}{@link VR#VROverlayFlags_WantsModalBehavior}
{@link VR#VROverlayFlags_IsPremultiplied}{@link VR#VROverlayFlags_IgnoreTextureAlpha}
{@link VR#VROverlayFlags_EnableControlBar}{@link VR#VROverlayFlags_EnableControlBarKeyboard}
{@link VR#VROverlayFlags_EnableControlBarClose}{@link VR#VROverlayFlags_Reserved}
{@link VR#VROverlayFlags_EnableClickStabilization}{@link VR#VROverlayFlags_MultiCursor}
*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayFlag(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VROverlayFlags") int eOverlayFlag, @NativeType("bool") boolean bEnabled) { long __functionAddress = OpenVR.VROverlay.SetOverlayFlag; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, eOverlayFlag, bEnabled, __functionAddress); } // --- [ VROverlay_GetOverlayFlag ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayFlag GetOverlayFlag} */ public static int nVROverlay_GetOverlayFlag(long ulOverlayHandle, int eOverlayFlag, long pbEnabled) { long __functionAddress = OpenVR.VROverlay.GetOverlayFlag; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, eOverlayFlag, pbEnabled, __functionAddress); } /** * Gets flag setting for a given overlay. * * @param eOverlayFlag one of:
{@link VR#VROverlayFlags_NoDashboardTab}{@link VR#VROverlayFlags_SendVRDiscreteScrollEvents}
{@link VR#VROverlayFlags_SendVRTouchpadEvents}{@link VR#VROverlayFlags_ShowTouchPadScrollWheel}
{@link VR#VROverlayFlags_TransferOwnershipToInternalProcess}{@link VR#VROverlayFlags_SideBySide_Parallel}
{@link VR#VROverlayFlags_SideBySide_Crossed}{@link VR#VROverlayFlags_Panorama}
{@link VR#VROverlayFlags_StereoPanorama}{@link VR#VROverlayFlags_SortWithNonSceneOverlays}
{@link VR#VROverlayFlags_VisibleInDashboard}{@link VR#VROverlayFlags_MakeOverlaysInteractiveIfVisible}
{@link VR#VROverlayFlags_SendVRSmoothScrollEvents}{@link VR#VROverlayFlags_ProtectedContent}
{@link VR#VROverlayFlags_HideLaserIntersection}{@link VR#VROverlayFlags_WantsModalBehavior}
{@link VR#VROverlayFlags_IsPremultiplied}{@link VR#VROverlayFlags_IgnoreTextureAlpha}
{@link VR#VROverlayFlags_EnableControlBar}{@link VR#VROverlayFlags_EnableControlBarKeyboard}
{@link VR#VROverlayFlags_EnableControlBarClose}{@link VR#VROverlayFlags_Reserved}
{@link VR#VROverlayFlags_EnableClickStabilization}{@link VR#VROverlayFlags_MultiCursor}
*/ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayFlag(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VROverlayFlags") int eOverlayFlag, @NativeType("bool *") ByteBuffer pbEnabled) { if (CHECKS) { check(pbEnabled, 1); } return nVROverlay_GetOverlayFlag(ulOverlayHandle, eOverlayFlag, memAddress(pbEnabled)); } // --- [ VROverlay_GetOverlayFlags ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayFlags GetOverlayFlags} */ public static int nVROverlay_GetOverlayFlags(long ulOverlayHandle, long pFlags) { long __functionAddress = OpenVR.VROverlay.GetOverlayFlags; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pFlags, __functionAddress); } /** Gets all the flags for a given overlay. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayFlags(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t *") IntBuffer pFlags) { if (CHECKS) { check(pFlags, 1); } return nVROverlay_GetOverlayFlags(ulOverlayHandle, memAddress(pFlags)); } // --- [ VROverlay_SetOverlayColor ] --- /** Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayColor(@NativeType("VROverlayHandle_t") long ulOverlayHandle, float fRed, float fGreen, float fBlue) { long __functionAddress = OpenVR.VROverlay.SetOverlayColor; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, fRed, fGreen, fBlue, __functionAddress); } // --- [ VROverlay_GetOverlayColor ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayColor GetOverlayColor} */ public static int nVROverlay_GetOverlayColor(long ulOverlayHandle, long pfRed, long pfGreen, long pfBlue) { long __functionAddress = OpenVR.VROverlay.GetOverlayColor; if (CHECKS) { check(__functionAddress); } return callJPPPI(ulOverlayHandle, pfRed, pfGreen, pfBlue, __functionAddress); } /** Gets the color tint of the overlay quad. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayColor(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("float *") FloatBuffer pfRed, @NativeType("float *") FloatBuffer pfGreen, @NativeType("float *") FloatBuffer pfBlue) { if (CHECKS) { check(pfRed, 1); check(pfGreen, 1); check(pfBlue, 1); } return nVROverlay_GetOverlayColor(ulOverlayHandle, memAddress(pfRed), memAddress(pfGreen), memAddress(pfBlue)); } // --- [ VROverlay_SetOverlayAlpha ] --- /** Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayAlpha(@NativeType("VROverlayHandle_t") long ulOverlayHandle, float fAlpha) { long __functionAddress = OpenVR.VROverlay.SetOverlayAlpha; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, fAlpha, __functionAddress); } // --- [ VROverlay_GetOverlayAlpha ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayAlpha GetOverlayAlpha} */ public static int nVROverlay_GetOverlayAlpha(long ulOverlayHandle, long pfAlpha) { long __functionAddress = OpenVR.VROverlay.GetOverlayAlpha; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pfAlpha, __functionAddress); } /** Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0). */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayAlpha(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("float *") FloatBuffer pfAlpha) { if (CHECKS) { check(pfAlpha, 1); } return nVROverlay_GetOverlayAlpha(ulOverlayHandle, memAddress(pfAlpha)); } // --- [ VROverlay_SetOverlayTexelAspect ] --- /** * Sets the aspect ratio of the texels in the overlay. 1.0 means the texels are square. 2.0 means the texels are twice as wide as they are tall. * *

Defaults to 1.0.

*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTexelAspect(@NativeType("VROverlayHandle_t") long ulOverlayHandle, float fTexelAspect) { long __functionAddress = OpenVR.VROverlay.SetOverlayTexelAspect; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, fTexelAspect, __functionAddress); } // --- [ VROverlay_GetOverlayTexelAspect ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTexelAspect GetOverlayTexelAspect} */ public static int nVROverlay_GetOverlayTexelAspect(long ulOverlayHandle, long pfTexelAspect) { long __functionAddress = OpenVR.VROverlay.GetOverlayTexelAspect; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pfTexelAspect, __functionAddress); } /** Gets the aspect ratio of the texels in the overlay. Defaults to 1.0. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTexelAspect(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("float *") FloatBuffer pfTexelAspect) { if (CHECKS) { check(pfTexelAspect, 1); } return nVROverlay_GetOverlayTexelAspect(ulOverlayHandle, memAddress(pfTexelAspect)); } // --- [ VROverlay_SetOverlaySortOrder ] --- /** * Sets the rendering sort order for the overlay. Overlays are rendered this order: * *
    *
  • Overlays owned by the scene application
  • *
  • Overlays owned by some other application
  • *
* *

Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same sort order are rendered back to front base on * distance from the HMD.

* *

Subview overlays are always drawn immediately on top of their parent overlay, and the sort order is only relative to their peer subviews for that * overlay.

* *

Sort order defaults to 0.

*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlaySortOrder(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t") int unSortOrder) { long __functionAddress = OpenVR.VROverlay.SetOverlaySortOrder; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, unSortOrder, __functionAddress); } // --- [ VROverlay_GetOverlaySortOrder ] --- /** Unsafe version of: {@link #VROverlay_GetOverlaySortOrder GetOverlaySortOrder} */ public static int nVROverlay_GetOverlaySortOrder(long ulOverlayHandle, long punSortOrder) { long __functionAddress = OpenVR.VROverlay.GetOverlaySortOrder; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, punSortOrder, __functionAddress); } /** Gets the sort order of the overlay. See {@link #VROverlay_SetOverlaySortOrder SetOverlaySortOrder} for how this works. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlaySortOrder(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t *") IntBuffer punSortOrder) { if (CHECKS) { check(punSortOrder, 1); } return nVROverlay_GetOverlaySortOrder(ulOverlayHandle, memAddress(punSortOrder)); } // --- [ VROverlay_SetOverlayWidthInMeters ] --- /** Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayWidthInMeters(@NativeType("VROverlayHandle_t") long ulOverlayHandle, float fWidthInMeters) { long __functionAddress = OpenVR.VROverlay.SetOverlayWidthInMeters; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, fWidthInMeters, __functionAddress); } // --- [ VROverlay_GetOverlayWidthInMeters ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayWidthInMeters GetOverlayWidthInMeters} */ public static int nVROverlay_GetOverlayWidthInMeters(long ulOverlayHandle, long pfWidthInMeters) { long __functionAddress = OpenVR.VROverlay.GetOverlayWidthInMeters; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pfWidthInMeters, __functionAddress); } /** Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayWidthInMeters(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("float *") FloatBuffer pfWidthInMeters) { if (CHECKS) { check(pfWidthInMeters, 1); } return nVROverlay_GetOverlayWidthInMeters(ulOverlayHandle, memAddress(pfWidthInMeters)); } // --- [ VROverlay_SetOverlayCurvature ] --- /** * Use to draw overlay as a curved surface. * *

Curvature is a percentage from {@code (0..1]} where 1 is a fully closed cylinder. For a specific radius, curvature can be computed as: * {@code overlay.width / (2 PI r)}.

*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayCurvature(@NativeType("VROverlayHandle_t") long ulOverlayHandle, float fCurvature) { long __functionAddress = OpenVR.VROverlay.SetOverlayCurvature; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, fCurvature, __functionAddress); } // --- [ VROverlay_GetOverlayCurvature ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayCurvature GetOverlayCurvature} */ public static int nVROverlay_GetOverlayCurvature(long ulOverlayHandle, long pfCurvature) { long __functionAddress = OpenVR.VROverlay.GetOverlayCurvature; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pfCurvature, __functionAddress); } /** Returns the curvature of the overlay as a percentage from {@code (0..1]} where 1 is a fully closed cylinder. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayCurvature(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("float *") FloatBuffer pfCurvature) { if (CHECKS) { check(pfCurvature, 1); } return nVROverlay_GetOverlayCurvature(ulOverlayHandle, memAddress(pfCurvature)); } // --- [ VROverlay_SetOverlayPreCurvePitch ] --- @NativeType("EVROverlayError") public static int VROverlay_SetOverlayPreCurvePitch(@NativeType("VROverlayHandle_t") long ulOverlayHandle, float fRadians) { long __functionAddress = OpenVR.VROverlay.SetOverlayPreCurvePitch; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, fRadians, __functionAddress); } // --- [ VROverlay_GetOverlayPreCurvePitch ] --- public static int nVROverlay_GetOverlayPreCurvePitch(long ulOverlayHandle, long pfRadians) { long __functionAddress = OpenVR.VROverlay.GetOverlayPreCurvePitch; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pfRadians, __functionAddress); } @NativeType("EVROverlayError") public static int VROverlay_GetOverlayPreCurvePitch(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("float *") FloatBuffer pfRadians) { if (CHECKS) { check(pfRadians, 1); } return nVROverlay_GetOverlayPreCurvePitch(ulOverlayHandle, memAddress(pfRadians)); } // --- [ VROverlay_SetOverlayTextureColorSpace ] --- /** * Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. If the texture needs to be resolved, you should call {@link #VROverlay_SetOverlayTexture SetOverlayTexture} * with the appropriate colorspace instead. * * @param eTextureColorSpace one of:
{@link VR#EColorSpace_ColorSpace_Auto}{@link VR#EColorSpace_ColorSpace_Gamma}
{@link VR#EColorSpace_ColorSpace_Linear}
*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTextureColorSpace(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("EColorSpace") int eTextureColorSpace) { long __functionAddress = OpenVR.VROverlay.SetOverlayTextureColorSpace; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, eTextureColorSpace, __functionAddress); } // --- [ VROverlay_GetOverlayTextureColorSpace ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTextureColorSpace GetOverlayTextureColorSpace} */ public static int nVROverlay_GetOverlayTextureColorSpace(long ulOverlayHandle, long peTextureColorSpace) { long __functionAddress = OpenVR.VROverlay.GetOverlayTextureColorSpace; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, peTextureColorSpace, __functionAddress); } /** Gets the overlay's current colorspace setting. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTextureColorSpace(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("EColorSpace *") IntBuffer peTextureColorSpace) { if (CHECKS) { check(peTextureColorSpace, 1); } return nVROverlay_GetOverlayTextureColorSpace(ulOverlayHandle, memAddress(peTextureColorSpace)); } // --- [ VROverlay_SetOverlayTextureBounds ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayTextureBounds SetOverlayTextureBounds} */ public static int nVROverlay_SetOverlayTextureBounds(long ulOverlayHandle, long pOverlayTextureBounds) { long __functionAddress = OpenVR.VROverlay.SetOverlayTextureBounds; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pOverlayTextureBounds, __functionAddress); } /** Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTextureBounds(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VRTextureBounds_t const *") VRTextureBounds pOverlayTextureBounds) { return nVROverlay_SetOverlayTextureBounds(ulOverlayHandle, pOverlayTextureBounds.address()); } // --- [ VROverlay_GetOverlayTextureBounds ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTextureBounds GetOverlayTextureBounds} */ public static int nVROverlay_GetOverlayTextureBounds(long ulOverlayHandle, long pOverlayTextureBounds) { long __functionAddress = OpenVR.VROverlay.GetOverlayTextureBounds; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pOverlayTextureBounds, __functionAddress); } /** Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTextureBounds(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VRTextureBounds_t *") VRTextureBounds pOverlayTextureBounds) { return nVROverlay_GetOverlayTextureBounds(ulOverlayHandle, pOverlayTextureBounds.address()); } // --- [ VROverlay_GetOverlayTransformType ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTransformType GetOverlayTransformType} */ public static int nVROverlay_GetOverlayTransformType(long ulOverlayHandle, long peTransformType) { long __functionAddress = OpenVR.VROverlay.GetOverlayTransformType; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, peTransformType, __functionAddress); } /** Returns the transform type of this overlay. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTransformType(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VROverlayTransformType *") IntBuffer peTransformType) { if (CHECKS) { check(peTransformType, 1); } return nVROverlay_GetOverlayTransformType(ulOverlayHandle, memAddress(peTransformType)); } // --- [ VROverlay_SetOverlayTransformAbsolute ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayTransformAbsolute SetOverlayTransformAbsolute} */ public static int nVROverlay_SetOverlayTransformAbsolute(long ulOverlayHandle, int eTrackingOrigin, long pmatTrackingOriginToOverlayTransform) { long __functionAddress = OpenVR.VROverlay.SetOverlayTransformAbsolute; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, eTrackingOrigin, pmatTrackingOriginToOverlayTransform, __functionAddress); } /** * Sets the transform to absolute tracking origin. * * @param eTrackingOrigin one of:
{@link VR#ETrackingUniverseOrigin_TrackingUniverseSeated}
{@link VR#ETrackingUniverseOrigin_TrackingUniverseStanding}
{@link VR#ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated}
*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTransformAbsolute(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("ETrackingUniverseOrigin") int eTrackingOrigin, @NativeType("HmdMatrix34_t const *") HmdMatrix34 pmatTrackingOriginToOverlayTransform) { return nVROverlay_SetOverlayTransformAbsolute(ulOverlayHandle, eTrackingOrigin, pmatTrackingOriginToOverlayTransform.address()); } // --- [ VROverlay_GetOverlayTransformAbsolute ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTransformAbsolute GetOverlayTransformAbsolute} */ public static int nVROverlay_GetOverlayTransformAbsolute(long ulOverlayHandle, long peTrackingOrigin, long pmatTrackingOriginToOverlayTransform) { long __functionAddress = OpenVR.VROverlay.GetOverlayTransformAbsolute; if (CHECKS) { check(__functionAddress); } return callJPPI(ulOverlayHandle, peTrackingOrigin, pmatTrackingOriginToOverlayTransform, __functionAddress); } /** Gets the transform if it is absolute. Returns an error if the transform is some other type. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTransformAbsolute(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("ETrackingUniverseOrigin *") IntBuffer peTrackingOrigin, @NativeType("HmdMatrix34_t *") HmdMatrix34 pmatTrackingOriginToOverlayTransform) { if (CHECKS) { check(peTrackingOrigin, 1); } return nVROverlay_GetOverlayTransformAbsolute(ulOverlayHandle, memAddress(peTrackingOrigin), pmatTrackingOriginToOverlayTransform.address()); } // --- [ VROverlay_SetOverlayTransformTrackedDeviceRelative ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayTransformTrackedDeviceRelative SetOverlayTransformTrackedDeviceRelative} */ public static int nVROverlay_SetOverlayTransformTrackedDeviceRelative(long ulOverlayHandle, int unTrackedDevice, long pmatTrackedDeviceToOverlayTransform) { long __functionAddress = OpenVR.VROverlay.SetOverlayTransformTrackedDeviceRelative; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, unTrackedDevice, pmatTrackedDeviceToOverlayTransform, __functionAddress); } /** Sets the transform to relative to the transform of the specified tracked device. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTransformTrackedDeviceRelative(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("TrackedDeviceIndex_t") int unTrackedDevice, @NativeType("HmdMatrix34_t const *") HmdMatrix34 pmatTrackedDeviceToOverlayTransform) { return nVROverlay_SetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, unTrackedDevice, pmatTrackedDeviceToOverlayTransform.address()); } // --- [ VROverlay_GetOverlayTransformTrackedDeviceRelative ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTransformTrackedDeviceRelative GetOverlayTransformTrackedDeviceRelative} */ public static int nVROverlay_GetOverlayTransformTrackedDeviceRelative(long ulOverlayHandle, long punTrackedDevice, long pmatTrackedDeviceToOverlayTransform) { long __functionAddress = OpenVR.VROverlay.GetOverlayTransformTrackedDeviceRelative; if (CHECKS) { check(__functionAddress); } return callJPPI(ulOverlayHandle, punTrackedDevice, pmatTrackedDeviceToOverlayTransform, __functionAddress); } /** Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTransformTrackedDeviceRelative(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("TrackedDeviceIndex_t *") IntBuffer punTrackedDevice, @NativeType("HmdMatrix34_t *") HmdMatrix34 pmatTrackedDeviceToOverlayTransform) { if (CHECKS) { check(punTrackedDevice, 1); } return nVROverlay_GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, memAddress(punTrackedDevice), pmatTrackedDeviceToOverlayTransform.address()); } // --- [ VROverlay_SetOverlayTransformTrackedDeviceComponent ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayTransformTrackedDeviceComponent SetOverlayTransformTrackedDeviceComponent} */ public static int nVROverlay_SetOverlayTransformTrackedDeviceComponent(long ulOverlayHandle, int unDeviceIndex, long pchComponentName) { long __functionAddress = OpenVR.VROverlay.SetOverlayTransformTrackedDeviceComponent; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, unDeviceIndex, pchComponentName, __functionAddress); } /** * Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is drawing the device. * Overlays with this transform type cannot receive mouse events. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTransformTrackedDeviceComponent(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("TrackedDeviceIndex_t") int unDeviceIndex, @NativeType("char const *") ByteBuffer pchComponentName) { if (CHECKS) { checkNT1(pchComponentName); } return nVROverlay_SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle, unDeviceIndex, memAddress(pchComponentName)); } /** * Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is drawing the device. * Overlays with this transform type cannot receive mouse events. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTransformTrackedDeviceComponent(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("TrackedDeviceIndex_t") int unDeviceIndex, @NativeType("char const *") CharSequence pchComponentName) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { stack.nASCII(pchComponentName, true); long pchComponentNameEncoded = stack.getPointerAddress(); return nVROverlay_SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle, unDeviceIndex, pchComponentNameEncoded); } finally { stack.setPointer(stackPointer); } } // --- [ VROverlay_GetOverlayTransformTrackedDeviceComponent ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTransformTrackedDeviceComponent GetOverlayTransformTrackedDeviceComponent} */ public static int nVROverlay_GetOverlayTransformTrackedDeviceComponent(long ulOverlayHandle, long punDeviceIndex, long pchComponentName, int unComponentNameSize) { long __functionAddress = OpenVR.VROverlay.GetOverlayTransformTrackedDeviceComponent; if (CHECKS) { check(__functionAddress); } return callJPPI(ulOverlayHandle, punDeviceIndex, pchComponentName, unComponentNameSize, __functionAddress); } /** Gets the transform information when the overlay is rendering on a component. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTransformTrackedDeviceComponent(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("TrackedDeviceIndex_t *") IntBuffer punDeviceIndex, @NativeType("char *") ByteBuffer pchComponentName) { if (CHECKS) { check(punDeviceIndex, 1); } return nVROverlay_GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle, memAddress(punDeviceIndex), memAddress(pchComponentName), pchComponentName.remaining()); } // --- [ VROverlay_SetOverlayTransformCursor ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayTransformCursor SetOverlayTransformCursor} */ public static int nVROverlay_SetOverlayTransformCursor(long ulCursorOverlayHandle, long pvHotspot) { long __functionAddress = OpenVR.VROverlay.SetOverlayTransformCursor; if (CHECKS) { check(__functionAddress); } return callJPI(ulCursorOverlayHandle, pvHotspot, __functionAddress); } /** * Sets the hotspot for the specified overlay when that overlay is used as a cursor. * *

These are in texture space with 0,0 in the upper left corner of the texture and 1,1 in the lower right corner of the texture.

*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTransformCursor(@NativeType("VROverlayHandle_t") long ulCursorOverlayHandle, @NativeType("HmdVector2_t const *") HmdVector2 pvHotspot) { return nVROverlay_SetOverlayTransformCursor(ulCursorOverlayHandle, pvHotspot.address()); } // --- [ VROverlay_GetOverlayTransformCursor ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTransformCursor GetOverlayTransformCursor} */ public static int nVROverlay_GetOverlayTransformCursor(long ulOverlayHandle, long pvHotspot) { long __functionAddress = OpenVR.VROverlay.GetOverlayTransformCursor; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pvHotspot, __functionAddress); } /** Gets cursor hotspot/transform for the specified overlay. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTransformCursor(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("HmdVector2_t *") HmdVector2 pvHotspot) { return nVROverlay_GetOverlayTransformCursor(ulOverlayHandle, pvHotspot.address()); } // --- [ VROverlay_SetOverlayTransformProjection ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayTransformProjection SetOverlayTransformProjection} */ public static int nVROverlay_SetOverlayTransformProjection(long ulOverlayHandle, int eTrackingOrigin, long pmatTrackingOriginToOverlayTransform, long pProjection, int eEye) { long __functionAddress = OpenVR.VROverlay.SetOverlayTransformProjection; if (CHECKS) { check(__functionAddress); } return callJPPI(ulOverlayHandle, eTrackingOrigin, pmatTrackingOriginToOverlayTransform, pProjection, eEye, __functionAddress); } /** Sets the overlay as a projection overlay. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTransformProjection(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("ETrackingUniverseOrigin") int eTrackingOrigin, @NativeType("HmdMatrix34_t *") HmdMatrix34 pmatTrackingOriginToOverlayTransform, @NativeType("VROverlayProjection_t *") VROverlayProjection pProjection, @NativeType("EVREye") int eEye) { return nVROverlay_SetOverlayTransformProjection(ulOverlayHandle, eTrackingOrigin, pmatTrackingOriginToOverlayTransform.address(), pProjection.address(), eEye); } // --- [ VROverlay_ShowOverlay ] --- /** Shows the VR overlay. Not applicable for Dashboard Overlays. */ @NativeType("EVROverlayError") public static int VROverlay_ShowOverlay(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlay.ShowOverlay; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, __functionAddress); } // --- [ VROverlay_HideOverlay ] --- /** Hides the VR overlay. Not applicable for Dashboard Overlays. */ @NativeType("EVROverlayError") public static int VROverlay_HideOverlay(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlay.HideOverlay; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, __functionAddress); } // --- [ VROverlay_IsOverlayVisible ] --- /** * Returns true if the overlay is currently visible, applicable for all overlay types except Dashboard Thumbnail overlays. * *

{@code VREvent_OverlayShown} and {@code VREvent_OverlayHidden} reflect changes to this value.

*/ @NativeType("bool") public static boolean VROverlay_IsOverlayVisible(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlay.IsOverlayVisible; if (CHECKS) { check(__functionAddress); } return callJZ(ulOverlayHandle, __functionAddress); } // --- [ VROverlay_GetTransformForOverlayCoordinates ] --- /** Unsafe version of: {@link #VROverlay_GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates} */ public static native int nVROverlay_GetTransformForOverlayCoordinates(long ulOverlayHandle, int eTrackingOrigin, long coordinatesInOverlay, long pmatTransform, long __functionAddress); /** Unsafe version of: {@link #VROverlay_GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates} */ public static int nVROverlay_GetTransformForOverlayCoordinates(long ulOverlayHandle, int eTrackingOrigin, long coordinatesInOverlay, long pmatTransform) { long __functionAddress = OpenVR.VROverlay.GetTransformForOverlayCoordinates; if (CHECKS) { check(__functionAddress); } return nVROverlay_GetTransformForOverlayCoordinates(ulOverlayHandle, eTrackingOrigin, coordinatesInOverlay, pmatTransform, __functionAddress); } /** * Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the * overlay. * * @param eTrackingOrigin one of:
{@link VR#ETrackingUniverseOrigin_TrackingUniverseSeated}
{@link VR#ETrackingUniverseOrigin_TrackingUniverseStanding}
{@link VR#ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated}
*/ @NativeType("EVROverlayError") public static int VROverlay_GetTransformForOverlayCoordinates(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("ETrackingUniverseOrigin") int eTrackingOrigin, @NativeType("HmdVector2_t") HmdVector2 coordinatesInOverlay, @NativeType("HmdMatrix34_t *") HmdMatrix34 pmatTransform) { return nVROverlay_GetTransformForOverlayCoordinates(ulOverlayHandle, eTrackingOrigin, coordinatesInOverlay.address(), pmatTransform.address()); } // --- [ VROverlay_WaitFrameSync ] --- @NativeType("EVROverlayError") public static int VROverlay_WaitFrameSync(@NativeType("uint32_t") int nTimeoutMs) { long __functionAddress = OpenVR.VROverlay.WaitFrameSync; if (CHECKS) { check(__functionAddress); } return callI(nTimeoutMs, __functionAddress); } // --- [ VROverlay_PollNextOverlayEvent ] --- /** Unsafe version of: {@link #VROverlay_PollNextOverlayEvent PollNextOverlayEvent} */ public static boolean nVROverlay_PollNextOverlayEvent(long ulOverlayHandle, long pEvent, int uncbVREvent) { long __functionAddress = OpenVR.VROverlay.PollNextOverlayEvent; if (CHECKS) { check(__functionAddress); } return callJPZ(ulOverlayHandle, pEvent, uncbVREvent, __functionAddress); } /** * Returns true and fills the event with the next event on the overlay's event queue, if there is one. * *

If there are no events this method returns false. {@code uncbVREvent} should be the size in bytes of the {@link VREvent} struct.

*/ @NativeType("bool") public static boolean VROverlay_PollNextOverlayEvent(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VREvent_t *") VREvent pEvent, @NativeType("uint32_t") int uncbVREvent) { return nVROverlay_PollNextOverlayEvent(ulOverlayHandle, pEvent.address(), uncbVREvent); } /** * Returns true and fills the event with the next event on the overlay's event queue, if there is one. * *

If there are no events this method returns false. {@code uncbVREvent} should be the size in bytes of the {@link VREvent} struct.

*/ @NativeType("bool") public static boolean VROverlay_PollNextOverlayEvent(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VREvent_t *") VREvent pEvent) { return nVROverlay_PollNextOverlayEvent(ulOverlayHandle, pEvent.address(), VREvent.SIZEOF); } // --- [ VROverlay_GetOverlayInputMethod ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayInputMethod GetOverlayInputMethod} */ public static int nVROverlay_GetOverlayInputMethod(long ulOverlayHandle, long peInputMethod) { long __functionAddress = OpenVR.VROverlay.GetOverlayInputMethod; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, peInputMethod, __functionAddress); } /** Returns the current input settings for the specified overlay. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayInputMethod(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VROverlayInputMethod *") IntBuffer peInputMethod) { if (CHECKS) { check(peInputMethod, 1); } return nVROverlay_GetOverlayInputMethod(ulOverlayHandle, memAddress(peInputMethod)); } // --- [ VROverlay_SetOverlayInputMethod ] --- /** * Sets the input settings for the specified overlay. * * @param eInputMethod one of:
{@link VR#VROverlayInputMethod_None}{@link VR#VROverlayInputMethod_Mouse}
*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayInputMethod(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VROverlayInputMethod") int eInputMethod) { long __functionAddress = OpenVR.VROverlay.SetOverlayInputMethod; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, eInputMethod, __functionAddress); } // --- [ VROverlay_GetOverlayMouseScale ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayMouseScale GetOverlayMouseScale} */ public static int nVROverlay_GetOverlayMouseScale(long ulOverlayHandle, long pvecMouseScale) { long __functionAddress = OpenVR.VROverlay.GetOverlayMouseScale; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pvecMouseScale, __functionAddress); } /** * Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is typically the size of the * underlying UI in pixels. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayMouseScale(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("HmdVector2_t *") HmdVector2 pvecMouseScale) { return nVROverlay_GetOverlayMouseScale(ulOverlayHandle, pvecMouseScale.address()); } // --- [ VROverlay_SetOverlayMouseScale ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayMouseScale SetOverlayMouseScale} */ public static int nVROverlay_SetOverlayMouseScale(long ulOverlayHandle, long pvecMouseScale) { long __functionAddress = OpenVR.VROverlay.SetOverlayMouseScale; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pvecMouseScale, __functionAddress); } /** * Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is typically the size of the * underlying UI in pixels (not in world space). */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayMouseScale(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("HmdVector2_t const *") HmdVector2 pvecMouseScale) { return nVROverlay_SetOverlayMouseScale(ulOverlayHandle, pvecMouseScale.address()); } // --- [ VROverlay_ComputeOverlayIntersection ] --- /** Unsafe version of: {@link #VROverlay_ComputeOverlayIntersection ComputeOverlayIntersection} */ public static boolean nVROverlay_ComputeOverlayIntersection(long ulOverlayHandle, long pParams, long pResults) { long __functionAddress = OpenVR.VROverlay.ComputeOverlayIntersection; if (CHECKS) { check(__functionAddress); } return callJPPZ(ulOverlayHandle, pParams, pResults, __functionAddress); } /** * Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the specified settings. Returns false if there is no * intersection. */ @NativeType("bool") public static boolean VROverlay_ComputeOverlayIntersection(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VROverlayIntersectionParams_t const *") VROverlayIntersectionParams pParams, @NativeType("VROverlayIntersectionResults_t *") VROverlayIntersectionResults pResults) { return nVROverlay_ComputeOverlayIntersection(ulOverlayHandle, pParams.address(), pResults.address()); } // --- [ VROverlay_IsHoverTargetOverlay ] --- /** * Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" by the virtual * mouse pointer. */ @NativeType("bool") public static boolean VROverlay_IsHoverTargetOverlay(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlay.IsHoverTargetOverlay; if (CHECKS) { check(__functionAddress); } return callJZ(ulOverlayHandle, __functionAddress); } // --- [ VROverlay_SetOverlayIntersectionMask ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayIntersectionMask SetOverlayIntersectionMask} */ public static int nVROverlay_SetOverlayIntersectionMask(long ulOverlayHandle, long pMaskPrimitives, int unNumMaskPrimitives, int unPrimitiveSize) { long __functionAddress = OpenVR.VROverlay.SetOverlayIntersectionMask; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pMaskPrimitives, unNumMaskPrimitives, unPrimitiveSize, __functionAddress); } /** Sets a list of primitives to be used for controller ray intersection typically the size of the underlying UI in pixels (not in world space). */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayIntersectionMask(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VROverlayIntersectionMaskPrimitive_t *") VROverlayIntersectionMaskPrimitive.Buffer pMaskPrimitives) { return nVROverlay_SetOverlayIntersectionMask(ulOverlayHandle, pMaskPrimitives.address(), pMaskPrimitives.remaining(), VROverlayIntersectionMaskPrimitive.SIZEOF); } // --- [ VROverlay_TriggerLaserMouseHapticVibration ] --- /** Triggers a haptic event on the laser mouse controller for the specified overlay. */ @NativeType("EVROverlayError") public static int VROverlay_TriggerLaserMouseHapticVibration(@NativeType("VROverlayHandle_t") long ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude) { long __functionAddress = OpenVR.VROverlay.TriggerLaserMouseHapticVibration; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, fDurationSeconds, fFrequency, fAmplitude, __functionAddress); } // --- [ VROverlay_SetOverlayCursor ] --- /** Sets the cursor to use for the specified overlay. This will be drawn instead of the generic blob when the laser mouse is pointed at the specified overlay. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayCursor(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VROverlayHandle_t") long ulCursorHandle) { long __functionAddress = OpenVR.VROverlay.SetOverlayCursor; if (CHECKS) { check(__functionAddress); } return callJJI(ulOverlayHandle, ulCursorHandle, __functionAddress); } // --- [ VROverlay_SetOverlayCursorPositionOverride ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayCursorPositionOverride SetOverlayCursorPositionOverride} */ public static int nVROverlay_SetOverlayCursorPositionOverride(long ulOverlayHandle, long pvCursor) { long __functionAddress = OpenVR.VROverlay.SetOverlayCursorPositionOverride; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pvCursor, __functionAddress); } /** * Sets the override cursor position to use for this overlay in overlay mouse coordinates. * *

This position will be used to draw the cursor instead of whatever the laser mouse cursor position is.

*/ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayCursorPositionOverride(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("HmdVector2_t const *") HmdVector2 pvCursor) { return nVROverlay_SetOverlayCursorPositionOverride(ulOverlayHandle, pvCursor.address()); } // --- [ VROverlay_ClearOverlayCursorPositionOverride ] --- /** Clears the override cursor position for this overlay. */ @NativeType("EVROverlayError") public static int VROverlay_ClearOverlayCursorPositionOverride(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlay.ClearOverlayCursorPositionOverride; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, __functionAddress); } // --- [ VROverlay_SetOverlayTexture ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayTexture SetOverlayTexture} */ public static int nVROverlay_SetOverlayTexture(long ulOverlayHandle, long pTexture) { long __functionAddress = OpenVR.VROverlay.SetOverlayTexture; if (CHECKS) { check(__functionAddress); Texture.validate(pTexture); } return callJPI(ulOverlayHandle, pTexture, __functionAddress); } /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see {@link #VROverlay_SetOverlayRenderingPid SetOverlayRenderingPid}). */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayTexture(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("Texture_t const *") Texture pTexture) { return nVROverlay_SetOverlayTexture(ulOverlayHandle, pTexture.address()); } // --- [ VROverlay_ClearOverlayTexture ] --- /** Use this to tell the overlay system to release the texture set for this overlay. */ @NativeType("EVROverlayError") public static int VROverlay_ClearOverlayTexture(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlay.ClearOverlayTexture; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, __functionAddress); } // --- [ VROverlay_SetOverlayRaw ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayRaw SetOverlayRaw} */ public static int nVROverlay_SetOverlayRaw(long ulOverlayHandle, long pvBuffer, int unWidth, int unHeight, int unBytesPerPixel) { long __functionAddress = OpenVR.VROverlay.SetOverlayRaw; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pvBuffer, unWidth, unHeight, unBytesPerPixel, __functionAddress); } /** * Separate interface for providing the data as a stream of bytes, but there is an upper bound on data that can be sent. This function can only be called * by the overlay's renderer process. */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayRaw(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("void *") ByteBuffer pvBuffer, @NativeType("uint32_t") int unWidth, @NativeType("uint32_t") int unHeight, @NativeType("uint32_t") int unBytesPerPixel) { return nVROverlay_SetOverlayRaw(ulOverlayHandle, memAddress(pvBuffer), unWidth, unHeight, unBytesPerPixel); } // --- [ VROverlay_SetOverlayFromFile ] --- /** Unsafe version of: {@link #VROverlay_SetOverlayFromFile SetOverlayFromFile} */ public static int nVROverlay_SetOverlayFromFile(long ulOverlayHandle, long pchFilePath) { long __functionAddress = OpenVR.VROverlay.SetOverlayFromFile; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, pchFilePath, __functionAddress); } /** * Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. This function can only be * called by the overlay's renderer process */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayFromFile(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("char const *") ByteBuffer pchFilePath) { if (CHECKS) { checkNT1(pchFilePath); } return nVROverlay_SetOverlayFromFile(ulOverlayHandle, memAddress(pchFilePath)); } /** * Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. This function can only be * called by the overlay's renderer process */ @NativeType("EVROverlayError") public static int VROverlay_SetOverlayFromFile(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("char const *") CharSequence pchFilePath) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { stack.nASCII(pchFilePath, true); long pchFilePathEncoded = stack.getPointerAddress(); return nVROverlay_SetOverlayFromFile(ulOverlayHandle, pchFilePathEncoded); } finally { stack.setPointer(stackPointer); } } // --- [ VROverlay_GetOverlayTexture ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTexture GetOverlayTexture} */ public static int nVROverlay_GetOverlayTexture(long ulOverlayHandle, long pNativeTextureHandle, long pNativeTextureRef, long pWidth, long pHeight, long pNativeFormat, long pAPIType, long pColorSpace, long pTextureBounds) { long __functionAddress = OpenVR.VROverlay.GetOverlayTexture; if (CHECKS) { check(__functionAddress); check(pNativeTextureRef); } return callJPPPPPPPPI(ulOverlayHandle, pNativeTextureHandle, pNativeTextureRef, pWidth, pHeight, pNativeFormat, pAPIType, pColorSpace, pTextureBounds, __functionAddress); } /** * Get the native texture handle/device for an overlay you have created. * *

On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound.

* *

The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above.

* *

You MUST call {@link #VROverlay_ReleaseNativeOverlayHandle ReleaseNativeOverlayHandle} with {@code pNativeTextureHandle} once you are done with this texture.

* *

{@code pNativeTextureHandle} is an OUTPUT, it will be a pointer to a {@code ID3D11ShaderResourceView *}. * {@code pNativeTextureRef} is an INPUT and should be a {@code ID3D11Resource *}. The device used by {@code pNativeTextureRef} will be used to bind * {@code pNativeTextureHandle}.

*/ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTexture(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("void **") PointerBuffer pNativeTextureHandle, @NativeType("void *") long pNativeTextureRef, @NativeType("uint32_t *") IntBuffer pWidth, @NativeType("uint32_t *") IntBuffer pHeight, @NativeType("uint32_t *") IntBuffer pNativeFormat, @NativeType("ETextureType *") IntBuffer pAPIType, @NativeType("EColorSpace *") IntBuffer pColorSpace, @NativeType("VRTextureBounds_t *") VRTextureBounds pTextureBounds) { if (CHECKS) { check(pNativeTextureHandle, 1); check(pWidth, 1); check(pHeight, 1); check(pNativeFormat, 1); check(pAPIType, 1); check(pColorSpace, 1); } return nVROverlay_GetOverlayTexture(ulOverlayHandle, memAddress(pNativeTextureHandle), pNativeTextureRef, memAddress(pWidth), memAddress(pHeight), memAddress(pNativeFormat), memAddress(pAPIType), memAddress(pColorSpace), pTextureBounds.address()); } // --- [ VROverlay_ReleaseNativeOverlayHandle ] --- /** * Release the {@code pNativeTextureHandle} provided from the {@link #VROverlay_GetOverlayTexture GetOverlayTexture} call, this allows the system to free the underlying GPU resources for * this object, so only do it once you stop rendering this texture. */ @NativeType("EVROverlayError") public static int VROverlay_ReleaseNativeOverlayHandle(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("void *") long pNativeTextureHandle) { long __functionAddress = OpenVR.VROverlay.ReleaseNativeOverlayHandle; if (CHECKS) { check(__functionAddress); check(pNativeTextureHandle); } return callJPI(ulOverlayHandle, pNativeTextureHandle, __functionAddress); } // --- [ VROverlay_GetOverlayTextureSize ] --- /** Unsafe version of: {@link #VROverlay_GetOverlayTextureSize GetOverlayTextureSize} */ public static int nVROverlay_GetOverlayTextureSize(long ulOverlayHandle, long pWidth, long pHeight) { long __functionAddress = OpenVR.VROverlay.GetOverlayTextureSize; if (CHECKS) { check(__functionAddress); } return callJPPI(ulOverlayHandle, pWidth, pHeight, __functionAddress); } /** Get the size of the overlay texture. */ @NativeType("EVROverlayError") public static int VROverlay_GetOverlayTextureSize(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t *") IntBuffer pWidth, @NativeType("uint32_t *") IntBuffer pHeight) { if (CHECKS) { check(pWidth, 1); check(pHeight, 1); } return nVROverlay_GetOverlayTextureSize(ulOverlayHandle, memAddress(pWidth), memAddress(pHeight)); } // --- [ VROverlay_CreateDashboardOverlay ] --- /** Unsafe version of: {@link #VROverlay_CreateDashboardOverlay CreateDashboardOverlay} */ public static int nVROverlay_CreateDashboardOverlay(long pchOverlayKey, long pchOverlayFriendlyName, long pMainHandle, long pThumbnailHandle) { long __functionAddress = OpenVR.VROverlay.CreateDashboardOverlay; if (CHECKS) { check(__functionAddress); } return callPPPPI(pchOverlayKey, pchOverlayFriendlyName, pMainHandle, pThumbnailHandle, __functionAddress); } /** Creates a dashboard overlay and returns its handle. */ @NativeType("EVROverlayError") public static int VROverlay_CreateDashboardOverlay(@NativeType("char const *") ByteBuffer pchOverlayKey, @NativeType("char const *") ByteBuffer pchOverlayFriendlyName, @NativeType("VROverlayHandle_t *") LongBuffer pMainHandle, @NativeType("VROverlayHandle_t *") LongBuffer pThumbnailHandle) { if (CHECKS) { checkNT1(pchOverlayKey); checkNT1(pchOverlayFriendlyName); check(pMainHandle, 1); check(pThumbnailHandle, 1); } return nVROverlay_CreateDashboardOverlay(memAddress(pchOverlayKey), memAddress(pchOverlayFriendlyName), memAddress(pMainHandle), memAddress(pThumbnailHandle)); } /** Creates a dashboard overlay and returns its handle. */ @NativeType("EVROverlayError") public static int VROverlay_CreateDashboardOverlay(@NativeType("char const *") CharSequence pchOverlayKey, @NativeType("char const *") CharSequence pchOverlayFriendlyName, @NativeType("VROverlayHandle_t *") LongBuffer pMainHandle, @NativeType("VROverlayHandle_t *") LongBuffer pThumbnailHandle) { if (CHECKS) { check(pMainHandle, 1); check(pThumbnailHandle, 1); } MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { stack.nASCII(pchOverlayKey, true); long pchOverlayKeyEncoded = stack.getPointerAddress(); stack.nASCII(pchOverlayFriendlyName, true); long pchOverlayFriendlyNameEncoded = stack.getPointerAddress(); return nVROverlay_CreateDashboardOverlay(pchOverlayKeyEncoded, pchOverlayFriendlyNameEncoded, memAddress(pMainHandle), memAddress(pThumbnailHandle)); } finally { stack.setPointer(stackPointer); } } // --- [ VROverlay_IsDashboardVisible ] --- /** Returns true if the dashboard is visible. */ @NativeType("bool") public static boolean VROverlay_IsDashboardVisible() { long __functionAddress = OpenVR.VROverlay.IsDashboardVisible; if (CHECKS) { check(__functionAddress); } return callZ(__functionAddress); } // --- [ VROverlay_IsActiveDashboardOverlay ] --- /** Returns true if the dashboard is visible and the specified overlay is the active system Overlay. */ @NativeType("bool") public static boolean VROverlay_IsActiveDashboardOverlay(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlay.IsActiveDashboardOverlay; if (CHECKS) { check(__functionAddress); } return callJZ(ulOverlayHandle, __functionAddress); } // --- [ VROverlay_SetDashboardOverlaySceneProcess ] --- /** Sets the dashboard overlay to only appear when the specified process ID has scene focus. */ @NativeType("EVROverlayError") public static int VROverlay_SetDashboardOverlaySceneProcess(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t") int unProcessId) { long __functionAddress = OpenVR.VROverlay.SetDashboardOverlaySceneProcess; if (CHECKS) { check(__functionAddress); } return callJI(ulOverlayHandle, unProcessId, __functionAddress); } // --- [ VROverlay_GetDashboardOverlaySceneProcess ] --- /** Unsafe version of: {@link #VROverlay_GetDashboardOverlaySceneProcess GetDashboardOverlaySceneProcess} */ public static int nVROverlay_GetDashboardOverlaySceneProcess(long ulOverlayHandle, long punProcessId) { long __functionAddress = OpenVR.VROverlay.GetDashboardOverlaySceneProcess; if (CHECKS) { check(__functionAddress); } return callJPI(ulOverlayHandle, punProcessId, __functionAddress); } /** Gets the process ID that this dashboard overlay requires to have scene focus. */ @NativeType("EVROverlayError") public static int VROverlay_GetDashboardOverlaySceneProcess(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("uint32_t *") IntBuffer punProcessId) { if (CHECKS) { check(punProcessId, 1); } return nVROverlay_GetDashboardOverlaySceneProcess(ulOverlayHandle, memAddress(punProcessId)); } // --- [ VROverlay_ShowDashboard ] --- /** Unsafe version of: {@link #VROverlay_ShowDashboard ShowDashboard} */ public static void nVROverlay_ShowDashboard(long pchOverlayToShow) { long __functionAddress = OpenVR.VROverlay.ShowDashboard; if (CHECKS) { check(__functionAddress); } callPV(pchOverlayToShow, __functionAddress); } /** Shows the dashboard. */ public static void VROverlay_ShowDashboard(@NativeType("char const *") ByteBuffer pchOverlayToShow) { if (CHECKS) { checkNT1(pchOverlayToShow); } nVROverlay_ShowDashboard(memAddress(pchOverlayToShow)); } /** Shows the dashboard. */ public static void VROverlay_ShowDashboard(@NativeType("char const *") CharSequence pchOverlayToShow) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { stack.nASCII(pchOverlayToShow, true); long pchOverlayToShowEncoded = stack.getPointerAddress(); nVROverlay_ShowDashboard(pchOverlayToShowEncoded); } finally { stack.setPointer(stackPointer); } } // --- [ VROverlay_GetPrimaryDashboardDevice ] --- /** Returns the tracked device index that has the laser pointer in the dashboard, or the last one that was used. */ @NativeType("TrackedDeviceIndex_t") public static int VROverlay_GetPrimaryDashboardDevice() { long __functionAddress = OpenVR.VROverlay.GetPrimaryDashboardDevice; if (CHECKS) { check(__functionAddress); } return callI(__functionAddress); } // --- [ VROverlay_ShowKeyboard ] --- /** Unsafe version of: {@link #VROverlay_ShowKeyboard ShowKeyboard} */ public static int nVROverlay_ShowKeyboard(int eInputMode, int eLineInputMode, int unFlags, long pchDescription, int unCharMax, long pchExistingText, boolean bUseMinimalMode, long uUserValue) { long __functionAddress = OpenVR.VROverlay.ShowKeyboard; if (CHECKS) { check(__functionAddress); } return callPPJI(eInputMode, eLineInputMode, unFlags, pchDescription, unCharMax, pchExistingText, bUseMinimalMode, uUserValue, __functionAddress); } /** * Show the virtual keyboard to accept input. * *

In most cases, you should pass {@link VR#EKeyboardFlags_KeyboardFlag_Modal} to enable modal overlay behavior on the keyboard itself. See {@code EKeyboardFlags} for more.

* * @param eInputMode one of:
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModeNormal}
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModePassword}
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModeSubmit}
* @param eLineInputMode one of:
{@link VR#EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine}
{@link VR#EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines}
*/ @NativeType("EVROverlayError") public static int VROverlay_ShowKeyboard(@NativeType("EGamepadTextInputMode") int eInputMode, @NativeType("EGamepadTextInputLineMode") int eLineInputMode, @NativeType("uint32_t") int unFlags, @NativeType("char const *") ByteBuffer pchDescription, @NativeType("uint32_t") int unCharMax, @NativeType("char const *") ByteBuffer pchExistingText, @NativeType("bool") boolean bUseMinimalMode, @NativeType("uint64_t") long uUserValue) { if (CHECKS) { checkNT1(pchDescription); checkNT1(pchExistingText); } return nVROverlay_ShowKeyboard(eInputMode, eLineInputMode, unFlags, memAddress(pchDescription), unCharMax, memAddress(pchExistingText), bUseMinimalMode, uUserValue); } /** * Show the virtual keyboard to accept input. * *

In most cases, you should pass {@link VR#EKeyboardFlags_KeyboardFlag_Modal} to enable modal overlay behavior on the keyboard itself. See {@code EKeyboardFlags} for more.

* * @param eInputMode one of:
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModeNormal}
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModePassword}
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModeSubmit}
* @param eLineInputMode one of:
{@link VR#EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine}
{@link VR#EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines}
*/ @NativeType("EVROverlayError") public static int VROverlay_ShowKeyboard(@NativeType("EGamepadTextInputMode") int eInputMode, @NativeType("EGamepadTextInputLineMode") int eLineInputMode, @NativeType("uint32_t") int unFlags, @NativeType("char const *") CharSequence pchDescription, @NativeType("uint32_t") int unCharMax, @NativeType("char const *") CharSequence pchExistingText, @NativeType("bool") boolean bUseMinimalMode, @NativeType("uint64_t") long uUserValue) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { stack.nASCII(pchDescription, true); long pchDescriptionEncoded = stack.getPointerAddress(); stack.nASCII(pchExistingText, true); long pchExistingTextEncoded = stack.getPointerAddress(); return nVROverlay_ShowKeyboard(eInputMode, eLineInputMode, unFlags, pchDescriptionEncoded, unCharMax, pchExistingTextEncoded, bUseMinimalMode, uUserValue); } finally { stack.setPointer(stackPointer); } } // --- [ VROverlay_ShowKeyboardForOverlay ] --- /** Unsafe version of: {@link #VROverlay_ShowKeyboardForOverlay ShowKeyboardForOverlay} */ public static int nVROverlay_ShowKeyboardForOverlay(long ulOverlayHandle, int eInputMode, int eLineInputMode, int unFlags, long pchDescription, int unCharMax, long pchExistingText, boolean bUseMinimalMode, long uUserValue) { long __functionAddress = OpenVR.VROverlay.ShowKeyboardForOverlay; if (CHECKS) { check(__functionAddress); } return callJPPJI(ulOverlayHandle, eInputMode, eLineInputMode, unFlags, pchDescription, unCharMax, pchExistingText, bUseMinimalMode, uUserValue, __functionAddress); } /** * Show the virtual keyboard to accept input for an overlay. * *

In most cases, you should pass {@link VR#EKeyboardFlags_KeyboardFlag_Modal} to enable modal overlay behavior on the keyboard itself. See {@code EKeyboardFlags} for more.

* * @param eInputMode one of:
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModeNormal}
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModePassword}
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModeSubmit}
* @param eLineInputMode one of:
{@link VR#EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine}
{@link VR#EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines}
*/ @NativeType("EVROverlayError") public static int VROverlay_ShowKeyboardForOverlay(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("EGamepadTextInputMode") int eInputMode, @NativeType("EGamepadTextInputLineMode") int eLineInputMode, @NativeType("uint32_t") int unFlags, @NativeType("char const *") ByteBuffer pchDescription, @NativeType("uint32_t") int unCharMax, @NativeType("char const *") ByteBuffer pchExistingText, @NativeType("bool") boolean bUseMinimalMode, @NativeType("uint64_t") long uUserValue) { if (CHECKS) { checkNT1(pchDescription); checkNT1(pchExistingText); } return nVROverlay_ShowKeyboardForOverlay(ulOverlayHandle, eInputMode, eLineInputMode, unFlags, memAddress(pchDescription), unCharMax, memAddress(pchExistingText), bUseMinimalMode, uUserValue); } /** * Show the virtual keyboard to accept input for an overlay. * *

In most cases, you should pass {@link VR#EKeyboardFlags_KeyboardFlag_Modal} to enable modal overlay behavior on the keyboard itself. See {@code EKeyboardFlags} for more.

* * @param eInputMode one of:
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModeNormal}
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModePassword}
{@link VR#EGamepadTextInputMode_k_EGamepadTextInputModeSubmit}
* @param eLineInputMode one of:
{@link VR#EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine}
{@link VR#EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines}
*/ @NativeType("EVROverlayError") public static int VROverlay_ShowKeyboardForOverlay(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("EGamepadTextInputMode") int eInputMode, @NativeType("EGamepadTextInputLineMode") int eLineInputMode, @NativeType("uint32_t") int unFlags, @NativeType("char const *") CharSequence pchDescription, @NativeType("uint32_t") int unCharMax, @NativeType("char const *") CharSequence pchExistingText, @NativeType("bool") boolean bUseMinimalMode, @NativeType("uint64_t") long uUserValue) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { stack.nASCII(pchDescription, true); long pchDescriptionEncoded = stack.getPointerAddress(); stack.nASCII(pchExistingText, true); long pchExistingTextEncoded = stack.getPointerAddress(); return nVROverlay_ShowKeyboardForOverlay(ulOverlayHandle, eInputMode, eLineInputMode, unFlags, pchDescriptionEncoded, unCharMax, pchExistingTextEncoded, bUseMinimalMode, uUserValue); } finally { stack.setPointer(stackPointer); } } // --- [ VROverlay_GetKeyboardText ] --- /** Unsafe version of: {@link #VROverlay_GetKeyboardText GetKeyboardText} */ public static int nVROverlay_GetKeyboardText(long pchText, int cchText) { long __functionAddress = OpenVR.VROverlay.GetKeyboardText; if (CHECKS) { check(__functionAddress); } return callPI(pchText, cchText, __functionAddress); } /** Get the text that was entered into the text input. */ @NativeType("uint32_t") public static int VROverlay_GetKeyboardText(@NativeType("char *") @Nullable ByteBuffer pchText) { return nVROverlay_GetKeyboardText(memAddressSafe(pchText), remainingSafe(pchText)); } /** Get the text that was entered into the text input. */ @NativeType("uint32_t") public static String VROverlay_GetKeyboardText(@NativeType("uint32_t") int cchText) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { ByteBuffer pchText = stack.malloc(cchText); int __result = nVROverlay_GetKeyboardText(memAddress(pchText), cchText); return memASCII(pchText, __result - 1); } finally { stack.setPointer(stackPointer); } } // --- [ VROverlay_HideKeyboard ] --- /** Hide the virtual keyboard. */ public static void VROverlay_HideKeyboard() { long __functionAddress = OpenVR.VROverlay.HideKeyboard; if (CHECKS) { check(__functionAddress); } callV(__functionAddress); } // --- [ VROverlay_SetKeyboardTransformAbsolute ] --- /** Unsafe version of: {@link #VROverlay_SetKeyboardTransformAbsolute SetKeyboardTransformAbsolute} */ public static void nVROverlay_SetKeyboardTransformAbsolute(int eTrackingOrigin, long pmatTrackingOriginToKeyboardTransform) { long __functionAddress = OpenVR.VROverlay.SetKeyboardTransformAbsolute; if (CHECKS) { check(__functionAddress); } callPV(eTrackingOrigin, pmatTrackingOriginToKeyboardTransform, __functionAddress); } /** * Set the position of the keyboard in world space. * * @param eTrackingOrigin one of:
{@link VR#ETrackingUniverseOrigin_TrackingUniverseSeated}
{@link VR#ETrackingUniverseOrigin_TrackingUniverseStanding}
{@link VR#ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated}
*/ public static void VROverlay_SetKeyboardTransformAbsolute(@NativeType("ETrackingUniverseOrigin") int eTrackingOrigin, @NativeType("HmdMatrix34_t const *") HmdMatrix34 pmatTrackingOriginToKeyboardTransform) { nVROverlay_SetKeyboardTransformAbsolute(eTrackingOrigin, pmatTrackingOriginToKeyboardTransform.address()); } // --- [ VROverlay_SetKeyboardPositionForOverlay ] --- /** Unsafe version of: {@link #VROverlay_SetKeyboardPositionForOverlay SetKeyboardPositionForOverlay} */ public static native void nVROverlay_SetKeyboardPositionForOverlay(long ulOverlayHandle, long avoidRect, long __functionAddress); /** Unsafe version of: {@link #VROverlay_SetKeyboardPositionForOverlay SetKeyboardPositionForOverlay} */ public static void nVROverlay_SetKeyboardPositionForOverlay(long ulOverlayHandle, long avoidRect) { long __functionAddress = OpenVR.VROverlay.SetKeyboardPositionForOverlay; if (CHECKS) { check(__functionAddress); } nVROverlay_SetKeyboardPositionForOverlay(ulOverlayHandle, avoidRect, __functionAddress); } /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left. */ public static void VROverlay_SetKeyboardPositionForOverlay(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("HmdRect2_t") HmdRect2 avoidRect) { nVROverlay_SetKeyboardPositionForOverlay(ulOverlayHandle, avoidRect.address()); } // --- [ VROverlay_ShowMessageOverlay ] --- /** Unsafe version of: {@link #VROverlay_ShowMessageOverlay ShowMessageOverlay} */ public static int nVROverlay_ShowMessageOverlay(long pchText, long pchCaption, long pchButton0Text, long pchButton1Text, long pchButton2Text, long pchButton3Text) { long __functionAddress = OpenVR.VROverlay.ShowMessageOverlay; if (CHECKS) { check(__functionAddress); } return callPPPPPPI(pchText, pchCaption, pchButton0Text, pchButton1Text, pchButton2Text, pchButton3Text, __functionAddress); } /** Show the message overlay. This will block and return you a result. */ @NativeType("VRMessageOverlayResponse") public static int VROverlay_ShowMessageOverlay(@NativeType("char const *") ByteBuffer pchText, @NativeType("char const *") ByteBuffer pchCaption, @NativeType("char const *") ByteBuffer pchButton0Text, @NativeType("char const *") @Nullable ByteBuffer pchButton1Text, @NativeType("char const *") @Nullable ByteBuffer pchButton2Text, @NativeType("char const *") @Nullable ByteBuffer pchButton3Text) { if (CHECKS) { checkNT1(pchText); checkNT1(pchCaption); checkNT1(pchButton0Text); checkNT1Safe(pchButton1Text); checkNT1Safe(pchButton2Text); checkNT1Safe(pchButton3Text); } return nVROverlay_ShowMessageOverlay(memAddress(pchText), memAddress(pchCaption), memAddress(pchButton0Text), memAddressSafe(pchButton1Text), memAddressSafe(pchButton2Text), memAddressSafe(pchButton3Text)); } /** Show the message overlay. This will block and return you a result. */ @NativeType("VRMessageOverlayResponse") public static int VROverlay_ShowMessageOverlay(@NativeType("char const *") CharSequence pchText, @NativeType("char const *") CharSequence pchCaption, @NativeType("char const *") CharSequence pchButton0Text, @NativeType("char const *") @Nullable CharSequence pchButton1Text, @NativeType("char const *") @Nullable CharSequence pchButton2Text, @NativeType("char const *") @Nullable CharSequence pchButton3Text) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { stack.nASCII(pchText, true); long pchTextEncoded = stack.getPointerAddress(); stack.nASCII(pchCaption, true); long pchCaptionEncoded = stack.getPointerAddress(); stack.nASCII(pchButton0Text, true); long pchButton0TextEncoded = stack.getPointerAddress(); stack.nASCIISafe(pchButton1Text, true); long pchButton1TextEncoded = pchButton1Text == null ? NULL : stack.getPointerAddress(); stack.nASCIISafe(pchButton2Text, true); long pchButton2TextEncoded = pchButton2Text == null ? NULL : stack.getPointerAddress(); stack.nASCIISafe(pchButton3Text, true); long pchButton3TextEncoded = pchButton3Text == null ? NULL : stack.getPointerAddress(); return nVROverlay_ShowMessageOverlay(pchTextEncoded, pchCaptionEncoded, pchButton0TextEncoded, pchButton1TextEncoded, pchButton2TextEncoded, pchButton3TextEncoded); } finally { stack.setPointer(stackPointer); } } // --- [ VROverlay_CloseMessageOverlay ] --- /** If the calling process owns the overlay and it's open, this will close it. */ public static void VROverlay_CloseMessageOverlay() { long __functionAddress = OpenVR.VROverlay.CloseMessageOverlay; if (CHECKS) { check(__functionAddress); } callV(__functionAddress); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy