#include "device.h" #include "stereokit.h" #include "sk_memory.h" #include "xr_backends/openxr_view.h" #include "xr_backends/openxr.h" #include "xr_backends/simulator.h" namespace sk { device_data_t device_data = {}; /////////////////////////////////////////// void device_data_init(device_data_t* data) { } /////////////////////////////////////////// void device_data_free(device_data_t* data) { sk_free(data->name); sk_free(data->gpu); *data = {}; } /////////////////////////////////////////// display_type_ device_display_get_type() { return device_data.display_type; } /////////////////////////////////////////// display_blend_ device_display_get_blend() { return device_data.display_blend; } /////////////////////////////////////////// bool32_t device_display_set_blend(display_blend_ blend) { #if defined(SK_XR_OPENXR) if (backend_xr_get_type() == backend_xr_type_openxr) { return xr_set_blend(blend); } #endif return false; } /////////////////////////////////////////// bool32_t device_display_valid_blend(display_blend_ blend) { #if defined(SK_XR_OPENXR) if (backend_xr_get_type() == backend_xr_type_openxr) { return xr_blend_valid(blend); } #endif return blend == display_blend_opaque; } /////////////////////////////////////////// float device_display_get_refresh_rate() { return device_data.display_refresh_rate; } /////////////////////////////////////////// int32_t device_display_get_width() { return device_data.display_width; } /////////////////////////////////////////// int32_t device_display_get_height() { return device_data.display_height; } /////////////////////////////////////////// fov_info_t device_display_get_fov() { return device_data.display_fov; } /////////////////////////////////////////// device_tracking_ device_get_tracking() { return device_data.tracking; } /////////////////////////////////////////// const char* device_get_name() { return device_data.name; } /////////////////////////////////////////// const char* device_get_gpu() { return device_data.gpu; } /////////////////////////////////////////// bool32_t device_has_eye_gaze() { return device_data.has_eye_gaze; } /////////////////////////////////////////// bool32_t device_has_hand_tracking() { return device_data.has_hand_tracking; } }