#[repr(C)]
pub struct IVROverlay { /* private fields */ }

Implementations

Finds an existing overlay with the specified key.

Creates a new named overlay. All overlays start hidden and with default settings.

Destroys the specified overlay. When an application calls VR_Shutdown all overlays created by that app are automatically destroyed.

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. k_unVROverlayMaxKeyLength will be enough bytes to fit the string.

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. k_unVROverlayMaxNameLength will be enough bytes to fit the string.

set the name to use for this overlay

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 VROverlayError_ArrayTooSmall is returned.

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

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

Gets the pid that is allowed to render to this overlay

Specify flag setting for a given overlay

Sets flag setting for a given overlay

Gets all the flags for a given overlay

Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel.

Gets the color tint of the overlay quad.

Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity.

Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0).

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.

Gets the aspect ratio of the texels in the overlay. Defaults to 1.0

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.

Sort order defaults to 0.

Gets the sort order of the overlay. See SetOverlaySortOrder for how this works.

Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across

Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across

Use to draw overlay as a curved surface. Curvature is a percentage from (0..1] where 1 is a fully closed cylinder. For a specific radius, curvature can be computed as: overlay.width / (2 PI r).

Returns the curvature of the overlay as a percentage from (0..1] where 1 is a fully closed cylinder.

Sets the colorspace the overlay texture’s data is in. Defaults to ‘auto’. If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead.

Gets the overlay’s current colorspace setting.

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.

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.

Returns the transform type of this overlay.

Sets the transform to absolute tracking origin.

Gets the transform if it is absolute. Returns an error if the transform is some other type.

Sets the transform to relative to the transform of the specified tracked device.

Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type.

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.

Gets the transform information when the overlay is rendering on a component.

Gets the transform if it is relative to another overlay. Returns an error if the transform is some other type.

Sets the transform to relative to the transform of the specified overlay. This overlays visibility will also track the parents visibility

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.

Gets cursor hotspot/transform for the specified overlay

Sets the overlay as a projection overlay

Shows the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this.

Hides the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this.

Returns true if the overlay is visible.

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

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. uncbVREvent should be the size in bytes of the VREvent_t struct

Returns the current input settings for the specified overlay.

Sets the input settings for the specified overlay.

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.

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).

Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the specified settings. Returns false if there is no intersection.

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

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).

Triggers a haptic event on the laser mouse controller for the specified overlay

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

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.

Clears the override cursor position for this overlay

Texture to draw for the overlay. This function can only be called by the overlay’s creator or renderer process (see SetOverlayRenderingPid) .

OpenGL dirty state: glBindTexture

Use this to tell the overlay system to release the texture set for this overlay.

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.

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

Release the pNativeTextureHandle provided from the 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.

Get the size of the overlay texture

Creates a dashboard overlay and returns its handle

Returns true if the dashboard is visible

returns true if the dashboard is visible and the specified overlay is the active system Overlay

Sets the dashboard overlay to only appear when the specified process ID has scene focus

Gets the process ID that this dashboard overlay requires to have scene focus

Shows the dashboard.

Returns the tracked device that has the laser pointer in the dashboard

Show the virtual keyboard to accept input. In most cases, you should pass KeyboardFlag_Modal to enable modal overlay behavior on the keyboard itself. See EKeyboardFlags for more.

Show the virtual keyboard to accept input for an overlay. In most cases, you should pass KeyboardFlag_Modal to enable modal overlay behavior on the keyboard itself. See EKeyboardFlags for more.

Get the text that was entered into the text input

Hide the virtual keyboard

Set the position of the keyboard in world space

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

Show the message overlay. This will block and return you a result.

If the calling process owns the overlay and it’s open, this will close it.

Trait Implementations

Synthesized destructor.

type Id

A type-level representation of the type’s C++ namespace and type name. Read more

Allocates heap space for this type in C++ and return a pointer to that space, but do not initialize that space (i.e. do not yet call a constructor). Read more

Frees a C++ allocation which has not yet had a constructor called. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.