68 XRT_SESSION_EVENT_VISIBILITY_MASK_CHANGE = 9,
101 bool primary_focused;
113 XRT_ALIGNAS(8) int64_t loss_time_ns;
137 float from_display_refresh_rate_hz;
138 float to_display_refresh_rate_hz;
153 int64_t timestamp_ns;
154 struct xrt_pose pose_in_previous_space;
165 enum xrt_perf_sub_domain sub_domain;
194 bool is_user_present;
255XRT_CHECK_RESULT XRT_NONNULL_ALL
static inline xrt_result_t
311XRT_CHECK_RESULT XRT_NONNULL_ALL
static inline xrt_result_t
340XRT_NONNULL_ALL
static inline void
xrt_session_event_type
Type of a xrt_session event.
Definition: xrt_session.h:39
enum xrt_result xrt_result_t
Result type used across Monado.
xrt_reference_space_type
Type of a OpenXR mapped reference space, maps to the semantic spaces on the xrt_space_overseer struct...
Definition: xrt_defines.h:612
@ XRT_SESSION_EVENT_PASSTHRU_STATE_CHANGE
The passthrough state of the session has changed.
Definition: xrt_session.h:65
@ XRT_SESSION_EVENT_REFERENCE_SPACE_CHANGE_PENDING
A reference space for this session has a pending change.
Definition: xrt_session.h:59
@ XRT_SESSION_EVENT_LOSS_PENDING
The session is about to be lost.
Definition: xrt_session.h:50
@ XRT_SESSION_EVENT_LOST
The session has been lost.
Definition: xrt_session.h:53
@ XRT_SESSION_EVENT_DISPLAY_REFRESH_RATE_CHANGE
The refresh rate of session (compositor) has changed.
Definition: xrt_session.h:56
@ XRT_SESSION_EVENT_USER_PRESENCE_CHANGE
User presence has changed (hmd may have been put on or removed)
Definition: xrt_session.h:71
@ XRT_SESSION_EVENT_REQUEST_EXIT
Request the session to quit.
Definition: xrt_session.h:74
@ XRT_SESSION_EVENT_STATE_CHANGE
The state of the session has changed.
Definition: xrt_session.h:44
@ XRT_SESSION_EVENT_OVERLAY_CHANGE
The state of the primary session has changed.
Definition: xrt_session.h:47
@ XRT_SESSION_EVENT_NONE
This session has no pending events.
Definition: xrt_session.h:41
@ XRT_SESSION_EVENT_PERFORMANCE_CHANGE
The performance of the session has changed.
Definition: xrt_session.h:62
Main compositor server interface.
Definition: xrt_compositor.h:2236
A pose composed of a position and orientation.
Definition: xrt_defines.h:479
Display refresh rate of compositor changed event, type XRT_SESSION_EVENT_DISPLAY_REFRESH_RATE_CHANGE.
Definition: xrt_session.h:135
Loss pending event, XRT_SESSION_EVENT_LOSS_PENDING.
Definition: xrt_session.h:111
Session lost event, type XRT_SESSION_EVENT_LOST.
Definition: xrt_session.h:123
Primary session state changes event, type XRT_SESSION_EVENT_OVERLAY_CHANGE.
Definition: xrt_session.h:99
Passthrough state change event.
Definition: xrt_session.h:174
Performance metrics change event.
Definition: xrt_session.h:162
Event that tells the application that the reference space has a pending change to it,...
Definition: xrt_session.h:150
Session stop event, type XRT_SESSION_EVENT_REQUEST_EXIT.
Definition: xrt_session.h:204
Used internally from producers of events to push events into session, some sinks might multiplex even...
Definition: xrt_session.h:237
XRT_CHECK_RESULT static XRT_NONNULL_ALL xrt_result_t xrt_session_event_sink_push(struct xrt_session_event_sink *xses, const union xrt_session_event *xse)
Push one event to this sink, data is copied so pointer only needs to be valid for the duration of the...
Definition: xrt_session.h:256
xrt_result_t(* push_event)(struct xrt_session_event_sink *xses, const union xrt_session_event *xse)
Push one event to this sink, data is copied so pointer only needs to be valid for the duration of the...
Definition: xrt_session.h:245
Session state changes event, type XRT_SESSION_EVENT_STATE_CHANGE.
Definition: xrt_session.h:84
User presence changed event.
Definition: xrt_session.h:192
Visibility mask changed event.
Definition: xrt_session.h:183
The XRT representation of XrSession, this object does not have all of the functionality of a session,...
Definition: xrt_session.h:277
XRT_CHECK_RESULT static XRT_NONNULL_ALL xrt_result_t xrt_session_poll_events(struct xrt_session *xs, union xrt_session_event *out_xse)
Poll a single event from this session, if no event is available then the type of the event will be XR...
Definition: xrt_session.h:312
xrt_result_t(* poll_events)(struct xrt_session *xs, union xrt_session_event *out_xse)
Poll a single event from this session, if no event is available then the type of the event will be XR...
Definition: xrt_session.h:285
static XRT_NONNULL_ALL void xrt_session_destroy(struct xrt_session **xs_ptr)
Destroy an xrt_session - helper function.
Definition: xrt_session.h:341
xrt_result_t(* request_exit)(struct xrt_session *xs)
Request this session to exit.
Definition: xrt_session.h:292
static XRT_CHECK_RESULT xrt_result_t xrt_session_request_exit(struct xrt_session *xs)
Request this session to exit.
Definition: xrt_session.h:325
void(* destroy)(struct xrt_session *xs)
Destroy the session, must be destroyed after the native compositor.
Definition: xrt_session.h:301
Union of all session events, used to return multiple events through one call.
Definition: xrt_session.h:215
Header holding common defines.
Common defines and enums for XRT.
xrt_perf_notify_level
Performance level.
Definition: xrt_defines.h:2343
xrt_perf_domain
Domain type.
Definition: xrt_defines.h:2316
xrt_passthrough_state
Specify additional state change behavior.
Definition: xrt_defines.h:136
Internal result type for XRT.
Header defining xrt space and space overseer.