1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 2.0.12
4  *
5  * Do not make changes to this file unless you know what you are doing--modify
6  * the SWIG interface file instead.
7  * ----------------------------------------------------------------------------- */
8 
9 module ovr_im;
10 static import core.stdc.config;
11 
12 static import std.conv;
13 
14 static import std.conv;
15 static import std.string;
16 
17 
18 private {
19   version(linux) {
20     version = Nix;
21   } else version(darwin) {
22     version = Nix;
23   } else version(OSX) {
24     version = Nix;
25   } else version(FreeBSD) {
26     version = Nix;
27     version = freebsd;
28   } else version(freebsd) {
29     version = Nix;
30   } else version(Unix) {
31     version = Nix;
32   } else version(Posix) {
33     version = Nix;
34   }
35 
36   version(Tango) {
37     static import tango.stdc.string;
38     static import tango.stdc.stringz;
39 
40     version (PhobosCompatibility) {
41     } else {
42       alias char[] string;
43       alias wchar[] wstring;
44       alias dchar[] dstring;
45     }
46   } else {
47     version(D_Version2) {
48       static import std.conv;
49     }
50     static import std.string;
51     static import std.c.string;
52   }
53 
54   version(D_Version2) {
55     mixin("alias const(char)* CCPTR;");
56   } else {
57     alias char* CCPTR;
58   }
59 
60   CCPTR swigToCString(string str) {
61     version(Tango) {
62       return tango.stdc.stringz.toStringz(str);
63     } else {
64       return std..string.toStringz(str);
65     }
66   }
67 
68   string swigToDString(CCPTR cstr) {
69     version(Tango) {
70       return tango.stdc.stringz.fromStringz(cstr);
71     } else {
72       version(D_Version2) {
73         mixin("return std.conv.to!string(cstr);");
74       } else {
75         return std.c..string.toString(cstr);
76       }
77     }
78   }
79 }
80 
81 class SwigSwigSharedLibLoadException : Exception {
82   this(in string[] libNames, in string[] reasons) {
83     string msg = "Failed to load one or more shared libraries:";
84     foreach(i, n; libNames) {
85       msg ~= "\n\t" ~ n ~ " - ";
86       if(i < reasons.length)
87         msg ~= reasons[i];
88       else
89         msg ~= "Unknown";
90     }
91     super(msg);
92   }
93 }
94 
95 class SwigSymbolLoadException : Exception {
96   this(string SwigSharedLibName, string symbolName) {
97     super("Failed to load symbol " ~ symbolName ~ " from shared library " ~ SwigSharedLibName);
98     _symbolName = symbolName;
99   }
100 
101   string symbolName() {
102     return _symbolName;
103   }
104 
105 private:
106   string _symbolName;
107 }
108 
109 private {
110   version(Nix) {
111     version(freebsd) {
112       // the dl* functions are in libc on FreeBSD
113     }
114     else {
115       pragma(lib, "dl");
116     }
117 
118     version(Tango) {
119       import tango.sys.Common;
120     } else version(linux) {
121       import std.c.linux.linux;
122     } else {
123       extern(C) {
124         const RTLD_NOW = 2;
125 
126         void *dlopen(CCPTR file, int mode);
127         int dlclose(void* handle);
128         void *dlsym(void* handle, CCPTR name);
129         CCPTR dlerror();
130       }
131     }
132 
133     alias void* SwigSharedLibHandle;
134 
135     SwigSharedLibHandle swigLoadSharedLib(string libName) {
136       return dlopen(swigToCString(libName), RTLD_NOW);
137     }
138 
139     void swigUnloadSharedLib(SwigSharedLibHandle hlib) {
140       dlclose(hlib);
141     }
142 
143     void* swigGetSymbol(SwigSharedLibHandle hlib, string symbolName) {
144       return dlsym(hlib, swigToCString(symbolName));
145     }
146 
147     string swigGetErrorStr() {
148       CCPTR err = dlerror();
149       if (err is null) {
150         return "Unknown Error";
151       }
152       return swigToDString(err);
153     }
154   } else version(Windows) {
155     alias ushort WORD;
156     alias uint DWORD;
157     alias CCPTR LPCSTR;
158     alias void* HMODULE;
159     alias void* HLOCAL;
160     alias int function() FARPROC;
161     struct VA_LIST {}
162 
163     extern (Windows) {
164       HMODULE LoadLibraryA(LPCSTR);
165       FARPROC GetProcAddress(HMODULE, LPCSTR);
166       void FreeLibrary(HMODULE);
167       DWORD GetLastError();
168       DWORD FormatMessageA(DWORD, in void*, DWORD, DWORD, LPCSTR, DWORD, VA_LIST*);
169       HLOCAL LocalFree(HLOCAL);
170     }
171 
172     DWORD MAKELANGID(WORD p, WORD s) {
173       return (((cast(WORD)s) << 10) | cast(WORD)p);
174     }
175 
176     enum {
177       LANG_NEUTRAL                    = 0,
178       SUBLANG_DEFAULT                 = 1,
179       FORMAT_MESSAGE_ALLOCATE_BUFFER  = 256,
180       FORMAT_MESSAGE_IGNORE_INSERTS   = 512,
181       FORMAT_MESSAGE_FROM_SYSTEM      = 4096
182     }
183 
184     alias HMODULE SwigSharedLibHandle;
185 
186     SwigSharedLibHandle swigLoadSharedLib(string libName) {
187       return LoadLibraryA(swigToCString(libName));
188     }
189 
190     void swigUnloadSharedLib(SwigSharedLibHandle hlib) {
191       FreeLibrary(hlib);
192     }
193 
194     void* swigGetSymbol(SwigSharedLibHandle hlib, string symbolName) {
195       return GetProcAddress(hlib, swigToCString(symbolName));
196     }
197 
198     string swigGetErrorStr() {
199       DWORD errcode = GetLastError();
200 
201       LPCSTR msgBuf;
202       DWORD i = FormatMessageA(
203         FORMAT_MESSAGE_ALLOCATE_BUFFER |
204         FORMAT_MESSAGE_FROM_SYSTEM |
205         FORMAT_MESSAGE_IGNORE_INSERTS,
206         null,
207         errcode,
208         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
209         cast(LPCSTR)&msgBuf,
210         0,
211         null);
212 
213       string text = swigToDString(msgBuf);
214       LocalFree(cast(HLOCAL)msgBuf);
215 
216       if (i >= 2) {
217         i -= 2;
218       }
219       return text[0 .. i];
220     }
221   } else {
222     static assert(0, "Operating system not supported by the wrapper loading code.");
223   }
224 
225   final class SwigSharedLib {
226     void load(string[] names) {
227       if (_hlib !is null) return;
228 
229       string[] failedLibs;
230       string[] reasons;
231 
232       foreach(n; names) {
233         _hlib = swigLoadSharedLib(n);
234         if (_hlib is null) {
235           failedLibs ~= n;
236           reasons ~= swigGetErrorStr();
237           continue;
238         }
239         _name = n;
240         break;
241       }
242 
243       if (_hlib is null) {
244         throw new SwigSwigSharedLibLoadException(failedLibs, reasons);
245       }
246     }
247 
248     void* loadSymbol(string symbolName, bool doThrow = true) {
249       void* sym = swigGetSymbol(_hlib, symbolName);
250       if(doThrow && (sym is null)) {
251         throw new SwigSymbolLoadException(_name, symbolName);
252       }
253       return sym;
254     }
255 
256     void unload() {
257       if(_hlib !is null) {
258         swigUnloadSharedLib(_hlib);
259         _hlib = null;
260       }
261     }
262 
263   private:
264     string _name;
265     SwigSharedLibHandle _hlib;
266   }
267 }
268 
269 static this() {
270   string[] possibleFileNames;
271   version (Posix) {
272     version (OSX) {
273       possibleFileNames ~= ["libovr_wrap.dylib", "libovr_wrap.bundle"];
274     }
275     possibleFileNames ~= ["libovr_wrap.so"];
276   } else version (Windows) {
277     possibleFileNames ~= ["ovr_wrap.dll", "libovr_wrap.so"];
278   } else {
279     static assert(false, "Operating system not supported by the wrapper loading code.");
280   }
281 
282   auto library = new SwigSharedLib;
283   library.load(possibleFileNames);
284 
285   string bindCode(string functionPointer, string symbol) {
286     return functionPointer ~ " = cast(typeof(" ~ functionPointer ~
287       "))library.loadSymbol(`" ~ symbol ~ "`);";
288   }
289 
290   //#if !defined(SWIG_D_NO_EXCEPTION_HELPER)
291   mixin(bindCode("swigRegisterExceptionCallbacksovr", "SWIGRegisterExceptionCallbacks_ovr"));
292   //#endif // SWIG_D_NO_EXCEPTION_HELPER
293   //#if !defined(SWIG_D_NO_STRING_HELPER)
294   mixin(bindCode("swigRegisterStringCallbackovr", "SWIGRegisterStringCallback_ovr"));
295   //#endif // SWIG_D_NO_STRING_HELPER
296   
297   mixin(bindCode("ovrVector2i_x_set", "D_ovrVector2i_x_set"));
298   mixin(bindCode("ovrVector2i_x_get", "D_ovrVector2i_x_get"));
299   mixin(bindCode("ovrVector2i_y_set", "D_ovrVector2i_y_set"));
300   mixin(bindCode("ovrVector2i_y_get", "D_ovrVector2i_y_get"));
301   mixin(bindCode("new_ovrVector2i", "D_new_ovrVector2i"));
302   mixin(bindCode("delete_ovrVector2i", "D_delete_ovrVector2i"));
303   mixin(bindCode("ovrSizei_w_set", "D_ovrSizei_w_set"));
304   mixin(bindCode("ovrSizei_w_get", "D_ovrSizei_w_get"));
305   mixin(bindCode("ovrSizei_h_set", "D_ovrSizei_h_set"));
306   mixin(bindCode("ovrSizei_h_get", "D_ovrSizei_h_get"));
307   mixin(bindCode("new_ovrSizei", "D_new_ovrSizei"));
308   mixin(bindCode("delete_ovrSizei", "D_delete_ovrSizei"));
309   mixin(bindCode("ovrRecti_Pos_set", "D_ovrRecti_Pos_set"));
310   mixin(bindCode("ovrRecti_Pos_get", "D_ovrRecti_Pos_get"));
311   mixin(bindCode("ovrRecti_Size_set", "D_ovrRecti_Size_set"));
312   mixin(bindCode("ovrRecti_Size_get", "D_ovrRecti_Size_get"));
313   mixin(bindCode("new_ovrRecti", "D_new_ovrRecti"));
314   mixin(bindCode("delete_ovrRecti", "D_delete_ovrRecti"));
315   mixin(bindCode("ovrQuatf_x_set", "D_ovrQuatf_x_set"));
316   mixin(bindCode("ovrQuatf_x_get", "D_ovrQuatf_x_get"));
317   mixin(bindCode("ovrQuatf_y_set", "D_ovrQuatf_y_set"));
318   mixin(bindCode("ovrQuatf_y_get", "D_ovrQuatf_y_get"));
319   mixin(bindCode("ovrQuatf_z_set", "D_ovrQuatf_z_set"));
320   mixin(bindCode("ovrQuatf_z_get", "D_ovrQuatf_z_get"));
321   mixin(bindCode("ovrQuatf_w_set", "D_ovrQuatf_w_set"));
322   mixin(bindCode("ovrQuatf_w_get", "D_ovrQuatf_w_get"));
323   mixin(bindCode("new_ovrQuatf", "D_new_ovrQuatf"));
324   mixin(bindCode("delete_ovrQuatf", "D_delete_ovrQuatf"));
325   mixin(bindCode("ovrVector2f_x_set", "D_ovrVector2f_x_set"));
326   mixin(bindCode("ovrVector2f_x_get", "D_ovrVector2f_x_get"));
327   mixin(bindCode("ovrVector2f_y_set", "D_ovrVector2f_y_set"));
328   mixin(bindCode("ovrVector2f_y_get", "D_ovrVector2f_y_get"));
329   mixin(bindCode("new_ovrVector2f", "D_new_ovrVector2f"));
330   mixin(bindCode("delete_ovrVector2f", "D_delete_ovrVector2f"));
331   mixin(bindCode("ovrVector3f_x_set", "D_ovrVector3f_x_set"));
332   mixin(bindCode("ovrVector3f_x_get", "D_ovrVector3f_x_get"));
333   mixin(bindCode("ovrVector3f_y_set", "D_ovrVector3f_y_set"));
334   mixin(bindCode("ovrVector3f_y_get", "D_ovrVector3f_y_get"));
335   mixin(bindCode("ovrVector3f_z_set", "D_ovrVector3f_z_set"));
336   mixin(bindCode("ovrVector3f_z_get", "D_ovrVector3f_z_get"));
337   mixin(bindCode("new_ovrVector3f", "D_new_ovrVector3f"));
338   mixin(bindCode("delete_ovrVector3f", "D_delete_ovrVector3f"));
339   mixin(bindCode("ovrMatrix4f_M_set", "D_ovrMatrix4f_M_set"));
340   mixin(bindCode("ovrMatrix4f_M_get", "D_ovrMatrix4f_M_get"));
341   mixin(bindCode("new_ovrMatrix4f", "D_new_ovrMatrix4f"));
342   mixin(bindCode("delete_ovrMatrix4f", "D_delete_ovrMatrix4f"));
343   mixin(bindCode("ovrPosef_Orientation_set", "D_ovrPosef_Orientation_set"));
344   mixin(bindCode("ovrPosef_Orientation_get", "D_ovrPosef_Orientation_get"));
345   mixin(bindCode("ovrPosef_Position_set", "D_ovrPosef_Position_set"));
346   mixin(bindCode("ovrPosef_Position_get", "D_ovrPosef_Position_get"));
347   mixin(bindCode("new_ovrPosef", "D_new_ovrPosef"));
348   mixin(bindCode("delete_ovrPosef", "D_delete_ovrPosef"));
349   mixin(bindCode("ovrPoseStatef_Pose_set", "D_ovrPoseStatef_Pose_set"));
350   mixin(bindCode("ovrPoseStatef_Pose_get", "D_ovrPoseStatef_Pose_get"));
351   mixin(bindCode("ovrPoseStatef_AngularVelocity_set", "D_ovrPoseStatef_AngularVelocity_set"));
352   mixin(bindCode("ovrPoseStatef_AngularVelocity_get", "D_ovrPoseStatef_AngularVelocity_get"));
353   mixin(bindCode("ovrPoseStatef_LinearVelocity_set", "D_ovrPoseStatef_LinearVelocity_set"));
354   mixin(bindCode("ovrPoseStatef_LinearVelocity_get", "D_ovrPoseStatef_LinearVelocity_get"));
355   mixin(bindCode("ovrPoseStatef_AngularAcceleration_set", "D_ovrPoseStatef_AngularAcceleration_set"));
356   mixin(bindCode("ovrPoseStatef_AngularAcceleration_get", "D_ovrPoseStatef_AngularAcceleration_get"));
357   mixin(bindCode("ovrPoseStatef_LinearAcceleration_set", "D_ovrPoseStatef_LinearAcceleration_set"));
358   mixin(bindCode("ovrPoseStatef_LinearAcceleration_get", "D_ovrPoseStatef_LinearAcceleration_get"));
359   mixin(bindCode("ovrPoseStatef_TimeInSeconds_set", "D_ovrPoseStatef_TimeInSeconds_set"));
360   mixin(bindCode("ovrPoseStatef_TimeInSeconds_get", "D_ovrPoseStatef_TimeInSeconds_get"));
361   mixin(bindCode("new_ovrPoseStatef", "D_new_ovrPoseStatef"));
362   mixin(bindCode("delete_ovrPoseStatef", "D_delete_ovrPoseStatef"));
363   mixin(bindCode("ovrFovPort_UpTan_set", "D_ovrFovPort_UpTan_set"));
364   mixin(bindCode("ovrFovPort_UpTan_get", "D_ovrFovPort_UpTan_get"));
365   mixin(bindCode("ovrFovPort_DownTan_set", "D_ovrFovPort_DownTan_set"));
366   mixin(bindCode("ovrFovPort_DownTan_get", "D_ovrFovPort_DownTan_get"));
367   mixin(bindCode("ovrFovPort_LeftTan_set", "D_ovrFovPort_LeftTan_set"));
368   mixin(bindCode("ovrFovPort_LeftTan_get", "D_ovrFovPort_LeftTan_get"));
369   mixin(bindCode("ovrFovPort_RightTan_set", "D_ovrFovPort_RightTan_set"));
370   mixin(bindCode("ovrFovPort_RightTan_get", "D_ovrFovPort_RightTan_get"));
371   mixin(bindCode("new_ovrFovPort", "D_new_ovrFovPort"));
372   mixin(bindCode("delete_ovrFovPort", "D_delete_ovrFovPort"));
373   mixin(bindCode("ovrHmdDesc_Handle_set", "D_ovrHmdDesc_Handle_set"));
374   mixin(bindCode("ovrHmdDesc_Handle_get", "D_ovrHmdDesc_Handle_get"));
375   mixin(bindCode("ovrHmdDesc_Type_set", "D_ovrHmdDesc_Type_set"));
376   mixin(bindCode("ovrHmdDesc_Type_get", "D_ovrHmdDesc_Type_get"));
377   mixin(bindCode("ovrHmdDesc_ProductName_set", "D_ovrHmdDesc_ProductName_set"));
378   mixin(bindCode("ovrHmdDesc_ProductName_get", "D_ovrHmdDesc_ProductName_get"));
379   mixin(bindCode("ovrHmdDesc_Manufacturer_set", "D_ovrHmdDesc_Manufacturer_set"));
380   mixin(bindCode("ovrHmdDesc_Manufacturer_get", "D_ovrHmdDesc_Manufacturer_get"));
381   mixin(bindCode("ovrHmdDesc_Caps_set", "D_ovrHmdDesc_Caps_set"));
382   mixin(bindCode("ovrHmdDesc_Caps_get", "D_ovrHmdDesc_Caps_get"));
383   mixin(bindCode("ovrHmdDesc_DistortionCaps_set", "D_ovrHmdDesc_DistortionCaps_set"));
384   mixin(bindCode("ovrHmdDesc_DistortionCaps_get", "D_ovrHmdDesc_DistortionCaps_get"));
385   mixin(bindCode("ovrHmdDesc_Resolution_set", "D_ovrHmdDesc_Resolution_set"));
386   mixin(bindCode("ovrHmdDesc_Resolution_get", "D_ovrHmdDesc_Resolution_get"));
387   mixin(bindCode("ovrHmdDesc_WindowsPos_set", "D_ovrHmdDesc_WindowsPos_set"));
388   mixin(bindCode("ovrHmdDesc_WindowsPos_get", "D_ovrHmdDesc_WindowsPos_get"));
389   mixin(bindCode("ovrHmdDesc_DefaultEyeFov_set", "D_ovrHmdDesc_DefaultEyeFov_set"));
390   mixin(bindCode("ovrHmdDesc_DefaultEyeFov_get", "D_ovrHmdDesc_DefaultEyeFov_get"));
391   mixin(bindCode("ovrHmdDesc_MaxEyeFov_set", "D_ovrHmdDesc_MaxEyeFov_set"));
392   mixin(bindCode("ovrHmdDesc_MaxEyeFov_get", "D_ovrHmdDesc_MaxEyeFov_get"));
393   mixin(bindCode("ovrHmdDesc_EyeRenderOrder_set", "D_ovrHmdDesc_EyeRenderOrder_set"));
394   mixin(bindCode("ovrHmdDesc_EyeRenderOrder_get", "D_ovrHmdDesc_EyeRenderOrder_get"));
395   mixin(bindCode("ovrHmdDesc_DisplayDeviceName_set", "D_ovrHmdDesc_DisplayDeviceName_set"));
396   mixin(bindCode("ovrHmdDesc_DisplayDeviceName_get", "D_ovrHmdDesc_DisplayDeviceName_get"));
397   mixin(bindCode("ovrHmdDesc_DisplayId_set", "D_ovrHmdDesc_DisplayId_set"));
398   mixin(bindCode("ovrHmdDesc_DisplayId_get", "D_ovrHmdDesc_DisplayId_get"));
399   mixin(bindCode("new_ovrHmdDesc", "D_new_ovrHmdDesc"));
400   mixin(bindCode("delete_ovrHmdDesc", "D_delete_ovrHmdDesc"));
401   mixin(bindCode("ovrSensorState_Predicted_set", "D_ovrSensorState_Predicted_set"));
402   mixin(bindCode("ovrSensorState_Predicted_get", "D_ovrSensorState_Predicted_get"));
403   mixin(bindCode("ovrSensorState_Recorded_set", "D_ovrSensorState_Recorded_set"));
404   mixin(bindCode("ovrSensorState_Recorded_get", "D_ovrSensorState_Recorded_get"));
405   mixin(bindCode("ovrSensorState_Temperature_set", "D_ovrSensorState_Temperature_set"));
406   mixin(bindCode("ovrSensorState_Temperature_get", "D_ovrSensorState_Temperature_get"));
407   mixin(bindCode("ovrSensorState_StatusFlags_set", "D_ovrSensorState_StatusFlags_set"));
408   mixin(bindCode("ovrSensorState_StatusFlags_get", "D_ovrSensorState_StatusFlags_get"));
409   mixin(bindCode("new_ovrSensorState", "D_new_ovrSensorState"));
410   mixin(bindCode("delete_ovrSensorState", "D_delete_ovrSensorState"));
411   mixin(bindCode("ovrSensorDesc_VendorId_set", "D_ovrSensorDesc_VendorId_set"));
412   mixin(bindCode("ovrSensorDesc_VendorId_get", "D_ovrSensorDesc_VendorId_get"));
413   mixin(bindCode("ovrSensorDesc_ProductId_set", "D_ovrSensorDesc_ProductId_set"));
414   mixin(bindCode("ovrSensorDesc_ProductId_get", "D_ovrSensorDesc_ProductId_get"));
415   mixin(bindCode("ovrSensorDesc_SerialNumber_set", "D_ovrSensorDesc_SerialNumber_set"));
416   mixin(bindCode("ovrSensorDesc_SerialNumber_get", "D_ovrSensorDesc_SerialNumber_get"));
417   mixin(bindCode("new_ovrSensorDesc", "D_new_ovrSensorDesc"));
418   mixin(bindCode("delete_ovrSensorDesc", "D_delete_ovrSensorDesc"));
419   mixin(bindCode("ovrFrameTiming_DeltaSeconds_set", "D_ovrFrameTiming_DeltaSeconds_set"));
420   mixin(bindCode("ovrFrameTiming_DeltaSeconds_get", "D_ovrFrameTiming_DeltaSeconds_get"));
421   mixin(bindCode("ovrFrameTiming_ThisFrameSeconds_set", "D_ovrFrameTiming_ThisFrameSeconds_set"));
422   mixin(bindCode("ovrFrameTiming_ThisFrameSeconds_get", "D_ovrFrameTiming_ThisFrameSeconds_get"));
423   mixin(bindCode("ovrFrameTiming_TimewarpPointSeconds_set", "D_ovrFrameTiming_TimewarpPointSeconds_set"));
424   mixin(bindCode("ovrFrameTiming_TimewarpPointSeconds_get", "D_ovrFrameTiming_TimewarpPointSeconds_get"));
425   mixin(bindCode("ovrFrameTiming_NextFrameSeconds_set", "D_ovrFrameTiming_NextFrameSeconds_set"));
426   mixin(bindCode("ovrFrameTiming_NextFrameSeconds_get", "D_ovrFrameTiming_NextFrameSeconds_get"));
427   mixin(bindCode("ovrFrameTiming_ScanoutMidpointSeconds_set", "D_ovrFrameTiming_ScanoutMidpointSeconds_set"));
428   mixin(bindCode("ovrFrameTiming_ScanoutMidpointSeconds_get", "D_ovrFrameTiming_ScanoutMidpointSeconds_get"));
429   mixin(bindCode("ovrFrameTiming_EyeScanoutSeconds_set", "D_ovrFrameTiming_EyeScanoutSeconds_set"));
430   mixin(bindCode("ovrFrameTiming_EyeScanoutSeconds_get", "D_ovrFrameTiming_EyeScanoutSeconds_get"));
431   mixin(bindCode("new_ovrFrameTiming", "D_new_ovrFrameTiming"));
432   mixin(bindCode("delete_ovrFrameTiming", "D_delete_ovrFrameTiming"));
433   mixin(bindCode("ovrEyeDesc_Eye_set", "D_ovrEyeDesc_Eye_set"));
434   mixin(bindCode("ovrEyeDesc_Eye_get", "D_ovrEyeDesc_Eye_get"));
435   mixin(bindCode("ovrEyeDesc_TextureSize_set", "D_ovrEyeDesc_TextureSize_set"));
436   mixin(bindCode("ovrEyeDesc_TextureSize_get", "D_ovrEyeDesc_TextureSize_get"));
437   mixin(bindCode("ovrEyeDesc_RenderViewport_set", "D_ovrEyeDesc_RenderViewport_set"));
438   mixin(bindCode("ovrEyeDesc_RenderViewport_get", "D_ovrEyeDesc_RenderViewport_get"));
439   mixin(bindCode("ovrEyeDesc_Fov_set", "D_ovrEyeDesc_Fov_set"));
440   mixin(bindCode("ovrEyeDesc_Fov_get", "D_ovrEyeDesc_Fov_get"));
441   mixin(bindCode("new_ovrEyeDesc", "D_new_ovrEyeDesc"));
442   mixin(bindCode("delete_ovrEyeDesc", "D_delete_ovrEyeDesc"));
443   mixin(bindCode("ovrEyeRenderDesc_Desc_set", "D_ovrEyeRenderDesc_Desc_set"));
444   mixin(bindCode("ovrEyeRenderDesc_Desc_get", "D_ovrEyeRenderDesc_Desc_get"));
445   mixin(bindCode("ovrEyeRenderDesc_DistortedViewport_set", "D_ovrEyeRenderDesc_DistortedViewport_set"));
446   mixin(bindCode("ovrEyeRenderDesc_DistortedViewport_get", "D_ovrEyeRenderDesc_DistortedViewport_get"));
447   mixin(bindCode("ovrEyeRenderDesc_PixelsPerTanAngleAtCenter_set", "D_ovrEyeRenderDesc_PixelsPerTanAngleAtCenter_set"));
448   mixin(bindCode("ovrEyeRenderDesc_PixelsPerTanAngleAtCenter_get", "D_ovrEyeRenderDesc_PixelsPerTanAngleAtCenter_get"));
449   mixin(bindCode("ovrEyeRenderDesc_ViewAdjust_set", "D_ovrEyeRenderDesc_ViewAdjust_set"));
450   mixin(bindCode("ovrEyeRenderDesc_ViewAdjust_get", "D_ovrEyeRenderDesc_ViewAdjust_get"));
451   mixin(bindCode("new_ovrEyeRenderDesc", "D_new_ovrEyeRenderDesc"));
452   mixin(bindCode("delete_ovrEyeRenderDesc", "D_delete_ovrEyeRenderDesc"));
453   mixin(bindCode("ovrRenderAPIConfigHeader_API_set", "D_ovrRenderAPIConfigHeader_API_set"));
454   mixin(bindCode("ovrRenderAPIConfigHeader_API_get", "D_ovrRenderAPIConfigHeader_API_get"));
455   mixin(bindCode("ovrRenderAPIConfigHeader_RTSize_set", "D_ovrRenderAPIConfigHeader_RTSize_set"));
456   mixin(bindCode("ovrRenderAPIConfigHeader_RTSize_get", "D_ovrRenderAPIConfigHeader_RTSize_get"));
457   mixin(bindCode("ovrRenderAPIConfigHeader_Multisample_set", "D_ovrRenderAPIConfigHeader_Multisample_set"));
458   mixin(bindCode("ovrRenderAPIConfigHeader_Multisample_get", "D_ovrRenderAPIConfigHeader_Multisample_get"));
459   mixin(bindCode("new_ovrRenderAPIConfigHeader", "D_new_ovrRenderAPIConfigHeader"));
460   mixin(bindCode("delete_ovrRenderAPIConfigHeader", "D_delete_ovrRenderAPIConfigHeader"));
461   mixin(bindCode("ovrRenderAPIConfig_Header_set", "D_ovrRenderAPIConfig_Header_set"));
462   mixin(bindCode("ovrRenderAPIConfig_Header_get", "D_ovrRenderAPIConfig_Header_get"));
463   mixin(bindCode("ovrRenderAPIConfig_PlatformData_set", "D_ovrRenderAPIConfig_PlatformData_set"));
464   mixin(bindCode("ovrRenderAPIConfig_PlatformData_get", "D_ovrRenderAPIConfig_PlatformData_get"));
465   mixin(bindCode("new_ovrRenderAPIConfig", "D_new_ovrRenderAPIConfig"));
466   mixin(bindCode("delete_ovrRenderAPIConfig", "D_delete_ovrRenderAPIConfig"));
467   mixin(bindCode("ovrTextureHeader_API_set", "D_ovrTextureHeader_API_set"));
468   mixin(bindCode("ovrTextureHeader_API_get", "D_ovrTextureHeader_API_get"));
469   mixin(bindCode("ovrTextureHeader_TextureSize_set", "D_ovrTextureHeader_TextureSize_set"));
470   mixin(bindCode("ovrTextureHeader_TextureSize_get", "D_ovrTextureHeader_TextureSize_get"));
471   mixin(bindCode("ovrTextureHeader_RenderViewport_set", "D_ovrTextureHeader_RenderViewport_set"));
472   mixin(bindCode("ovrTextureHeader_RenderViewport_get", "D_ovrTextureHeader_RenderViewport_get"));
473   mixin(bindCode("new_ovrTextureHeader", "D_new_ovrTextureHeader"));
474   mixin(bindCode("delete_ovrTextureHeader", "D_delete_ovrTextureHeader"));
475   mixin(bindCode("ovrTexture_Header_set", "D_ovrTexture_Header_set"));
476   mixin(bindCode("ovrTexture_Header_get", "D_ovrTexture_Header_get"));
477   mixin(bindCode("ovrTexture_PlatformData_set", "D_ovrTexture_PlatformData_set"));
478   mixin(bindCode("ovrTexture_PlatformData_get", "D_ovrTexture_PlatformData_get"));
479   mixin(bindCode("new_ovrTexture", "D_new_ovrTexture"));
480   mixin(bindCode("delete_ovrTexture", "D_delete_ovrTexture"));
481   mixin(bindCode("ovr_Initialize", "D_ovr_Initialize"));
482   mixin(bindCode("ovr_Shutdown", "D_ovr_Shutdown"));
483   mixin(bindCode("ovrHmd_Detect", "D_ovrHmd_Detect"));
484   mixin(bindCode("ovrHmd_Create", "D_ovrHmd_Create"));
485   mixin(bindCode("ovrHmd_Destroy", "D_ovrHmd_Destroy"));
486   mixin(bindCode("ovrHmd_CreateDebug", "D_ovrHmd_CreateDebug"));
487   mixin(bindCode("ovrHmd_GetLastError", "D_ovrHmd_GetLastError"));
488   mixin(bindCode("ovrHmd_StartSensor", "D_ovrHmd_StartSensor"));
489   mixin(bindCode("ovrHmd_StopSensor", "D_ovrHmd_StopSensor"));
490   mixin(bindCode("ovrHmd_ResetSensor", "D_ovrHmd_ResetSensor"));
491   mixin(bindCode("ovrHmd_GetSensorState", "D_ovrHmd_GetSensorState"));
492   mixin(bindCode("ovrHmd_GetSensorDesc", "D_ovrHmd_GetSensorDesc"));
493   mixin(bindCode("ovrHmd_GetDesc", "D_ovrHmd_GetDesc"));
494   mixin(bindCode("ovrHmd_GetFovTextureSize", "D_ovrHmd_GetFovTextureSize"));
495   mixin(bindCode("ovrHmd_ConfigureRendering", "D_ovrHmd_ConfigureRendering"));
496   mixin(bindCode("ovrHmd_BeginFrame", "D_ovrHmd_BeginFrame"));
497   mixin(bindCode("ovrHmd_EndFrame", "D_ovrHmd_EndFrame"));
498   mixin(bindCode("ovrHmd_BeginEyeRender", "D_ovrHmd_BeginEyeRender"));
499   mixin(bindCode("ovrHmd_EndEyeRender", "D_ovrHmd_EndEyeRender"));
500   mixin(bindCode("ovrHmd_GetRenderDesc", "D_ovrHmd_GetRenderDesc"));
501   mixin(bindCode("ovrDistortionVertex_Pos_set", "D_ovrDistortionVertex_Pos_set"));
502   mixin(bindCode("ovrDistortionVertex_Pos_get", "D_ovrDistortionVertex_Pos_get"));
503   mixin(bindCode("ovrDistortionVertex_TimeWarpFactor_set", "D_ovrDistortionVertex_TimeWarpFactor_set"));
504   mixin(bindCode("ovrDistortionVertex_TimeWarpFactor_get", "D_ovrDistortionVertex_TimeWarpFactor_get"));
505   mixin(bindCode("ovrDistortionVertex_VignetteFactor_set", "D_ovrDistortionVertex_VignetteFactor_set"));
506   mixin(bindCode("ovrDistortionVertex_VignetteFactor_get", "D_ovrDistortionVertex_VignetteFactor_get"));
507   mixin(bindCode("ovrDistortionVertex_TexR_set", "D_ovrDistortionVertex_TexR_set"));
508   mixin(bindCode("ovrDistortionVertex_TexR_get", "D_ovrDistortionVertex_TexR_get"));
509   mixin(bindCode("ovrDistortionVertex_TexG_set", "D_ovrDistortionVertex_TexG_set"));
510   mixin(bindCode("ovrDistortionVertex_TexG_get", "D_ovrDistortionVertex_TexG_get"));
511   mixin(bindCode("ovrDistortionVertex_TexB_set", "D_ovrDistortionVertex_TexB_set"));
512   mixin(bindCode("ovrDistortionVertex_TexB_get", "D_ovrDistortionVertex_TexB_get"));
513   mixin(bindCode("new_ovrDistortionVertex", "D_new_ovrDistortionVertex"));
514   mixin(bindCode("delete_ovrDistortionVertex", "D_delete_ovrDistortionVertex"));
515   mixin(bindCode("ovrDistortionMesh_pVertexData_set", "D_ovrDistortionMesh_pVertexData_set"));
516   mixin(bindCode("ovrDistortionMesh_pVertexData_get", "D_ovrDistortionMesh_pVertexData_get"));
517   mixin(bindCode("ovrDistortionMesh_pIndexData_set", "D_ovrDistortionMesh_pIndexData_set"));
518   mixin(bindCode("ovrDistortionMesh_pIndexData_get", "D_ovrDistortionMesh_pIndexData_get"));
519   mixin(bindCode("ovrDistortionMesh_VertexCount_set", "D_ovrDistortionMesh_VertexCount_set"));
520   mixin(bindCode("ovrDistortionMesh_VertexCount_get", "D_ovrDistortionMesh_VertexCount_get"));
521   mixin(bindCode("ovrDistortionMesh_IndexCount_set", "D_ovrDistortionMesh_IndexCount_set"));
522   mixin(bindCode("ovrDistortionMesh_IndexCount_get", "D_ovrDistortionMesh_IndexCount_get"));
523   mixin(bindCode("new_ovrDistortionMesh", "D_new_ovrDistortionMesh"));
524   mixin(bindCode("delete_ovrDistortionMesh", "D_delete_ovrDistortionMesh"));
525   mixin(bindCode("ovrHmd_CreateDistortionMesh", "D_ovrHmd_CreateDistortionMesh"));
526   mixin(bindCode("ovrHmd_DestroyDistortionMesh", "D_ovrHmd_DestroyDistortionMesh"));
527   mixin(bindCode("ovrHmd_GetRenderScaleAndOffset", "D_ovrHmd_GetRenderScaleAndOffset"));
528   mixin(bindCode("ovrHmd_GetFrameTiming", "D_ovrHmd_GetFrameTiming"));
529   mixin(bindCode("ovrHmd_BeginFrameTiming", "D_ovrHmd_BeginFrameTiming"));
530   mixin(bindCode("ovrHmd_EndFrameTiming", "D_ovrHmd_EndFrameTiming"));
531   mixin(bindCode("ovrHmd_ResetFrameTiming", "D_ovrHmd_ResetFrameTiming"));
532   mixin(bindCode("ovrHmd_GetEyePose", "D_ovrHmd_GetEyePose"));
533   mixin(bindCode("ovrHmd_GetEyeTimewarpMatrices", "D_ovrHmd_GetEyeTimewarpMatrices"));
534   mixin(bindCode("ovrMatrix4f_Projection", "D_ovrMatrix4f_Projection"));
535   mixin(bindCode("ovrMatrix4f_OrthoSubProjection", "D_ovrMatrix4f_OrthoSubProjection"));
536   mixin(bindCode("ovr_GetTimeInSeconds", "D_ovr_GetTimeInSeconds"));
537   mixin(bindCode("ovr_WaitTillTime", "D_ovr_WaitTillTime"));
538   mixin(bindCode("ovrHmd_ProcessLatencyTest", "D_ovrHmd_ProcessLatencyTest"));
539   mixin(bindCode("ovrHmd_GetLatencyTestResult", "D_ovrHmd_GetLatencyTestResult"));
540   mixin(bindCode("ovrHmd_GetMeasuredLatencyTest2", "D_ovrHmd_GetMeasuredLatencyTest2"));
541   mixin(bindCode("OVR_KEY_USER_get", "D_OVR_KEY_USER_get"));
542   mixin(bindCode("OVR_KEY_NAME_get", "D_OVR_KEY_NAME_get"));
543   mixin(bindCode("OVR_KEY_GENDER_get", "D_OVR_KEY_GENDER_get"));
544   mixin(bindCode("OVR_KEY_PLAYER_HEIGHT_get", "D_OVR_KEY_PLAYER_HEIGHT_get"));
545   mixin(bindCode("OVR_KEY_EYE_HEIGHT_get", "D_OVR_KEY_EYE_HEIGHT_get"));
546   mixin(bindCode("OVR_KEY_IPD_get", "D_OVR_KEY_IPD_get"));
547   mixin(bindCode("OVR_KEY_NECK_TO_EYE_HORIZONTAL_get", "D_OVR_KEY_NECK_TO_EYE_HORIZONTAL_get"));
548   mixin(bindCode("OVR_KEY_NECK_TO_EYE_VERTICAL_get", "D_OVR_KEY_NECK_TO_EYE_VERTICAL_get"));
549   mixin(bindCode("OVR_DEFAULT_GENDER_get", "D_OVR_DEFAULT_GENDER_get"));
550   mixin(bindCode("OVR_DEFAULT_PLAYER_HEIGHT_get", "D_OVR_DEFAULT_PLAYER_HEIGHT_get"));
551   mixin(bindCode("OVR_DEFAULT_EYE_HEIGHT_get", "D_OVR_DEFAULT_EYE_HEIGHT_get"));
552   mixin(bindCode("OVR_DEFAULT_IPD_get", "D_OVR_DEFAULT_IPD_get"));
553   mixin(bindCode("OVR_DEFAULT_NECK_TO_EYE_HORIZONTAL_get", "D_OVR_DEFAULT_NECK_TO_EYE_HORIZONTAL_get"));
554   mixin(bindCode("OVR_DEFAULT_NECK_TO_EYE_VERTICAL_get", "D_OVR_DEFAULT_NECK_TO_EYE_VERTICAL_get"));
555   mixin(bindCode("ovrHmd_GetFloat", "D_ovrHmd_GetFloat"));
556   mixin(bindCode("ovrHmd_SetFloat", "D_ovrHmd_SetFloat"));
557   mixin(bindCode("ovrHmd_GetFloatArray", "D_ovrHmd_GetFloatArray"));
558   mixin(bindCode("ovrHmd_SetFloatArray", "D_ovrHmd_SetFloatArray"));
559   mixin(bindCode("ovrHmd_GetString", "D_ovrHmd_GetString"));
560   mixin(bindCode("ovrHmd_GetArraySize", "D_ovrHmd_GetArraySize"));
561   mixin(bindCode("ovrGLConfigData_Header_set", "D_ovrGLConfigData_Header_set"));
562   mixin(bindCode("ovrGLConfigData_Header_get", "D_ovrGLConfigData_Header_get"));
563   mixin(bindCode("ovrGLConfigData_Window_set", "D_ovrGLConfigData_Window_set"));
564   mixin(bindCode("ovrGLConfigData_Window_get", "D_ovrGLConfigData_Window_get"));
565   mixin(bindCode("ovrGLConfigData_WglContext_set", "D_ovrGLConfigData_WglContext_set"));
566   mixin(bindCode("ovrGLConfigData_WglContext_get", "D_ovrGLConfigData_WglContext_get"));
567   mixin(bindCode("ovrGLConfigData_GdiDc_set", "D_ovrGLConfigData_GdiDc_set"));
568   mixin(bindCode("ovrGLConfigData_GdiDc_get", "D_ovrGLConfigData_GdiDc_get"));
569   mixin(bindCode("new_ovrGLConfigData", "D_new_ovrGLConfigData"));
570   mixin(bindCode("delete_ovrGLConfigData", "D_delete_ovrGLConfigData"));
571   mixin(bindCode("ovrGLConfig_Config_set", "D_ovrGLConfig_Config_set"));
572   mixin(bindCode("ovrGLConfig_Config_get", "D_ovrGLConfig_Config_get"));
573   mixin(bindCode("ovrGLConfig_OGL_set", "D_ovrGLConfig_OGL_set"));
574   mixin(bindCode("ovrGLConfig_OGL_get", "D_ovrGLConfig_OGL_get"));
575   mixin(bindCode("new_ovrGLConfig", "D_new_ovrGLConfig"));
576   mixin(bindCode("delete_ovrGLConfig", "D_delete_ovrGLConfig"));
577   mixin(bindCode("ovrGLTextureData_Header_set", "D_ovrGLTextureData_Header_set"));
578   mixin(bindCode("ovrGLTextureData_Header_get", "D_ovrGLTextureData_Header_get"));
579   mixin(bindCode("ovrGLTextureData_TexId_set", "D_ovrGLTextureData_TexId_set"));
580   mixin(bindCode("ovrGLTextureData_TexId_get", "D_ovrGLTextureData_TexId_get"));
581   mixin(bindCode("new_ovrGLTextureData", "D_new_ovrGLTextureData"));
582   mixin(bindCode("delete_ovrGLTextureData", "D_delete_ovrGLTextureData"));
583   mixin(bindCode("ovrGLTexture_Texture_set", "D_ovrGLTexture_Texture_set"));
584   mixin(bindCode("ovrGLTexture_Texture_get", "D_ovrGLTexture_Texture_get"));
585   mixin(bindCode("ovrGLTexture_OGL_set", "D_ovrGLTexture_OGL_set"));
586   mixin(bindCode("ovrGLTexture_OGL_get", "D_ovrGLTexture_OGL_get"));
587   mixin(bindCode("new_ovrGLTexture", "D_new_ovrGLTexture"));
588   mixin(bindCode("delete_ovrGLTexture", "D_delete_ovrGLTexture"));
589 }
590 
591 //#if !defined(SWIG_D_NO_EXCEPTION_HELPER)
592 extern(C) void function(
593   SwigExceptionCallback exceptionCallback,
594   SwigExceptionCallback illegalArgumentCallback,
595   SwigExceptionCallback illegalElementCallback,
596   SwigExceptionCallback ioCallback,
597   SwigExceptionCallback noSuchElementCallback) swigRegisterExceptionCallbacksovr;
598 //#endif // SWIG_D_NO_EXCEPTION_HELPER
599 
600 //#if !defined(SWIG_D_NO_STRING_HELPER)
601 extern(C) void function(SwigStringCallback callback) swigRegisterStringCallbackovr;
602 //#endif // SWIG_D_NO_STRING_HELPER
603 
604 
605 mixin template SwigOperatorDefinitions() {
606   public override bool opEquals(Object o) {
607     if (auto rhs = cast(typeof(this))o) {
608       if (swigCPtr == rhs.swigCPtr) return true;
609       static if (is(typeof(swigOpEquals(rhs)))) {
610         return swigOpEquals(rhs);
611       } else {
612         return false; 
613       }
614     }
615     return super.opEquals(o);
616   }
617 
618 
619 }
620 
621 
622 private class SwigExceptionHelper {
623   static this() {
624 	// The D1/Tango version maps C++ exceptions to multiple exception types.
625     swigRegisterExceptionCallbacksovr(
626       &setException,
627       &setException,
628       &setException,
629       &setException,
630       &setException
631     );
632   }
633 
634   static void setException(const char* message) {
635     auto exception = new object.Exception(std.conv.to!string(message).idup);
636     exception.next = SwigPendingException.retrieve();
637     SwigPendingException.set(exception);
638   }
639 }
640 
641 package struct SwigPendingException {
642 public:
643   static this() {
644     m_sPendingCount = 0;
645     m_sPendingException = null;
646   }
647 
648   static bool isPending() {
649     bool pending = false;
650     if (m_sPendingCount > 0) {
651       if (m_sPendingException !is null) {
652         pending = true;
653       }
654     }
655     return pending;
656   }
657 
658   static void set(object.Exception e) {
659     if (m_sPendingException !is null) {
660       throw new object.Exception("FATAL: An earlier pending exception from C/C++ code " ~
661         "was missed and thus not thrown (" ~ m_sPendingException.classinfo.name ~
662         ": " ~ m_sPendingException.msg ~ ")!", e);
663     }
664 
665     m_sPendingException = e;
666     synchronized {
667       ++m_sPendingCount;
668     }
669   }
670 
671   static object.Exception retrieve() {
672     object.Exception e = null;
673     if (m_sPendingCount > 0) {
674       if (m_sPendingException !is null) {
675         e = m_sPendingException;
676         m_sPendingException = null;
677         synchronized {
678           --m_sPendingCount;
679         }
680       }
681     }
682     return e;
683   }
684 
685 private:
686   // The pending exception counter is stored thread-global.
687   static shared int m_sPendingCount;
688 
689   // The reference to the pending exception (if any) is stored thread-local.
690   static object.Exception m_sPendingException;
691 }
692 alias void function(const char* message) SwigExceptionCallback;
693 
694 
695 private class SwigStringHelper {
696   static this() {
697     swigRegisterStringCallbackovr(&createString);
698   }
699 
700   static const(char)* createString(const(char*) cString) {
701     // We are effectively dup'ing the string here.
702     // TODO: Is this also correct for D2/Phobos?
703     return std..string.toStringz(std.conv.to!string(cString));
704   }
705 }
706 alias const(char)* function(const(char*) cString) SwigStringCallback;
707 
708 
709 template SwigExternC(T) if (is(typeof(*(T.init)) P == function)) {
710   static if (is(typeof(*(T.init)) R == return)) {
711     static if (is(typeof(*(T.init)) P == function)) {
712       alias extern(C) R function(P) SwigExternC;
713     }
714   }
715 }
716 
717 extern(C) void function(void* jarg1, int jarg2) ovrVector2i_x_set;
718 extern(C) int function(void* jarg1) ovrVector2i_x_get;
719 extern(C) void function(void* jarg1, int jarg2) ovrVector2i_y_set;
720 extern(C) int function(void* jarg1) ovrVector2i_y_get;
721 extern(C) void* function() new_ovrVector2i;
722 extern(C) void function(void* jarg1) delete_ovrVector2i;
723 extern(C) void function(void* jarg1, int jarg2) ovrSizei_w_set;
724 extern(C) int function(void* jarg1) ovrSizei_w_get;
725 extern(C) void function(void* jarg1, int jarg2) ovrSizei_h_set;
726 extern(C) int function(void* jarg1) ovrSizei_h_get;
727 extern(C) void* function() new_ovrSizei;
728 extern(C) void function(void* jarg1) delete_ovrSizei;
729 extern(C) void function(void* jarg1, void* jarg2) ovrRecti_Pos_set;
730 extern(C) void* function(void* jarg1) ovrRecti_Pos_get;
731 extern(C) void function(void* jarg1, void* jarg2) ovrRecti_Size_set;
732 extern(C) void* function(void* jarg1) ovrRecti_Size_get;
733 extern(C) void* function() new_ovrRecti;
734 extern(C) void function(void* jarg1) delete_ovrRecti;
735 extern(C) void function(void* jarg1, float jarg2) ovrQuatf_x_set;
736 extern(C) float function(void* jarg1) ovrQuatf_x_get;
737 extern(C) void function(void* jarg1, float jarg2) ovrQuatf_y_set;
738 extern(C) float function(void* jarg1) ovrQuatf_y_get;
739 extern(C) void function(void* jarg1, float jarg2) ovrQuatf_z_set;
740 extern(C) float function(void* jarg1) ovrQuatf_z_get;
741 extern(C) void function(void* jarg1, float jarg2) ovrQuatf_w_set;
742 extern(C) float function(void* jarg1) ovrQuatf_w_get;
743 extern(C) void* function() new_ovrQuatf;
744 extern(C) void function(void* jarg1) delete_ovrQuatf;
745 extern(C) void function(void* jarg1, float jarg2) ovrVector2f_x_set;
746 extern(C) float function(void* jarg1) ovrVector2f_x_get;
747 extern(C) void function(void* jarg1, float jarg2) ovrVector2f_y_set;
748 extern(C) float function(void* jarg1) ovrVector2f_y_get;
749 extern(C) void* function() new_ovrVector2f;
750 extern(C) void function(void* jarg1) delete_ovrVector2f;
751 extern(C) void function(void* jarg1, float jarg2) ovrVector3f_x_set;
752 extern(C) float function(void* jarg1) ovrVector3f_x_get;
753 extern(C) void function(void* jarg1, float jarg2) ovrVector3f_y_set;
754 extern(C) float function(void* jarg1) ovrVector3f_y_get;
755 extern(C) void function(void* jarg1, float jarg2) ovrVector3f_z_set;
756 extern(C) float function(void* jarg1) ovrVector3f_z_get;
757 extern(C) void* function() new_ovrVector3f;
758 extern(C) void function(void* jarg1) delete_ovrVector3f;
759 extern(C) void function(void* jarg1, void* jarg2) ovrMatrix4f_M_set;
760 extern(C) void* function(void* jarg1) ovrMatrix4f_M_get;
761 extern(C) void* function() new_ovrMatrix4f;
762 extern(C) void function(void* jarg1) delete_ovrMatrix4f;
763 extern(C) void function(void* jarg1, void* jarg2) ovrPosef_Orientation_set;
764 extern(C) void* function(void* jarg1) ovrPosef_Orientation_get;
765 extern(C) void function(void* jarg1, void* jarg2) ovrPosef_Position_set;
766 extern(C) void* function(void* jarg1) ovrPosef_Position_get;
767 extern(C) void* function() new_ovrPosef;
768 extern(C) void function(void* jarg1) delete_ovrPosef;
769 extern(C) void function(void* jarg1, void* jarg2) ovrPoseStatef_Pose_set;
770 extern(C) void* function(void* jarg1) ovrPoseStatef_Pose_get;
771 extern(C) void function(void* jarg1, void* jarg2) ovrPoseStatef_AngularVelocity_set;
772 extern(C) void* function(void* jarg1) ovrPoseStatef_AngularVelocity_get;
773 extern(C) void function(void* jarg1, void* jarg2) ovrPoseStatef_LinearVelocity_set;
774 extern(C) void* function(void* jarg1) ovrPoseStatef_LinearVelocity_get;
775 extern(C) void function(void* jarg1, void* jarg2) ovrPoseStatef_AngularAcceleration_set;
776 extern(C) void* function(void* jarg1) ovrPoseStatef_AngularAcceleration_get;
777 extern(C) void function(void* jarg1, void* jarg2) ovrPoseStatef_LinearAcceleration_set;
778 extern(C) void* function(void* jarg1) ovrPoseStatef_LinearAcceleration_get;
779 extern(C) void function(void* jarg1, double jarg2) ovrPoseStatef_TimeInSeconds_set;
780 extern(C) double function(void* jarg1) ovrPoseStatef_TimeInSeconds_get;
781 extern(C) void* function() new_ovrPoseStatef;
782 extern(C) void function(void* jarg1) delete_ovrPoseStatef;
783 extern(C) void function(void* jarg1, float jarg2) ovrFovPort_UpTan_set;
784 extern(C) float function(void* jarg1) ovrFovPort_UpTan_get;
785 extern(C) void function(void* jarg1, float jarg2) ovrFovPort_DownTan_set;
786 extern(C) float function(void* jarg1) ovrFovPort_DownTan_get;
787 extern(C) void function(void* jarg1, float jarg2) ovrFovPort_LeftTan_set;
788 extern(C) float function(void* jarg1) ovrFovPort_LeftTan_get;
789 extern(C) void function(void* jarg1, float jarg2) ovrFovPort_RightTan_set;
790 extern(C) float function(void* jarg1) ovrFovPort_RightTan_get;
791 extern(C) void* function() new_ovrFovPort;
792 extern(C) void function(void* jarg1) delete_ovrFovPort;
793 extern(C) void function(void* jarg1, void* jarg2) ovrHmdDesc_Handle_set;
794 extern(C) void* function(void* jarg1) ovrHmdDesc_Handle_get;
795 extern(C) void function(void* jarg1, int jarg2) ovrHmdDesc_Type_set;
796 extern(C) int function(void* jarg1) ovrHmdDesc_Type_get;
797 extern(C) void function(void* jarg1, const(char)* jarg2) ovrHmdDesc_ProductName_set;
798 extern(C) const(char)* function(void* jarg1) ovrHmdDesc_ProductName_get;
799 extern(C) void function(void* jarg1, const(char)* jarg2) ovrHmdDesc_Manufacturer_set;
800 extern(C) const(char)* function(void* jarg1) ovrHmdDesc_Manufacturer_get;
801 extern(C) void function(void* jarg1, uint jarg2) ovrHmdDesc_Caps_set;
802 extern(C) uint function(void* jarg1) ovrHmdDesc_Caps_get;
803 extern(C) void function(void* jarg1, uint jarg2) ovrHmdDesc_DistortionCaps_set;
804 extern(C) uint function(void* jarg1) ovrHmdDesc_DistortionCaps_get;
805 extern(C) void function(void* jarg1, void* jarg2) ovrHmdDesc_Resolution_set;
806 extern(C) void* function(void* jarg1) ovrHmdDesc_Resolution_get;
807 extern(C) void function(void* jarg1, void* jarg2) ovrHmdDesc_WindowsPos_set;
808 extern(C) void* function(void* jarg1) ovrHmdDesc_WindowsPos_get;
809 extern(C) void function(void* jarg1, void* jarg2) ovrHmdDesc_DefaultEyeFov_set;
810 extern(C) void* function(void* jarg1) ovrHmdDesc_DefaultEyeFov_get;
811 extern(C) void function(void* jarg1, void* jarg2) ovrHmdDesc_MaxEyeFov_set;
812 extern(C) void* function(void* jarg1) ovrHmdDesc_MaxEyeFov_get;
813 extern(C) void function(void* jarg1, void* jarg2) ovrHmdDesc_EyeRenderOrder_set;
814 extern(C) void* function(void* jarg1) ovrHmdDesc_EyeRenderOrder_get;
815 extern(C) void function(void* jarg1, const(char)* jarg2) ovrHmdDesc_DisplayDeviceName_set;
816 extern(C) const(char)* function(void* jarg1) ovrHmdDesc_DisplayDeviceName_get;
817 extern(C) void function(void* jarg1, core.stdc.config.c_long jarg2) ovrHmdDesc_DisplayId_set;
818 extern(C) core.stdc.config.c_long function(void* jarg1) ovrHmdDesc_DisplayId_get;
819 extern(C) void* function() new_ovrHmdDesc;
820 extern(C) void function(void* jarg1) delete_ovrHmdDesc;
821 extern(C) void function(void* jarg1, void* jarg2) ovrSensorState_Predicted_set;
822 extern(C) void* function(void* jarg1) ovrSensorState_Predicted_get;
823 extern(C) void function(void* jarg1, void* jarg2) ovrSensorState_Recorded_set;
824 extern(C) void* function(void* jarg1) ovrSensorState_Recorded_get;
825 extern(C) void function(void* jarg1, float jarg2) ovrSensorState_Temperature_set;
826 extern(C) float function(void* jarg1) ovrSensorState_Temperature_get;
827 extern(C) void function(void* jarg1, uint jarg2) ovrSensorState_StatusFlags_set;
828 extern(C) uint function(void* jarg1) ovrSensorState_StatusFlags_get;
829 extern(C) void* function() new_ovrSensorState;
830 extern(C) void function(void* jarg1) delete_ovrSensorState;
831 extern(C) void function(void* jarg1, short jarg2) ovrSensorDesc_VendorId_set;
832 extern(C) short function(void* jarg1) ovrSensorDesc_VendorId_get;
833 extern(C) void function(void* jarg1, short jarg2) ovrSensorDesc_ProductId_set;
834 extern(C) short function(void* jarg1) ovrSensorDesc_ProductId_get;
835 extern(C) void function(void* jarg1, const(char)* jarg2) ovrSensorDesc_SerialNumber_set;
836 extern(C) const(char)* function(void* jarg1) ovrSensorDesc_SerialNumber_get;
837 extern(C) void* function() new_ovrSensorDesc;
838 extern(C) void function(void* jarg1) delete_ovrSensorDesc;
839 extern(C) void function(void* jarg1, float jarg2) ovrFrameTiming_DeltaSeconds_set;
840 extern(C) float function(void* jarg1) ovrFrameTiming_DeltaSeconds_get;
841 extern(C) void function(void* jarg1, double jarg2) ovrFrameTiming_ThisFrameSeconds_set;
842 extern(C) double function(void* jarg1) ovrFrameTiming_ThisFrameSeconds_get;
843 extern(C) void function(void* jarg1, double jarg2) ovrFrameTiming_TimewarpPointSeconds_set;
844 extern(C) double function(void* jarg1) ovrFrameTiming_TimewarpPointSeconds_get;
845 extern(C) void function(void* jarg1, double jarg2) ovrFrameTiming_NextFrameSeconds_set;
846 extern(C) double function(void* jarg1) ovrFrameTiming_NextFrameSeconds_get;
847 extern(C) void function(void* jarg1, double jarg2) ovrFrameTiming_ScanoutMidpointSeconds_set;
848 extern(C) double function(void* jarg1) ovrFrameTiming_ScanoutMidpointSeconds_get;
849 extern(C) void function(void* jarg1, void* jarg2) ovrFrameTiming_EyeScanoutSeconds_set;
850 extern(C) void* function(void* jarg1) ovrFrameTiming_EyeScanoutSeconds_get;
851 extern(C) void* function() new_ovrFrameTiming;
852 extern(C) void function(void* jarg1) delete_ovrFrameTiming;
853 extern(C) void function(void* jarg1, int jarg2) ovrEyeDesc_Eye_set;
854 extern(C) int function(void* jarg1) ovrEyeDesc_Eye_get;
855 extern(C) void function(void* jarg1, void* jarg2) ovrEyeDesc_TextureSize_set;
856 extern(C) void* function(void* jarg1) ovrEyeDesc_TextureSize_get;
857 extern(C) void function(void* jarg1, void* jarg2) ovrEyeDesc_RenderViewport_set;
858 extern(C) void* function(void* jarg1) ovrEyeDesc_RenderViewport_get;
859 extern(C) void function(void* jarg1, void* jarg2) ovrEyeDesc_Fov_set;
860 extern(C) void* function(void* jarg1) ovrEyeDesc_Fov_get;
861 extern(C) void* function() new_ovrEyeDesc;
862 extern(C) void function(void* jarg1) delete_ovrEyeDesc;
863 extern(C) void function(void* jarg1, void* jarg2) ovrEyeRenderDesc_Desc_set;
864 extern(C) void* function(void* jarg1) ovrEyeRenderDesc_Desc_get;
865 extern(C) void function(void* jarg1, void* jarg2) ovrEyeRenderDesc_DistortedViewport_set;
866 extern(C) void* function(void* jarg1) ovrEyeRenderDesc_DistortedViewport_get;
867 extern(C) void function(void* jarg1, void* jarg2) ovrEyeRenderDesc_PixelsPerTanAngleAtCenter_set;
868 extern(C) void* function(void* jarg1) ovrEyeRenderDesc_PixelsPerTanAngleAtCenter_get;
869 extern(C) void function(void* jarg1, void* jarg2) ovrEyeRenderDesc_ViewAdjust_set;
870 extern(C) void* function(void* jarg1) ovrEyeRenderDesc_ViewAdjust_get;
871 extern(C) void* function() new_ovrEyeRenderDesc;
872 extern(C) void function(void* jarg1) delete_ovrEyeRenderDesc;
873 extern(C) void function(void* jarg1, int jarg2) ovrRenderAPIConfigHeader_API_set;
874 extern(C) int function(void* jarg1) ovrRenderAPIConfigHeader_API_get;
875 extern(C) void function(void* jarg1, void* jarg2) ovrRenderAPIConfigHeader_RTSize_set;
876 extern(C) void* function(void* jarg1) ovrRenderAPIConfigHeader_RTSize_get;
877 extern(C) void function(void* jarg1, int jarg2) ovrRenderAPIConfigHeader_Multisample_set;
878 extern(C) int function(void* jarg1) ovrRenderAPIConfigHeader_Multisample_get;
879 extern(C) void* function() new_ovrRenderAPIConfigHeader;
880 extern(C) void function(void* jarg1) delete_ovrRenderAPIConfigHeader;
881 extern(C) void function(void* jarg1, void* jarg2) ovrRenderAPIConfig_Header_set;
882 extern(C) void* function(void* jarg1) ovrRenderAPIConfig_Header_get;
883 extern(C) void function(void* jarg1, void* jarg2) ovrRenderAPIConfig_PlatformData_set;
884 extern(C) void* function(void* jarg1) ovrRenderAPIConfig_PlatformData_get;
885 extern(C) void* function() new_ovrRenderAPIConfig;
886 extern(C) void function(void* jarg1) delete_ovrRenderAPIConfig;
887 extern(C) void function(void* jarg1, int jarg2) ovrTextureHeader_API_set;
888 extern(C) int function(void* jarg1) ovrTextureHeader_API_get;
889 extern(C) void function(void* jarg1, void* jarg2) ovrTextureHeader_TextureSize_set;
890 extern(C) void* function(void* jarg1) ovrTextureHeader_TextureSize_get;
891 extern(C) void function(void* jarg1, void* jarg2) ovrTextureHeader_RenderViewport_set;
892 extern(C) void* function(void* jarg1) ovrTextureHeader_RenderViewport_get;
893 extern(C) void* function() new_ovrTextureHeader;
894 extern(C) void function(void* jarg1) delete_ovrTextureHeader;
895 extern(C) void function(void* jarg1, void* jarg2) ovrTexture_Header_set;
896 extern(C) void* function(void* jarg1) ovrTexture_Header_get;
897 extern(C) void function(void* jarg1, void* jarg2) ovrTexture_PlatformData_set;
898 extern(C) void* function(void* jarg1) ovrTexture_PlatformData_get;
899 extern(C) void* function() new_ovrTexture;
900 extern(C) void function(void* jarg1) delete_ovrTexture;
901 extern(C) char function() ovr_Initialize;
902 extern(C) void function() ovr_Shutdown;
903 extern(C) int function() ovrHmd_Detect;
904 extern(C) void* function(int jarg1) ovrHmd_Create;
905 extern(C) void function(void* jarg1) ovrHmd_Destroy;
906 extern(C) void* function(int jarg1) ovrHmd_CreateDebug;
907 extern(C) const(char)* function(void* jarg1) ovrHmd_GetLastError;
908 extern(C) char function(void* jarg1, uint jarg2, uint jarg3) ovrHmd_StartSensor;
909 extern(C) void function(void* jarg1) ovrHmd_StopSensor;
910 extern(C) void function(void* jarg1) ovrHmd_ResetSensor;
911 extern(C) void* function(void* jarg1, double jarg2) ovrHmd_GetSensorState;
912 extern(C) char function(void* jarg1, void* jarg2) ovrHmd_GetSensorDesc;
913 extern(C) void function(void* jarg1, void* jarg2) ovrHmd_GetDesc;
914 extern(C) void* function(void* jarg1, int jarg2, void* jarg3, float jarg4) ovrHmd_GetFovTextureSize;
915 extern(C) char function(void* jarg1, void* jarg2, uint jarg3, uint jarg4, void* jarg5, void* jarg6) ovrHmd_ConfigureRendering;
916 extern(C) void* function(void* jarg1, uint jarg2) ovrHmd_BeginFrame;
917 extern(C) void function(void* jarg1) ovrHmd_EndFrame;
918 extern(C) void* function(void* jarg1, int jarg2) ovrHmd_BeginEyeRender;
919 extern(C) void function(void* jarg1, int jarg2, void* jarg3, void* jarg4) ovrHmd_EndEyeRender;
920 extern(C) void* function(void* jarg1, void* jarg2) ovrHmd_GetRenderDesc;
921 extern(C) void function(void* jarg1, void* jarg2) ovrDistortionVertex_Pos_set;
922 extern(C) void* function(void* jarg1) ovrDistortionVertex_Pos_get;
923 extern(C) void function(void* jarg1, float jarg2) ovrDistortionVertex_TimeWarpFactor_set;
924 extern(C) float function(void* jarg1) ovrDistortionVertex_TimeWarpFactor_get;
925 extern(C) void function(void* jarg1, float jarg2) ovrDistortionVertex_VignetteFactor_set;
926 extern(C) float function(void* jarg1) ovrDistortionVertex_VignetteFactor_get;
927 extern(C) void function(void* jarg1, void* jarg2) ovrDistortionVertex_TexR_set;
928 extern(C) void* function(void* jarg1) ovrDistortionVertex_TexR_get;
929 extern(C) void function(void* jarg1, void* jarg2) ovrDistortionVertex_TexG_set;
930 extern(C) void* function(void* jarg1) ovrDistortionVertex_TexG_get;
931 extern(C) void function(void* jarg1, void* jarg2) ovrDistortionVertex_TexB_set;
932 extern(C) void* function(void* jarg1) ovrDistortionVertex_TexB_get;
933 extern(C) void* function() new_ovrDistortionVertex;
934 extern(C) void function(void* jarg1) delete_ovrDistortionVertex;
935 extern(C) void function(void* jarg1, void* jarg2) ovrDistortionMesh_pVertexData_set;
936 extern(C) void* function(void* jarg1) ovrDistortionMesh_pVertexData_get;
937 extern(C) void function(void* jarg1, void* jarg2) ovrDistortionMesh_pIndexData_set;
938 extern(C) void* function(void* jarg1) ovrDistortionMesh_pIndexData_get;
939 extern(C) void function(void* jarg1, uint jarg2) ovrDistortionMesh_VertexCount_set;
940 extern(C) uint function(void* jarg1) ovrDistortionMesh_VertexCount_get;
941 extern(C) void function(void* jarg1, uint jarg2) ovrDistortionMesh_IndexCount_set;
942 extern(C) uint function(void* jarg1) ovrDistortionMesh_IndexCount_get;
943 extern(C) void* function() new_ovrDistortionMesh;
944 extern(C) void function(void* jarg1) delete_ovrDistortionMesh;
945 extern(C) char function(void* jarg1, void* jarg2, uint jarg3, void* jarg4, void* jarg5) ovrHmd_CreateDistortionMesh;
946 extern(C) void function(void* jarg1) ovrHmd_DestroyDistortionMesh;
947 extern(C) void function(void* jarg1, void* jarg2, uint jarg3, void* jarg4) ovrHmd_GetRenderScaleAndOffset;
948 extern(C) void* function(void* jarg1, uint jarg2) ovrHmd_GetFrameTiming;
949 extern(C) void* function(void* jarg1, uint jarg2) ovrHmd_BeginFrameTiming;
950 extern(C) void function(void* jarg1) ovrHmd_EndFrameTiming;
951 extern(C) void function(void* jarg1, uint jarg2, char jarg3) ovrHmd_ResetFrameTiming;
952 extern(C) void* function(void* jarg1, int jarg2) ovrHmd_GetEyePose;
953 extern(C) void function(void* jarg1, int jarg2, void* jarg3, void* jarg4) ovrHmd_GetEyeTimewarpMatrices;
954 extern(C) void* function(void* jarg1, float jarg2, float jarg3, char jarg4) ovrMatrix4f_Projection;
955 extern(C) void* function(void* jarg1, void* jarg2, float jarg3, float jarg4) ovrMatrix4f_OrthoSubProjection;
956 extern(C) double function() ovr_GetTimeInSeconds;
957 extern(C) double function(double jarg1) ovr_WaitTillTime;
958 extern(C) char function(void* jarg1, void* jarg2) ovrHmd_ProcessLatencyTest;
959 extern(C) const(char)* function(void* jarg1) ovrHmd_GetLatencyTestResult;
960 extern(C) double function(void* jarg1) ovrHmd_GetMeasuredLatencyTest2;
961 extern(C) const(char)* function() OVR_KEY_USER_get;
962 extern(C) const(char)* function() OVR_KEY_NAME_get;
963 extern(C) const(char)* function() OVR_KEY_GENDER_get;
964 extern(C) const(char)* function() OVR_KEY_PLAYER_HEIGHT_get;
965 extern(C) const(char)* function() OVR_KEY_EYE_HEIGHT_get;
966 extern(C) const(char)* function() OVR_KEY_IPD_get;
967 extern(C) const(char)* function() OVR_KEY_NECK_TO_EYE_HORIZONTAL_get;
968 extern(C) const(char)* function() OVR_KEY_NECK_TO_EYE_VERTICAL_get;
969 extern(C) const(char)* function() OVR_DEFAULT_GENDER_get;
970 extern(C) double function() OVR_DEFAULT_PLAYER_HEIGHT_get;
971 extern(C) double function() OVR_DEFAULT_EYE_HEIGHT_get;
972 extern(C) double function() OVR_DEFAULT_IPD_get;
973 extern(C) double function() OVR_DEFAULT_NECK_TO_EYE_HORIZONTAL_get;
974 extern(C) double function() OVR_DEFAULT_NECK_TO_EYE_VERTICAL_get;
975 extern(C) float function(void* jarg1, const(char)* jarg2, float jarg3) ovrHmd_GetFloat;
976 extern(C) char function(void* jarg1, const(char)* jarg2, float jarg3) ovrHmd_SetFloat;
977 extern(C) uint function(void* jarg1, const(char)* jarg2, void* jarg3, uint jarg4) ovrHmd_GetFloatArray;
978 extern(C) char function(void* jarg1, const(char)* jarg2, void* jarg3, uint jarg4) ovrHmd_SetFloatArray;
979 extern(C) const(char)* function(void* jarg1, const(char)* jarg2, const(char)* jarg3) ovrHmd_GetString;
980 extern(C) uint function(void* jarg1, const(char)* jarg2) ovrHmd_GetArraySize;
981 extern(C) void function(void* jarg1, void* jarg2) ovrGLConfigData_Header_set;
982 extern(C) void* function(void* jarg1) ovrGLConfigData_Header_get;
983 extern(C) void function(void* jarg1, void* jarg2) ovrGLConfigData_Window_set;
984 extern(C) void* function(void* jarg1) ovrGLConfigData_Window_get;
985 extern(C) void function(void* jarg1, void* jarg2) ovrGLConfigData_WglContext_set;
986 extern(C) void* function(void* jarg1) ovrGLConfigData_WglContext_get;
987 extern(C) void function(void* jarg1, void* jarg2) ovrGLConfigData_GdiDc_set;
988 extern(C) void* function(void* jarg1) ovrGLConfigData_GdiDc_get;
989 extern(C) void* function() new_ovrGLConfigData;
990 extern(C) void function(void* jarg1) delete_ovrGLConfigData;
991 extern(C) void function(void* jarg1, void* jarg2) ovrGLConfig_Config_set;
992 extern(C) void* function(void* jarg1) ovrGLConfig_Config_get;
993 extern(C) void function(void* jarg1, void* jarg2) ovrGLConfig_OGL_set;
994 extern(C) void* function(void* jarg1) ovrGLConfig_OGL_get;
995 extern(C) void* function() new_ovrGLConfig;
996 extern(C) void function(void* jarg1) delete_ovrGLConfig;
997 extern(C) void function(void* jarg1, void* jarg2) ovrGLTextureData_Header_set;
998 extern(C) void* function(void* jarg1) ovrGLTextureData_Header_get;
999 extern(C) void function(void* jarg1, void* jarg2) ovrGLTextureData_TexId_set;
1000 extern(C) void* function(void* jarg1) ovrGLTextureData_TexId_get;
1001 extern(C) void* function() new_ovrGLTextureData;
1002 extern(C) void function(void* jarg1) delete_ovrGLTextureData;
1003 extern(C) void function(void* jarg1, void* jarg2) ovrGLTexture_Texture_set;
1004 extern(C) void* function(void* jarg1) ovrGLTexture_Texture_get;
1005 extern(C) void function(void* jarg1, void* jarg2) ovrGLTexture_OGL_set;
1006 extern(C) void* function(void* jarg1) ovrGLTexture_OGL_get;
1007 extern(C) void* function() new_ovrGLTexture;
1008 extern(C) void function(void* jarg1) delete_ovrGLTexture;