mirror of
https://github.com/bjornbytes/lovr.git
synced 2024-07-09 07:33:33 +00:00
39 lines
1.6 KiB
C
39 lines
1.6 KiB
C
#ifndef LOVR_HEADSET_TYPES
|
|
#define LOVR_HEADSET_TYPES
|
|
typedef void (*headsetRenderCallback)(int eyeIndex, void* userdata);
|
|
|
|
typedef struct {
|
|
int (*isPresent)(void* headset);
|
|
const char* (*getType)(void* headset);
|
|
void (*getClipDistance)(void* headset, float* near, float* far);
|
|
void (*setClipDistance)(void* headset, float near, float far);
|
|
void (*getTrackingSize)(void* headset, float* width, float* depth);
|
|
char (*isBoundsVisible)(void* headset);
|
|
void (*setBoundsVisible)(void* headset, char visible);
|
|
void (*getPosition)(void* headset, float* x, float* y, float* z);
|
|
void (*getOrientation)(void* headset, float* x, float* y, float* z, float* w);
|
|
void (*getVelocity)(void* headset, float* x, float* y, float* z);
|
|
void (*getAngularVelocity)(void* headset, float* x, float* y, float* z);
|
|
void (*renderTo)(void* headset, headsetRenderCallback callback, void* userdata);
|
|
} HeadsetInterface;
|
|
|
|
typedef struct {
|
|
void* state;
|
|
HeadsetInterface* interface;
|
|
} Headset;
|
|
#endif
|
|
|
|
void lovrHeadsetInit();
|
|
int lovrHeadsetIsPresent();
|
|
const char* lovrHeadsetGetType();
|
|
void lovrHeadsetGetClipDistance(float* near, float* far);
|
|
void lovrHeadsetSetClipDistance(float near, float far);
|
|
void lovrHeadsetGetTrackingSize(float* width, float* depth);
|
|
char lovrHeadsetIsBoundsVisible();
|
|
void lovrHeadsetSetBoundsVisible(char isVisible);
|
|
void lovrHeadsetGetPosition(float* x, float* y, float* z);
|
|
void lovrHeadsetGetOrientation(float* x, float* y, float* z, float* w);
|
|
void lovrHeadsetGetVelocity(float* x, float* y, float* z);
|
|
void lovrHeadsetGetAngularVelocity(float* x, float* y, float* z);
|
|
void lovrHeadsetRenderTo(headsetRenderCallback callback, void* userdata);
|