21 XrVersion apiVersion = XR_CURRENT_API_VERSION) {
22 strncpy_s(appInfo.applicationName, XR_MAX_APPLICATION_NAME_SIZE, appNameVersion.
Name.data(), appNameVersion.
Name.size());
23 appInfo.applicationVersion = appNameVersion.
Version;
24 strncpy_s(appInfo.engineName, XR_MAX_ENGINE_NAME_SIZE, engineNameVersion.
Name.data(), engineNameVersion.
Name.size());
25 appInfo.engineVersion = engineNameVersion.
Version;
26 appInfo.apiVersion = apiVersion;
32 info.enabledExtensionCount =
static_cast<uint32_t
>(std::size(extensions));
33 info.enabledExtensionNames = std::data(extensions);
42 template <
typename XrStruct,
typename XrExtension>
44 xrExtension.next = xrStruct.next;
45 xrStruct.next = &xrExtension;
49 template <
typename XrEventData>
50 const XrEventData*
event_cast(
const XrEventDataBuffer* eventData) =
delete;
52#define DEFINE_EVENT_TYPE(XrEventData, XR_TYPE_EVENT_DATA) \
54 inline const XrEventData* event_cast<XrEventData>(const XrEventDataBuffer* eventData) { \
55 if (eventData->type == XR_TYPE_EVENT_DATA) { \
56 return reinterpret_cast<const XrEventData*>(eventData); \
62 DEFINE_EVENT_TYPE(XrEventDataInteractionProfileChanged, XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED);
63 DEFINE_EVENT_TYPE(XrEventDataInstanceLossPending, XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING);
64 DEFINE_EVENT_TYPE(XrEventDataReferenceSpaceChangePending, XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING);
66 DEFINE_EVENT_TYPE(XrEventDataSessionStateChanged, XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED);
67 DEFINE_EVENT_TYPE(XrEventDataVisibilityMaskChangedKHR, XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR);
68#undef DEFINE_EVENT_TYPE
#define DEFINE_EVENT_TYPE(XrEventData, XR_TYPE_EVENT_DATA)
The xr::DispatchTable struct contains all available PFN pointers to xr functions including those in a...
const XrEventData * event_cast(const XrEventDataBuffer *eventData)=delete
void InsertExtensionStruct(XrStruct &xrStruct, XrExtension &xrExtension)
void SetEnabledExtensions(XrInstanceCreateInfo &info, T &extensions)
void SetApplicationInfo(XrApplicationInfo &appInfo, const xr::NameVersion &appNameVersion, const xr::NameVersion &engineNameVersion, XrVersion apiVersion=XR_CURRENT_API_VERSION)
NameVersion(std::string name, uint32_t version)