Monado OpenXR Runtime
|
Special functions to control multi session/clients. More...
#include <xrt/xrt_compositor.h>
Data Fields | |
xrt_result_t(* | 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... | |
xrt_result_t(* | 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... | |
xrt_result_t(* | 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... | |
xrt_result_t(* | notify_loss_pending )(struct xrt_system_compositor *xsc, struct xrt_compositor *xc, int64_t loss_time_ns) |
Notify this client/session if the compositor is going to lose the ability of rendering. More... | |
xrt_result_t(* | notify_lost )(struct xrt_system_compositor *xsc, struct xrt_compositor *xc) |
Notify this client/session if the compositor lost the ability of rendering. More... | |
xrt_result_t(* | notify_display_refresh_changed )(struct xrt_system_compositor *xsc, struct xrt_compositor *xc, float from_display_refresh_rate_hz, float to_display_refresh_rate_hz) |
Notify this client/session if the display refresh rate has been changed. More... | |
Special functions to control multi session/clients.
Effectively an optional aspect of xrt_system_compositor exposed by implementations that can combine layers from multiple sessions/clients.
xrt_result_t(* xrt_multi_compositor_control::notify_display_refresh_changed) (struct xrt_system_compositor *xsc, struct xrt_compositor *xc, float from_display_refresh_rate_hz, float to_display_refresh_rate_hz) |
Notify this client/session if the display refresh rate has been changed.
Referenced by xrt_system_compositor::xrt_syscomp_notify_display_refresh_changed().
xrt_result_t(* xrt_multi_compositor_control::notify_loss_pending) (struct xrt_system_compositor *xsc, struct xrt_compositor *xc, int64_t loss_time_ns) |
Notify this client/session if the compositor is going to lose the ability of rendering.
loss_time_ns | System monotonic timestamps, such as returned by os_monotonic_get_ns(). |
Referenced by xrt_system_compositor::xrt_syscomp_notify_loss_pending().
xrt_result_t(* xrt_multi_compositor_control::notify_lost) (struct xrt_system_compositor *xsc, struct xrt_compositor *xc) |
Notify this client/session if the compositor lost the ability of rendering.
Referenced by xrt_system_compositor::xrt_syscomp_notify_lost().
xrt_result_t(* xrt_multi_compositor_control::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.
Referenced by xrt_system_compositor::xrt_syscomp_set_main_app_visibility().
xrt_result_t(* xrt_multi_compositor_control::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.
Input focus is enforced/handled by a different component but is still signaled by the compositor.
Referenced by xrt_system_compositor::xrt_syscomp_set_state().
xrt_result_t(* xrt_multi_compositor_control::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.
This a signed 64 bit integer compared to a unsigned 32 bit integer in OpenXR, so that non-overlay clients can be handled like overlay ones.
Referenced by xrt_system_compositor::xrt_syscomp_set_z_order().