1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-23 06:03:35 +00:00
lovr/src/headset/headset.h

39 lines
1.6 KiB
C
Raw Normal View History

2016-08-11 04:17:14 +00:00
#ifndef LOVR_HEADSET_TYPES
2016-09-17 04:37:30 +00:00
#define LOVR_HEADSET_TYPES
2016-08-11 04:17:14 +00:00
typedef void (*headsetRenderCallback)(int eyeIndex, void* userdata);
2016-09-16 06:57:01 +00:00
2016-09-17 04:37:30 +00:00
typedef struct {
2016-10-01 21:12:55 +00:00
int (*isPresent)(void* headset);
const char* (*getType)(void* headset);
2016-09-27 06:48:09 +00:00
void (*getClipDistance)(void* headset, float* near, float* far);
2016-10-01 21:12:55 +00:00
void (*setClipDistance)(void* headset, float near, float far);
2016-10-01 21:17:26 +00:00
void (*getTrackingSize)(void* headset, float* width, float* depth);
2016-10-01 22:11:45 +00:00
char (*isBoundsVisible)(void* headset);
void (*setBoundsVisible)(void* headset, char visible);
2016-09-17 21:25:08 +00:00
void (*getPosition)(void* headset, float* x, float* y, float* z);
2016-10-01 21:12:55 +00:00
void (*getOrientation)(void* headset, float* x, float* y, float* z, float* w);
2016-09-17 04:37:30 +00:00
void (*getVelocity)(void* headset, float* x, float* y, float* z);
2016-10-01 21:12:55 +00:00
void (*getAngularVelocity)(void* headset, float* x, float* y, float* z);
2016-09-17 04:37:30 +00:00
void (*renderTo)(void* headset, headsetRenderCallback callback, void* userdata);
} HeadsetInterface;
typedef struct {
void* state;
HeadsetInterface* interface;
} Headset;
2016-08-11 04:17:14 +00:00
#endif
void lovrHeadsetInit();
2016-10-01 21:12:55 +00:00
int lovrHeadsetIsPresent();
const char* lovrHeadsetGetType();
2016-09-27 06:48:09 +00:00
void lovrHeadsetGetClipDistance(float* near, float* far);
2016-10-01 21:12:55 +00:00
void lovrHeadsetSetClipDistance(float near, float far);
2016-10-01 21:17:26 +00:00
void lovrHeadsetGetTrackingSize(float* width, float* depth);
2016-10-01 22:11:45 +00:00
char lovrHeadsetIsBoundsVisible();
void lovrHeadsetSetBoundsVisible(char isVisible);
2016-09-17 21:25:08 +00:00
void lovrHeadsetGetPosition(float* x, float* y, float* z);
2016-10-01 21:12:55 +00:00
void lovrHeadsetGetOrientation(float* x, float* y, float* z, float* w);
2016-09-17 02:43:43 +00:00
void lovrHeadsetGetVelocity(float* x, float* y, float* z);
2016-10-01 21:12:55 +00:00
void lovrHeadsetGetAngularVelocity(float* x, float* y, float* z);
2016-09-14 00:02:23 +00:00
void lovrHeadsetRenderTo(headsetRenderCallback callback, void* userdata);