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

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

Go to download

An API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.

There is a newer version: 3.3.6
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.openvr;

import org.lwjgl.system.*;

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

public class VROverlayView {

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

    // --- [ VROverlayView_AcquireOverlayView ] ---

    /** Unsafe version of: {@link #VROverlayView_AcquireOverlayView AcquireOverlayView} */
    public static int nVROverlayView_AcquireOverlayView(long ulOverlayHandle, long pNativeDevice, long pOverlayView, int unOverlayViewSize) {
        long __functionAddress = OpenVR.VROverlayView.AcquireOverlayView;
        if (CHECKS) {
            check(__functionAddress);
        }
        return callJPPI(ulOverlayHandle, pNativeDevice, pOverlayView, unOverlayViewSize, __functionAddress);
    }

    /**
     * Acquires an {@code OverlayView_t} from an overlay handle
     * 
     * 

The overlay view can be used to sample the contents directly by a native API. The contents of the {@code OverlayView_t} will remain unchanged through * the lifetime of the {@code OverlayView_t}.

* *

The caller acquires read privileges over the {@code OverlayView_t}, but should not write to it.

* *

{@code AcquireOverlayView()} may be called on the same {@code ulOverlayHandle} multiple times to refresh the image contents. In this case the caller is * strongly encouraged to re-use the same {@code pOverlayView} for all re-acquisition calls.

* *

If the producer has not yet queued an image, {@code AcquireOverlayView} will return success, and the {@code Texture_t} will have the expected * {@code ETextureType}. However, the {@code Texture_t->handle} will be {@code nullptr}. Once the producer generates the first overlay frame, * {@code Texture_t->handle} will become a valid handle.

*/ @NativeType("EVROverlayError") public static int VROverlayView_AcquireOverlayView(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VRNativeDevice_t *") VRNativeDevice pNativeDevice, @NativeType("VROverlayView_t *") VROverlayView_t pOverlayView, @NativeType("uint32_t") int unOverlayViewSize) { return nVROverlayView_AcquireOverlayView(ulOverlayHandle, pNativeDevice.address(), pOverlayView.address(), unOverlayViewSize); } // --- [ VROverlayView_ReleaseOverlayView ] --- /** Unsafe version of: {@link #VROverlayView_ReleaseOverlayView ReleaseOverlayView} */ public static int nVROverlayView_ReleaseOverlayView(long pOverlayView) { long __functionAddress = OpenVR.VROverlayView.ReleaseOverlayView; if (CHECKS) { check(__functionAddress); } return callPI(pOverlayView, __functionAddress); } /** * Releases an acquired {@code OverlayView_t}. * *

Denotes that {@code pOverlayView} will no longer require access to the resources it acquired in all previous calls to {@code AcquireOverlayView()}.

* *

All {@code OverlayView_t*}'s provided to {@code AcquireOverlayView()} as {@code pOverlayViews} must be passed into {@code ReleaseOverlayView()} in * order for the underlying GPU resources to be freed.

*/ @NativeType("EVROverlayError") public static int VROverlayView_ReleaseOverlayView(@NativeType("VROverlayView_t *") VROverlayView_t pOverlayView) { return nVROverlayView_ReleaseOverlayView(pOverlayView.address()); } // --- [ VROverlayView_PostOverlayEvent ] --- /** Unsafe version of: {@link #VROverlayView_PostOverlayEvent PostOverlayEvent} */ public static void nVROverlayView_PostOverlayEvent(long ulOverlayHandle, long pvrEvent) { long __functionAddress = OpenVR.VROverlayView.PostOverlayEvent; if (CHECKS) { check(__functionAddress); } callJPV(ulOverlayHandle, pvrEvent, __functionAddress); } /** Posts an overlay event. */ public static void VROverlayView_PostOverlayEvent(@NativeType("VROverlayHandle_t") long ulOverlayHandle, @NativeType("VREvent_t *") VREvent pvrEvent) { nVROverlayView_PostOverlayEvent(ulOverlayHandle, pvrEvent.address()); } // --- [ VROverlayView_IsViewingPermitted ] --- /** Determines whether this process is permitted to view an overlay's content. */ @NativeType("bool") public static boolean VROverlayView_IsViewingPermitted(@NativeType("VROverlayHandle_t") long ulOverlayHandle) { long __functionAddress = OpenVR.VROverlayView.IsViewingPermitted; if (CHECKS) { check(__functionAddress); } return callJZ(ulOverlayHandle, __functionAddress); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy