Monado OpenXR Runtime
Public Member Functions | Data Fields | Related Functions
xrt_system_compositor Struct Reference

The system compositor is a long lived object, it has the same life time as a XrSystemID. More...

#include <xrt/xrt_compositor.h>

Collaboration diagram for xrt_system_compositor:
Collaboration graph
[legend]

Public Member Functions

static xrt_result_t xrt_syscomp_set_state (struct xrt_system_compositor *xsc, struct xrt_compositor *xc, bool visible, bool focused)
 Sets the state of the compositor, generating any events to the client if the state is actually changed. More...
 
static xrt_result_t xrt_syscomp_set_z_order (struct xrt_system_compositor *xsc, struct xrt_compositor *xc, int64_t z_order)
 Set the rendering Z order for rendering, visible has higher priority then z_order but is still saved until visible again. More...
 
static xrt_result_t xrt_syscomp_set_main_app_visibility (struct xrt_system_compositor *xsc, struct xrt_compositor *xc, bool visible)
 Tell this client/session if the main application is visible or not. More...
 
static xrt_result_t xrt_syscomp_create_native_compositor (struct xrt_system_compositor *xsc, const struct xrt_session_info *xsi, struct xrt_compositor_native **out_xcn)
 Create a new native compositor. More...
 
static void xrt_syscomp_destroy (struct xrt_system_compositor **xsc_ptr)
 Teardown the system compositor. More...
 

Data Fields

struct xrt_system_compositor_info info
 Info regarding the system. More...
 
struct xrt_multi_compositor_controlxmcc
 Does this system compositor support multi client controls. More...
 
xrt_result_t(* create_native_compositor )(struct xrt_system_compositor *xsc, const struct xrt_session_info *xsi, struct xrt_compositor_native **out_xcn)
 Create a new native compositor. More...
 
void(* destroy )(struct xrt_system_compositor *xsc)
 Teardown the system compositor. More...
 

Related Functions

(Note that these are not member functions.)

xrt_result_t xrt_gfx_provider_create_system (struct xrt_device *xdev, struct xrt_system_compositor **out_xsysc)
 Creates the main system compositor. More...
 

Detailed Description

The system compositor is a long lived object, it has the same life time as a XrSystemID.

Field Documentation

◆ create_native_compositor

xrt_result_t(* xrt_system_compositor::create_native_compositor) (struct xrt_system_compositor *xsc, const struct xrt_session_info *xsi, struct xrt_compositor_native **out_xcn)

Create a new native compositor.

This signals that you want to start XR, and as such implicitly brings up a new session. Does not "call" xrBeginSession.

Some system compositors might only support that one xrt_compositor is active at a time, will return XRT_ERROR_MULTI_SESSION_NOT_IMPLEMENTED if this is the case.

Referenced by comp_multi_create_system_compositor(), and xrt_syscomp_create_native_compositor().

◆ destroy

void(* xrt_system_compositor::destroy) (struct xrt_system_compositor *xsc)

Teardown the system compositor.

The state tracker must make sure that no compositors are alive.

Referenced by xrt_syscomp_destroy().

◆ info

struct xrt_system_compositor_info xrt_system_compositor::info

Info regarding the system.

Referenced by oxr_d3d_get_requirements().

◆ xmcc

struct xrt_multi_compositor_control* xrt_system_compositor::xmcc

Does this system compositor support multi client controls.

Referenced by xrt_syscomp_set_main_app_visibility(), xrt_syscomp_set_state(), and xrt_syscomp_set_z_order().


The documentation for this struct was generated from the following files: