<s> __docformat__ = '<STR_LIT>' <EOL> import ctypes , os , sys <EOL> from ctypes import * <EOL> _int_types = ( c_int16 , c_int32 ) <EOL> if hasattr ( ctypes , '<STR_LIT>' ) : <EOL> _int_types += ( c_int64 , ) <EOL> for t in _int_types : <EOL> if sizeof ( t ) == sizeof ( c_size_t ) : <EOL> c_ptrdiff_t = t <EOL> del t <EOL> del _int_types <EOL> class c_void ( Structure ) : <EOL> _fields_ = [ ( '<STR_LIT>' , c_int ) ] <EOL> def POINTER ( obj ) : <EOL> p = ctypes . POINTER ( obj ) <EOL> if not isinstance ( p . from_param , classmethod ) : <EOL> def from_param ( cls , x ) : <EOL> if x is None : <EOL> return cls ( ) <EOL> else : <EOL> return x <EOL> p . from_param = classmethod ( from_param ) <EOL> return p <EOL> class UserString : <EOL> def __init__ ( self , seq ) : <EOL> if isinstance ( seq , basestring ) : <EOL> self . data = seq <EOL> elif isinstance ( seq , UserString ) : <EOL> self . data = seq . data [ : ] <EOL> else : <EOL> self . data = str ( seq ) <EOL> def __str__ ( self ) : return str ( self . data ) <EOL> def __repr__ ( self ) : return repr ( self . data ) <EOL> def __int__ ( self ) : return int ( self . data ) <EOL> def __long__ ( self ) : return long ( self . data ) <EOL> def __float__ ( self ) : return float ( self . data ) <EOL> def __complex__ ( self ) : return complex ( self . data ) <EOL> def __hash__ ( self ) : return hash ( self . data ) <EOL> def __cmp__ ( self , string ) : <EOL> if isinstance ( string , UserString ) : <EOL> return cmp ( self . data , string . data ) <EOL> else : <EOL> return cmp ( self . data , string ) <EOL> def __contains__ ( self , char ) : <EOL> return char in self . data <EOL> def __len__ ( self ) : return len ( self . data ) <EOL> def __getitem__ ( self , index ) : return self . __class__ ( self . data [ index ] ) <EOL> def __getslice__ ( self , start , end ) : <EOL> start = max ( start , <NUM_LIT:0> ) ; end = max ( end , <NUM_LIT:0> ) <EOL> return self . __class__ ( self . data [ start : end ] ) <EOL> def __add__ ( self , other ) : <EOL> if isinstance ( other , UserString ) : <EOL> return self . __class__ ( self . data + other . data ) <EOL> elif isinstance ( other , basestring ) : <EOL> return self . __class__ ( self . data + other ) <EOL> else : <EOL> return self . __class__ ( self . data + str ( other ) ) <EOL> def __radd__ ( self , other ) : <EOL> if isinstance ( other , basestring ) : <EOL> return self . __class__ ( other + self . data ) <EOL> else : <EOL> return self . __class__ ( str ( other ) + self . data ) <EOL> def __mul__ ( self , n ) : <EOL> return self . __class__ ( self . data * n ) <EOL> __rmul__ = __mul__ <EOL> def __mod__ ( self , args ) : <EOL> return self . __class__ ( self . data % args ) <EOL> def capitalize ( self ) : return self . __class__ ( self . data . capitalize ( ) ) <EOL> def center ( self , width , * args ) : <EOL> return self . __class__ ( self . data . center ( width , * args ) ) <EOL> def count ( self , sub , start = <NUM_LIT:0> , end = sys . maxint ) : <EOL> return self . data . count ( sub , start , end ) <EOL> def decode ( self , encoding = None , errors = None ) : <EOL> if encoding : <EOL> if errors : <EOL> return self . __class__ ( self . data . decode ( encoding , errors ) ) <EOL> else : <EOL> return self . __class__ ( self . data . decode ( encoding ) ) <EOL> else : <EOL> return self . __class__ ( self . data . decode ( ) ) <EOL> def encode ( self , encoding = None , errors = None ) : <EOL> if encoding : <EOL> if errors : <EOL> return self . __class__ ( self . data . encode ( encoding , errors ) ) <EOL> else : <EOL> return self . __class__ ( self . data . encode ( encoding ) ) <EOL> else : <EOL> return self . __class__ ( self . data . encode ( ) ) <EOL> def endswith ( self , suffix , start = <NUM_LIT:0> , end = sys . maxint ) : <EOL> return self . data . endswith ( suffix , start , end ) <EOL> def expandtabs ( self , tabsize = <NUM_LIT:8> ) : <EOL> return self . __class__ ( self . data . expandtabs ( tabsize ) ) <EOL> def find ( self , sub , start = <NUM_LIT:0> , end = sys . maxint ) : <EOL> return self . data . find ( sub , start , end ) <EOL> def index ( self , sub , start = <NUM_LIT:0> , end = sys . maxint ) : <EOL> return self . data . index ( sub , start , end ) <EOL> def isalpha ( self ) : return self . data . isalpha ( ) <EOL> def isalnum ( self ) : return self . data . isalnum ( ) <EOL> def isdecimal ( self ) : return self . data . isdecimal ( ) <EOL> def isdigit ( self ) : return self . data . isdigit ( ) <EOL> def islower ( self ) : return self . data . islower ( ) <EOL> def isnumeric ( self ) : return self . data . isnumeric ( ) <EOL> def isspace ( self ) : return self . data . isspace ( ) <EOL> def istitle ( self ) : return self . data . istitle ( ) <EOL> def isupper ( self ) : return self . data . isupper ( ) <EOL> def join ( self , seq ) : return self . data . join ( seq ) <EOL> def ljust ( self , width , * args ) : <EOL> return self . __class__ ( self . data . ljust ( width , * args ) ) <EOL> def lower ( self ) : return self . __class__ ( self . data . lower ( ) ) <EOL> def lstrip ( self , chars = None ) : return self . __class__ ( self . data . lstrip ( chars ) ) <EOL> def partition ( self , sep ) : <EOL> return self . data . partition ( sep ) <EOL> def replace ( self , old , new , maxsplit = - <NUM_LIT:1> ) : <EOL> return self . __class__ ( self . data . replace ( old , new , maxsplit ) ) <EOL> def rfind ( self , sub , start = <NUM_LIT:0> , end = sys . maxint ) : <EOL> return self . data . rfind ( sub , start , end ) <EOL> def rindex ( self , sub , start = <NUM_LIT:0> , end = sys . maxint ) : <EOL> return self . data . rindex ( sub , start , end ) <EOL> def rjust ( self , width , * args ) : <EOL> return self . __class__ ( self . data . rjust ( width , * args ) ) <EOL> def rpartition ( self , sep ) : <EOL> return self . data . rpartition ( sep ) <EOL> def rstrip ( self , chars = None ) : return self . __class__ ( self . data . rstrip ( chars ) ) <EOL> def split ( self , sep = None , maxsplit = - <NUM_LIT:1> ) : <EOL> return self . data . split ( sep , maxsplit ) <EOL> def rsplit ( self , sep = None , maxsplit = - <NUM_LIT:1> ) : <EOL> return self . data . rsplit ( sep , maxsplit ) <EOL> def splitlines ( self , keepends = <NUM_LIT:0> ) : return self . data . splitlines ( keepends ) <EOL> def startswith ( self , prefix , start = <NUM_LIT:0> , end = sys . maxint ) : <EOL> return self . data . startswith ( prefix , start , end ) <EOL> def strip ( self , chars = None ) : return self . __class__ ( self . data . strip ( chars ) ) <EOL> def swapcase ( self ) : return self . __class__ ( self . data . swapcase ( ) ) <EOL> def title ( self ) : return self . __class__ ( self . data . title ( ) ) <EOL> def translate ( self , * args ) : <EOL> return self . __class__ ( self . data . translate ( * args ) ) <EOL> def upper ( self ) : return self . __class__ ( self . data . upper ( ) ) <EOL> def zfill ( self , width ) : return self . __class__ ( self . data . zfill ( width ) ) <EOL> class MutableString ( UserString ) : <EOL> """<STR_LIT>""" <EOL> def __init__ ( self , string = "<STR_LIT>" ) : <EOL> self . data = string <EOL> def __hash__ ( self ) : <EOL> raise TypeError ( "<STR_LIT>" ) <EOL> def __setitem__ ( self , index , sub ) : <EOL> if index < <NUM_LIT:0> : <EOL> index += len ( self . data ) <EOL> if index < <NUM_LIT:0> or index >= len ( self . data ) : raise IndexError <EOL> self . data = self . data [ : index ] + sub + self . data [ index + <NUM_LIT:1> : ] <EOL> def __delitem__ ( self , index ) : <EOL> if index < <NUM_LIT:0> : <EOL> index += len ( self . data ) <EOL> if index < <NUM_LIT:0> or index >= len ( self . data ) : raise IndexError <EOL> self . data = self . data [ : index ] + self . data [ index + <NUM_LIT:1> : ] <EOL> def __setslice__ ( self , start , end , sub ) : <EOL> start = max ( start , <NUM_LIT:0> ) ; end = max ( end , <NUM_LIT:0> ) <EOL> if isinstance ( sub , UserString ) : <EOL> self . data = self . data [ : start ] + sub . data + self . data [ end : ] <EOL> elif isinstance ( sub , basestring ) : <EOL> self . data = self . data [ : start ] + sub + self . data [ end : ] <EOL> else : <EOL> self . data = self . data [ : start ] + str ( sub ) + self . data [ end : ] <EOL> def __delslice__ ( self , start , end ) : <EOL> start = max ( start , <NUM_LIT:0> ) ; end = max ( end , <NUM_LIT:0> ) <EOL> self . data = self . data [ : start ] + self . data [ end : ] <EOL> def immutable ( self ) : <EOL> return UserString ( self . data ) <EOL> def __iadd__ ( self , other ) : <EOL> if isinstance ( other , UserString ) : <EOL> self . data += other . data <EOL> elif isinstance ( other , basestring ) : <EOL> self . data += other <EOL> else : <EOL> self . data += str ( other ) <EOL> return self <EOL> def __imul__ ( self , n ) : <EOL> self . data *= n <EOL> return self <EOL> class String ( MutableString , Union ) : <EOL> _fields_ = [ ( '<STR_LIT>' , POINTER ( c_char ) ) , <EOL> ( '<STR_LIT:data>' , c_char_p ) ] <EOL> def __init__ ( self , obj = "<STR_LIT>" ) : <EOL> if isinstance ( obj , ( str , unicode , UserString ) ) : <EOL> self . data = str ( obj ) <EOL> else : <EOL> self . raw = obj <EOL> def __len__ ( self ) : <EOL> return self . data and len ( self . data ) or <NUM_LIT:0> <EOL> def from_param ( cls , obj ) : <EOL> if obj is None or obj == <NUM_LIT:0> : <EOL> return cls ( POINTER ( c_char ) ( ) ) <EOL> elif isinstance ( obj , String ) : <EOL> return obj <EOL> elif isinstance ( obj , str ) : <EOL> return cls ( obj ) <EOL> elif isinstance ( obj , c_char_p ) : <EOL> return obj <EOL> elif isinstance ( obj , POINTER ( c_char ) ) : <EOL> return obj <EOL> elif isinstance ( obj , int ) : <EOL> return cls ( cast ( obj , POINTER ( c_char ) ) ) <EOL> else : <EOL> return String . from_param ( obj . _as_parameter_ ) <EOL> from_param = classmethod ( from_param ) <EOL> def ReturnString ( obj , func = None , arguments = None ) : <EOL> return String . from_param ( obj ) <EOL> def UNCHECKED ( type ) : <EOL> if ( hasattr ( type , "<STR_LIT>" ) and isinstance ( type . _type_ , str ) <EOL> and type . _type_ != "<STR_LIT:P>" ) : <EOL> return type <EOL> else : <EOL> return c_void_p <EOL> class _variadic_function ( object ) : <EOL> def __init__ ( self , func , restype , argtypes ) : <EOL> self . func = func <EOL> self . func . restype = restype <EOL> self . argtypes = argtypes <EOL> def _as_parameter_ ( self ) : <EOL> return self . func <EOL> def __call__ ( self , * args ) : <EOL> fixed_args = [ ] <EOL> i = <NUM_LIT:0> <EOL> for argtype in self . argtypes : <EOL> fixed_args . append ( argtype . from_param ( args [ i ] ) ) <EOL> i += <NUM_LIT:1> <EOL> return self . func ( * fixed_args + list ( args [ i : ] ) ) <EOL> _libs = { } <EOL> _libdirs = [ ] <EOL> import os . path , re , sys , glob <EOL> import platform <EOL> import ctypes <EOL> import ctypes . util <EOL> def _environ_path ( name ) : <EOL> if name in os . environ : <EOL> return os . environ [ name ] . split ( "<STR_LIT::>" ) <EOL> else : <EOL> return [ ] <EOL> class LibraryLoader ( object ) : <EOL> def __init__ ( self ) : <EOL> self . other_dirs = [ ] <EOL> def load_library ( self , libname ) : <EOL> """<STR_LIT>""" <EOL> paths = self . getpaths ( libname ) <EOL> for path in paths : <EOL> if os . path . exists ( path ) : <EOL> return self . load ( path ) <EOL> raise ImportError ( "<STR_LIT>" % libname ) <EOL> def load ( self , path ) : <EOL> """<STR_LIT>""" <EOL> try : <EOL> if sys . platform == '<STR_LIT>' : <EOL> return ctypes . CDLL ( path , ctypes . RTLD_GLOBAL ) <EOL> else : <EOL> return ctypes . cdll . LoadLibrary ( path ) <EOL> except OSError , e : <EOL> raise ImportError ( e ) <EOL> def getpaths ( self , libname ) : <EOL> """<STR_LIT>""" <EOL> if os . path . isabs ( libname ) : <EOL> yield libname <EOL> else : <EOL> for path in self . getplatformpaths ( libname ) : <EOL> yield path <EOL> path = ctypes . util . find_library ( libname ) <EOL> if path : yield path <EOL> def getplatformpaths ( self , libname ) : <EOL> return [ ] <EOL> class DarwinLibraryLoader ( LibraryLoader ) : <EOL> name_formats = [ "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , <EOL> "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT:%s>" ] <EOL> def getplatformpaths ( self , libname ) : <EOL> if os . path . pathsep in libname : <EOL> names = [ libname ] <EOL> else : <EOL> names = [ format % libname for format in self . name_formats ] <EOL> for dir in self . getdirs ( libname ) : <EOL> for name in names : <EOL> yield os . path . join ( dir , name ) <EOL> def getdirs ( self , libname ) : <EOL> '''<STR_LIT>''' <EOL> dyld_fallback_library_path = _environ_path ( "<STR_LIT>" ) <EOL> if not dyld_fallback_library_path : <EOL> dyld_fallback_library_path = [ os . path . expanduser ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' , '<STR_LIT>' ] <EOL> dirs = [ ] <EOL> if '<STR_LIT:/>' in libname : <EOL> dirs . extend ( _environ_path ( "<STR_LIT>" ) ) <EOL> else : <EOL> dirs . extend ( _environ_path ( "<STR_LIT>" ) ) <EOL> dirs . extend ( _environ_path ( "<STR_LIT>" ) ) <EOL> dirs . extend ( self . other_dirs ) <EOL> dirs . append ( "<STR_LIT:.>" ) <EOL> dirs . append ( os . path . dirname ( __file__ ) ) <EOL> if hasattr ( sys , '<STR_LIT>' ) and sys . frozen == '<STR_LIT>' : <EOL> dirs . append ( os . path . join ( <EOL> os . environ [ '<STR_LIT>' ] , <EOL> '<STR_LIT:..>' , <EOL> '<STR_LIT>' ) ) <EOL> dirs . extend ( dyld_fallback_library_path ) <EOL> return dirs <EOL> class PosixLibraryLoader ( LibraryLoader ) : <EOL> _ld_so_cache = None <EOL> def _create_ld_so_cache ( self ) : <EOL> directories = [ ] <EOL> for name in ( "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> "<STR_LIT>" , <EOL> ) : <EOL> if name in os . environ : <EOL> directories . extend ( os . environ [ name ] . split ( os . pathsep ) ) <EOL> directories . extend ( self . other_dirs ) <EOL> directories . append ( "<STR_LIT:.>" ) <EOL> directories . append ( os . path . dirname ( __file__ ) ) <EOL> try : directories . extend ( [ dir . strip ( ) for dir in open ( '<STR_LIT>' ) ] ) <EOL> except IOError : pass <EOL> unix_lib_dirs_list = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> if sys . platform . startswith ( '<STR_LIT>' ) : <EOL> bitage = platform . architecture ( ) [ <NUM_LIT:0> ] <EOL> if bitage . startswith ( '<STR_LIT>' ) : <EOL> unix_lib_dirs_list += [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> elif bitage . startswith ( '<STR_LIT>' ) : <EOL> unix_lib_dirs_list += [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> else : <EOL> unix_lib_dirs_list += glob . glob ( '<STR_LIT>' ) <EOL> directories . extend ( unix_lib_dirs_list ) <EOL> cache = { } <EOL> lib_re = re . compile ( r'<STR_LIT>' ) <EOL> ext_re = re . compile ( r'<STR_LIT>' ) <EOL> for dir in directories : <EOL> try : <EOL> for path in glob . glob ( "<STR_LIT>" % dir ) : <EOL> file = os . path . basename ( path ) <EOL> if file not in cache : <EOL> cache [ file ] = path <EOL> match = lib_re . match ( file ) <EOL> if match : <EOL> library = match . group ( <NUM_LIT:1> ) <EOL> if library not in cache : <EOL> cache [ library ] = path <EOL> except OSError : <EOL> pass <EOL> self . _ld_so_cache = cache <EOL> def getplatformpaths ( self , libname ) : <EOL> if self . _ld_so_cache is None : <EOL> self . _create_ld_so_cache ( ) <EOL> result = self . _ld_so_cache . get ( libname ) <EOL> if result : yield result <EOL> path = ctypes . util . find_library ( libname ) <EOL> if path : yield os . path . join ( "<STR_LIT>" , path ) <EOL> class _WindowsLibrary ( object ) : <EOL> def __init__ ( self , path ) : <EOL> self . cdll = ctypes . cdll . LoadLibrary ( path ) <EOL> self . windll = ctypes . windll . LoadLibrary ( path ) <EOL> def __getattr__ ( self , name ) : <EOL> try : return getattr ( self . cdll , name ) <EOL> except AttributeError : <EOL> try : return getattr ( self . windll , name ) <EOL> except AttributeError : <EOL> raise <EOL> class WindowsLibraryLoader ( LibraryLoader ) : <EOL> name_formats = [ "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" ] <EOL> def load_library ( self , libname ) : <EOL> try : <EOL> result = LibraryLoader . load_library ( self , libname ) <EOL> except ImportError : <EOL> result = None <EOL> if os . path . sep not in libname : <EOL> for name in self . name_formats : <EOL> try : <EOL> result = getattr ( ctypes . cdll , name % libname ) <EOL> if result : <EOL> break <EOL> except WindowsError : <EOL> result = None <EOL> if result is None : <EOL> try : <EOL> result = getattr ( ctypes . cdll , libname ) <EOL> except WindowsError : <EOL> result = None <EOL> if result is None : <EOL> raise ImportError ( "<STR_LIT>" % libname ) <EOL> return result <EOL> def load ( self , path ) : <EOL> return _WindowsLibrary ( path ) <EOL> def getplatformpaths ( self , libname ) : <EOL> if os . path . sep not in libname : <EOL> for name in self . name_formats : <EOL> dll_in_current_dir = os . path . abspath ( name % libname ) <EOL> if os . path . exists ( dll_in_current_dir ) : <EOL> yield dll_in_current_dir <EOL> path = ctypes . util . find_library ( name % libname ) <EOL> if path : <EOL> yield path <EOL> loaderclass = { <EOL> "<STR_LIT>" : DarwinLibraryLoader , <EOL> "<STR_LIT>" : WindowsLibraryLoader , <EOL> "<STR_LIT:win32>" : WindowsLibraryLoader <EOL> } <EOL> loader = loaderclass . get ( sys . platform , PosixLibraryLoader ) ( ) <EOL> def add_library_search_dirs ( other_dirs ) : <EOL> loader . other_dirs = other_dirs <EOL> load_library = loader . load_library <EOL> del loaderclass <EOL> add_library_search_dirs ( [ ] ) <EOL> if "<STR_LIT>" in os . environ : <EOL> ovrpath = os . environ [ "<STR_LIT>" ] <EOL> else : <EOL> ovrpath = os . path . join ( os . path . dirname ( os . path . abspath ( __file__ ) ) , "<STR_LIT>" ) <EOL> _libs [ "<STR_LIT>" ] = load_library ( ovrpath ) <EOL> uintptr_t = POINTER ( c_uint ) <EOL> ovrBool = c_char <EOL> GLuint = c_uint <EOL> class struct_ovrVector2i_ ( Structure ) : <EOL> pass <EOL> struct_ovrVector2i_ . __slots__ = [ <EOL> '<STR_LIT:x>' , <EOL> '<STR_LIT:y>' , <EOL> ] <EOL> struct_ovrVector2i_ . _fields_ = [ <EOL> ( '<STR_LIT:x>' , c_int ) , <EOL> ( '<STR_LIT:y>' , c_int ) , <EOL> ] <EOL> ovrVector2i = struct_ovrVector2i_ <EOL> class struct_ovrSizei_ ( Structure ) : <EOL> pass <EOL> struct_ovrSizei_ . __slots__ = [ <EOL> '<STR_LIT:w>' , <EOL> '<STR_LIT:h>' , <EOL> ] <EOL> struct_ovrSizei_ . _fields_ = [ <EOL> ( '<STR_LIT:w>' , c_int ) , <EOL> ( '<STR_LIT:h>' , c_int ) , <EOL> ] <EOL> ovrSizei = struct_ovrSizei_ <EOL> class struct_ovrRecti_ ( Structure ) : <EOL> pass <EOL> struct_ovrRecti_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrRecti_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrVector2i ) , <EOL> ( '<STR_LIT>' , ovrSizei ) , <EOL> ] <EOL> ovrRecti = struct_ovrRecti_ <EOL> class struct_ovrQuatf_ ( Structure ) : <EOL> pass <EOL> struct_ovrQuatf_ . __slots__ = [ <EOL> '<STR_LIT:x>' , <EOL> '<STR_LIT:y>' , <EOL> '<STR_LIT:z>' , <EOL> '<STR_LIT:w>' , <EOL> ] <EOL> struct_ovrQuatf_ . _fields_ = [ <EOL> ( '<STR_LIT:x>' , c_float ) , <EOL> ( '<STR_LIT:y>' , c_float ) , <EOL> ( '<STR_LIT:z>' , c_float ) , <EOL> ( '<STR_LIT:w>' , c_float ) , <EOL> ] <EOL> ovrQuatf = struct_ovrQuatf_ <EOL> class struct_ovrVector2f_ ( Structure ) : <EOL> pass <EOL> struct_ovrVector2f_ . __slots__ = [ <EOL> '<STR_LIT:x>' , <EOL> '<STR_LIT:y>' , <EOL> ] <EOL> struct_ovrVector2f_ . _fields_ = [ <EOL> ( '<STR_LIT:x>' , c_float ) , <EOL> ( '<STR_LIT:y>' , c_float ) , <EOL> ] <EOL> ovrVector2f = struct_ovrVector2f_ <EOL> class struct_ovrVector3f_ ( Structure ) : <EOL> pass <EOL> struct_ovrVector3f_ . __slots__ = [ <EOL> '<STR_LIT:x>' , <EOL> '<STR_LIT:y>' , <EOL> '<STR_LIT:z>' , <EOL> ] <EOL> struct_ovrVector3f_ . _fields_ = [ <EOL> ( '<STR_LIT:x>' , c_float ) , <EOL> ( '<STR_LIT:y>' , c_float ) , <EOL> ( '<STR_LIT:z>' , c_float ) , <EOL> ] <EOL> ovrVector3f = struct_ovrVector3f_ <EOL> class struct_ovrMatrix4f_ ( Structure ) : <EOL> pass <EOL> struct_ovrMatrix4f_ . __slots__ = [ <EOL> '<STR_LIT:M>' , <EOL> ] <EOL> struct_ovrMatrix4f_ . _fields_ = [ <EOL> ( '<STR_LIT:M>' , ( c_float * <NUM_LIT:4> ) * <NUM_LIT:4> ) , <EOL> ] <EOL> ovrMatrix4f = struct_ovrMatrix4f_ <EOL> class struct_ovrPosef_ ( Structure ) : <EOL> pass <EOL> struct_ovrPosef_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrPosef_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrQuatf ) , <EOL> ( '<STR_LIT>' , ovrVector3f ) , <EOL> ] <EOL> ovrPosef = struct_ovrPosef_ <EOL> class struct_ovrPoseStatef_ ( Structure ) : <EOL> pass <EOL> struct_ovrPoseStatef_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrPoseStatef_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrPosef ) , <EOL> ( '<STR_LIT>' , ovrVector3f ) , <EOL> ( '<STR_LIT>' , ovrVector3f ) , <EOL> ( '<STR_LIT>' , ovrVector3f ) , <EOL> ( '<STR_LIT>' , ovrVector3f ) , <EOL> ( '<STR_LIT>' , c_double ) , <EOL> ] <EOL> ovrPoseStatef = struct_ovrPoseStatef_ <EOL> class struct_ovrFovPort_ ( Structure ) : <EOL> pass <EOL> struct_ovrFovPort_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrFovPort_ . _fields_ = [ <EOL> ( '<STR_LIT>' , c_float ) , <EOL> ( '<STR_LIT>' , c_float ) , <EOL> ( '<STR_LIT>' , c_float ) , <EOL> ( '<STR_LIT>' , c_float ) , <EOL> ] <EOL> ovrFovPort = struct_ovrFovPort_ <EOL> enum_anon_1 = c_int <EOL> ovrHmd_None = <NUM_LIT:0> <EOL> ovrHmd_DK1 = <NUM_LIT:3> <EOL> ovrHmd_DKHD = <NUM_LIT:4> <EOL> ovrHmd_CrystalCoveProto = <NUM_LIT:5> <EOL> ovrHmd_DK2 = <NUM_LIT:6> <EOL> ovrHmd_Other = ( ovrHmd_DK2 + <NUM_LIT:1> ) <EOL> ovrHmdType = enum_anon_1 <EOL> enum_anon_2 = c_int <EOL> ovrHmdCap_Present = <NUM_LIT:1> <EOL> ovrHmdCap_Available = <NUM_LIT:2> <EOL> ovrHmdCap_LowPersistence = <NUM_LIT> <EOL> ovrHmdCap_LatencyTest = <NUM_LIT> <EOL> ovrHmdCap_DynamicPrediction = <NUM_LIT> <EOL> ovrHmdCap_NoVSync = <NUM_LIT> <EOL> ovrHmdCap_NoRestore = <NUM_LIT> <EOL> ovrHmdCap_Writable_Mask = <NUM_LIT> <EOL> ovrHmdCaps = enum_anon_2 <EOL> enum_anon_3 = c_int <EOL> ovrSensorCap_Orientation = <NUM_LIT:16> <EOL> ovrSensorCap_YawCorrection = <NUM_LIT:32> <EOL> ovrSensorCap_Position = <NUM_LIT:64> <EOL> ovrSensorCaps = enum_anon_3 <EOL> enum_anon_4 = c_int <EOL> ovrDistortionCap_Chromatic = <NUM_LIT:1> <EOL> ovrDistortionCap_TimeWarp = <NUM_LIT:2> <EOL> ovrDistortionCap_Vignette = <NUM_LIT:8> <EOL> ovrDistortionCaps = enum_anon_4 <EOL> enum_anon_5 = c_int <EOL> ovrEye_Left = <NUM_LIT:0> <EOL> ovrEye_Right = <NUM_LIT:1> <EOL> ovrEye_Count = <NUM_LIT:2> <EOL> ovrEyeType = enum_anon_5 <EOL> class struct_ovrHmdStruct ( Structure ) : <EOL> pass <EOL> ovrHmd = POINTER ( struct_ovrHmdStruct ) <EOL> class struct_ovrHmdDesc_ ( Structure ) : <EOL> pass <EOL> struct_ovrHmdDesc_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrHmdDesc_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrHmd ) , <EOL> ( '<STR_LIT>' , ovrHmdType ) , <EOL> ( '<STR_LIT>' , String ) , <EOL> ( '<STR_LIT>' , String ) , <EOL> ( '<STR_LIT>' , c_uint ) , <EOL> ( '<STR_LIT>' , c_uint ) , <EOL> ( '<STR_LIT>' , c_uint ) , <EOL> ( '<STR_LIT>' , ovrSizei ) , <EOL> ( '<STR_LIT>' , ovrVector2i ) , <EOL> ( '<STR_LIT>' , ovrFovPort * ovrEye_Count ) , <EOL> ( '<STR_LIT>' , ovrFovPort * ovrEye_Count ) , <EOL> ( '<STR_LIT>' , ovrEyeType * ovrEye_Count ) , <EOL> ( '<STR_LIT>' , String ) , <EOL> ( '<STR_LIT>' , c_int ) , <EOL> ] <EOL> ovrHmdDesc = struct_ovrHmdDesc_ <EOL> enum_anon_6 = c_int <EOL> ovrStatus_OrientationTracked = <NUM_LIT:1> <EOL> ovrStatus_PositionTracked = <NUM_LIT:2> <EOL> ovrStatus_PositionConnected = <NUM_LIT:32> <EOL> ovrStatus_HmdConnected = <NUM_LIT> <EOL> ovrStatusBits = enum_anon_6 <EOL> class struct_ovrSensorState_ ( Structure ) : <EOL> pass <EOL> struct_ovrSensorState_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrSensorState_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrPoseStatef ) , <EOL> ( '<STR_LIT>' , ovrPoseStatef ) , <EOL> ( '<STR_LIT>' , c_float ) , <EOL> ( '<STR_LIT>' , c_uint ) , <EOL> ] <EOL> ovrSensorState = struct_ovrSensorState_ <EOL> class struct_ovrSensorDesc_ ( Structure ) : <EOL> pass <EOL> struct_ovrSensorDesc_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrSensorDesc_ . _fields_ = [ <EOL> ( '<STR_LIT>' , c_short ) , <EOL> ( '<STR_LIT>' , c_short ) , <EOL> ( '<STR_LIT>' , c_char * <NUM_LIT> ) , <EOL> ] <EOL> ovrSensorDesc = struct_ovrSensorDesc_ <EOL> class struct_ovrFrameTiming_ ( Structure ) : <EOL> pass <EOL> struct_ovrFrameTiming_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrFrameTiming_ . _fields_ = [ <EOL> ( '<STR_LIT>' , c_float ) , <EOL> ( '<STR_LIT>' , c_double ) , <EOL> ( '<STR_LIT>' , c_double ) , <EOL> ( '<STR_LIT>' , c_double ) , <EOL> ( '<STR_LIT>' , c_double ) , <EOL> ( '<STR_LIT>' , c_double * <NUM_LIT:2> ) , <EOL> ] <EOL> ovrFrameTiming = struct_ovrFrameTiming_ <EOL> class struct_ovrEyeRenderDesc_ ( Structure ) : <EOL> pass <EOL> struct_ovrEyeRenderDesc_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrEyeRenderDesc_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrEyeType ) , <EOL> ( '<STR_LIT>' , ovrFovPort ) , <EOL> ( '<STR_LIT>' , ovrRecti ) , <EOL> ( '<STR_LIT>' , ovrVector2f ) , <EOL> ( '<STR_LIT>' , ovrVector3f ) , <EOL> ] <EOL> ovrEyeRenderDesc = struct_ovrEyeRenderDesc_ <EOL> enum_anon_7 = c_int <EOL> ovrRenderAPI_None = <NUM_LIT:0> <EOL> ovrRenderAPI_OpenGL = ( ovrRenderAPI_None + <NUM_LIT:1> ) <EOL> ovrRenderAPI_Android_GLES = ( ovrRenderAPI_OpenGL + <NUM_LIT:1> ) <EOL> ovrRenderAPI_D3D9 = ( ovrRenderAPI_Android_GLES + <NUM_LIT:1> ) <EOL> ovrRenderAPI_D3D10 = ( ovrRenderAPI_D3D9 + <NUM_LIT:1> ) <EOL> ovrRenderAPI_D3D11 = ( ovrRenderAPI_D3D10 + <NUM_LIT:1> ) <EOL> ovrRenderAPI_Count = ( ovrRenderAPI_D3D11 + <NUM_LIT:1> ) <EOL> ovrRenderAPIType = enum_anon_7 <EOL> class struct_ovrRenderAPIConfigHeader_ ( Structure ) : <EOL> pass <EOL> struct_ovrRenderAPIConfigHeader_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrRenderAPIConfigHeader_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrRenderAPIType ) , <EOL> ( '<STR_LIT>' , ovrSizei ) , <EOL> ( '<STR_LIT>' , c_int ) , <EOL> ] <EOL> ovrRenderAPIConfigHeader = struct_ovrRenderAPIConfigHeader_ <EOL> class struct_ovrRenderAPIConfig_ ( Structure ) : <EOL> pass <EOL> struct_ovrRenderAPIConfig_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrRenderAPIConfig_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrRenderAPIConfigHeader ) , <EOL> ( '<STR_LIT>' , uintptr_t * <NUM_LIT:8> ) , <EOL> ] <EOL> ovrRenderAPIConfig = struct_ovrRenderAPIConfig_ <EOL> class struct_ovrTextureHeader_ ( Structure ) : <EOL> pass <EOL> struct_ovrTextureHeader_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrTextureHeader_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrRenderAPIType ) , <EOL> ( '<STR_LIT>' , ovrSizei ) , <EOL> ( '<STR_LIT>' , ovrRecti ) , <EOL> ] <EOL> ovrTextureHeader = struct_ovrTextureHeader_ <EOL> class struct_ovrTexture_ ( Structure ) : <EOL> pass <EOL> struct_ovrTexture_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrTexture_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrTextureHeader ) , <EOL> ( '<STR_LIT>' , uintptr_t * <NUM_LIT:8> ) , <EOL> ] <EOL> ovrTexture = struct_ovrTexture_ <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovr_Initialize = _lib . ovr_Initialize <EOL> ovr_Initialize . argtypes = [ ] <EOL> ovr_Initialize . restype = ovrBool <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovr_Shutdown = _lib . ovr_Shutdown <EOL> ovr_Shutdown . argtypes = [ ] <EOL> ovr_Shutdown . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_Detect = _lib . ovrHmd_Detect <EOL> ovrHmd_Detect . argtypes = [ ] <EOL> ovrHmd_Detect . restype = c_int <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_Create = _lib . ovrHmd_Create <EOL> ovrHmd_Create . argtypes = [ c_int ] <EOL> ovrHmd_Create . restype = ovrHmd <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_Destroy = _lib . ovrHmd_Destroy <EOL> ovrHmd_Destroy . argtypes = [ ovrHmd ] <EOL> ovrHmd_Destroy . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_CreateDebug = _lib . ovrHmd_CreateDebug <EOL> ovrHmd_CreateDebug . argtypes = [ ovrHmdType ] <EOL> ovrHmd_CreateDebug . restype = ovrHmd <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetLastError = _lib . ovrHmd_GetLastError <EOL> ovrHmd_GetLastError . argtypes = [ ovrHmd ] <EOL> if sizeof ( c_int ) == sizeof ( c_void_p ) : <EOL> ovrHmd_GetLastError . restype = ReturnString <EOL> else : <EOL> ovrHmd_GetLastError . restype = String <EOL> ovrHmd_GetLastError . errcheck = ReturnString <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetEnabledCaps = _lib . ovrHmd_GetEnabledCaps <EOL> ovrHmd_GetEnabledCaps . argtypes = [ ovrHmd ] <EOL> ovrHmd_GetEnabledCaps . restype = c_uint <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_SetEnabledCaps = _lib . ovrHmd_SetEnabledCaps <EOL> ovrHmd_SetEnabledCaps . argtypes = [ ovrHmd , c_uint ] <EOL> ovrHmd_SetEnabledCaps . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_StartSensor = _lib . ovrHmd_StartSensor <EOL> ovrHmd_StartSensor . argtypes = [ ovrHmd , c_uint , c_uint ] <EOL> ovrHmd_StartSensor . restype = ovrBool <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_StopSensor = _lib . ovrHmd_StopSensor <EOL> ovrHmd_StopSensor . argtypes = [ ovrHmd ] <EOL> ovrHmd_StopSensor . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_ResetSensor = _lib . ovrHmd_ResetSensor <EOL> ovrHmd_ResetSensor . argtypes = [ ovrHmd ] <EOL> ovrHmd_ResetSensor . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetSensorState = _lib . ovrHmd_GetSensorState <EOL> ovrHmd_GetSensorState . argtypes = [ ovrHmd , c_double ] <EOL> ovrHmd_GetSensorState . restype = ovrSensorState <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetSensorDesc = _lib . ovrHmd_GetSensorDesc <EOL> ovrHmd_GetSensorDesc . argtypes = [ ovrHmd , POINTER ( ovrSensorDesc ) ] <EOL> ovrHmd_GetSensorDesc . restype = ovrBool <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetDesc = _lib . ovrHmd_GetDesc <EOL> ovrHmd_GetDesc . argtypes = [ ovrHmd , POINTER ( ovrHmdDesc ) ] <EOL> ovrHmd_GetDesc . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetFovTextureSize = _lib . ovrHmd_GetFovTextureSize <EOL> ovrHmd_GetFovTextureSize . argtypes = [ ovrHmd , ovrEyeType , ovrFovPort , c_float ] <EOL> ovrHmd_GetFovTextureSize . restype = ovrSizei <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_ConfigureRendering = _lib . ovrHmd_ConfigureRendering <EOL> ovrHmd_ConfigureRendering . argtypes = [ ovrHmd , POINTER ( ovrRenderAPIConfig ) , c_uint , ovrFovPort * <NUM_LIT:2> , ovrEyeRenderDesc * <NUM_LIT:2> ] <EOL> ovrHmd_ConfigureRendering . restype = ovrBool <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_BeginFrame = _lib . ovrHmd_BeginFrame <EOL> ovrHmd_BeginFrame . argtypes = [ ovrHmd , c_uint ] <EOL> ovrHmd_BeginFrame . restype = ovrFrameTiming <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_EndFrame = _lib . ovrHmd_EndFrame <EOL> ovrHmd_EndFrame . argtypes = [ ovrHmd ] <EOL> ovrHmd_EndFrame . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_BeginEyeRender = _lib . ovrHmd_BeginEyeRender <EOL> ovrHmd_BeginEyeRender . argtypes = [ ovrHmd , ovrEyeType ] <EOL> ovrHmd_BeginEyeRender . restype = ovrPosef <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_EndEyeRender = _lib . ovrHmd_EndEyeRender <EOL> ovrHmd_EndEyeRender . argtypes = [ ovrHmd , ovrEyeType , ovrPosef , POINTER ( ovrTexture ) ] <EOL> ovrHmd_EndEyeRender . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetRenderDesc = _lib . ovrHmd_GetRenderDesc <EOL> ovrHmd_GetRenderDesc . argtypes = [ ovrHmd , ovrEyeType , ovrFovPort ] <EOL> ovrHmd_GetRenderDesc . restype = ovrEyeRenderDesc <EOL> break <EOL> class struct_ovrDistortionVertex_ ( Structure ) : <EOL> pass <EOL> struct_ovrDistortionVertex_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrDistortionVertex_ . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrVector2f ) , <EOL> ( '<STR_LIT>' , c_float ) , <EOL> ( '<STR_LIT>' , c_float ) , <EOL> ( '<STR_LIT>' , ovrVector2f ) , <EOL> ( '<STR_LIT>' , ovrVector2f ) , <EOL> ( '<STR_LIT>' , ovrVector2f ) , <EOL> ] <EOL> ovrDistortionVertex = struct_ovrDistortionVertex_ <EOL> class struct_ovrDistortionMesh_ ( Structure ) : <EOL> pass <EOL> struct_ovrDistortionMesh_ . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrDistortionMesh_ . _fields_ = [ <EOL> ( '<STR_LIT>' , POINTER ( ovrDistortionVertex ) ) , <EOL> ( '<STR_LIT>' , POINTER ( c_ushort ) ) , <EOL> ( '<STR_LIT>' , c_uint ) , <EOL> ( '<STR_LIT>' , c_uint ) , <EOL> ] <EOL> ovrDistortionMesh = struct_ovrDistortionMesh_ <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_CreateDistortionMesh = _lib . ovrHmd_CreateDistortionMesh <EOL> ovrHmd_CreateDistortionMesh . argtypes = [ ovrHmd , ovrEyeType , ovrFovPort , c_uint , POINTER ( ovrDistortionMesh ) ] <EOL> ovrHmd_CreateDistortionMesh . restype = ovrBool <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_DestroyDistortionMesh = _lib . ovrHmd_DestroyDistortionMesh <EOL> ovrHmd_DestroyDistortionMesh . argtypes = [ POINTER ( ovrDistortionMesh ) ] <EOL> ovrHmd_DestroyDistortionMesh . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetRenderScaleAndOffset = _lib . ovrHmd_GetRenderScaleAndOffset <EOL> ovrHmd_GetRenderScaleAndOffset . argtypes = [ ovrFovPort , ovrSizei , ovrRecti , ovrVector2f * <NUM_LIT:2> ] <EOL> ovrHmd_GetRenderScaleAndOffset . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetFrameTiming = _lib . ovrHmd_GetFrameTiming <EOL> ovrHmd_GetFrameTiming . argtypes = [ ovrHmd , c_uint ] <EOL> ovrHmd_GetFrameTiming . restype = ovrFrameTiming <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_BeginFrameTiming = _lib . ovrHmd_BeginFrameTiming <EOL> ovrHmd_BeginFrameTiming . argtypes = [ ovrHmd , c_uint ] <EOL> ovrHmd_BeginFrameTiming . restype = ovrFrameTiming <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_EndFrameTiming = _lib . ovrHmd_EndFrameTiming <EOL> ovrHmd_EndFrameTiming . argtypes = [ ovrHmd ] <EOL> ovrHmd_EndFrameTiming . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_ResetFrameTiming = _lib . ovrHmd_ResetFrameTiming <EOL> ovrHmd_ResetFrameTiming . argtypes = [ ovrHmd , c_uint ] <EOL> ovrHmd_ResetFrameTiming . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetEyePose = _lib . ovrHmd_GetEyePose <EOL> ovrHmd_GetEyePose . argtypes = [ ovrHmd , ovrEyeType ] <EOL> ovrHmd_GetEyePose . restype = ovrPosef <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetEyeTimewarpMatrices = _lib . ovrHmd_GetEyeTimewarpMatrices <EOL> ovrHmd_GetEyeTimewarpMatrices . argtypes = [ ovrHmd , ovrEyeType , ovrPosef , ovrMatrix4f * <NUM_LIT:2> ] <EOL> ovrHmd_GetEyeTimewarpMatrices . restype = None <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrMatrix4f_Projection = _lib . ovrMatrix4f_Projection <EOL> ovrMatrix4f_Projection . argtypes = [ ovrFovPort , c_float , c_float , ovrBool ] <EOL> ovrMatrix4f_Projection . restype = ovrMatrix4f <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrMatrix4f_OrthoSubProjection = _lib . ovrMatrix4f_OrthoSubProjection <EOL> ovrMatrix4f_OrthoSubProjection . argtypes = [ ovrMatrix4f , ovrVector2f , c_float , c_float ] <EOL> ovrMatrix4f_OrthoSubProjection . restype = ovrMatrix4f <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovr_GetTimeInSeconds = _lib . ovr_GetTimeInSeconds <EOL> ovr_GetTimeInSeconds . argtypes = [ ] <EOL> ovr_GetTimeInSeconds . restype = c_double <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovr_WaitTillTime = _lib . ovr_WaitTillTime <EOL> ovr_WaitTillTime . argtypes = [ c_double ] <EOL> ovr_WaitTillTime . restype = c_double <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_ProcessLatencyTest = _lib . ovrHmd_ProcessLatencyTest <EOL> ovrHmd_ProcessLatencyTest . argtypes = [ ovrHmd , c_ubyte * <NUM_LIT:3> ] <EOL> ovrHmd_ProcessLatencyTest . restype = ovrBool <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetLatencyTestResult = _lib . ovrHmd_GetLatencyTestResult <EOL> ovrHmd_GetLatencyTestResult . argtypes = [ ovrHmd ] <EOL> if sizeof ( c_int ) == sizeof ( c_void_p ) : <EOL> ovrHmd_GetLatencyTestResult . restype = ReturnString <EOL> else : <EOL> ovrHmd_GetLatencyTestResult . restype = String <EOL> ovrHmd_GetLatencyTestResult . errcheck = ReturnString <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetMeasuredLatencyTest2 = _lib . ovrHmd_GetMeasuredLatencyTest2 <EOL> ovrHmd_GetMeasuredLatencyTest2 . argtypes = [ ovrHmd ] <EOL> ovrHmd_GetMeasuredLatencyTest2 . restype = c_double <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetFloat = _lib . ovrHmd_GetFloat <EOL> ovrHmd_GetFloat . argtypes = [ ovrHmd , String , c_float ] <EOL> ovrHmd_GetFloat . restype = c_float <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_SetFloat = _lib . ovrHmd_SetFloat <EOL> ovrHmd_SetFloat . argtypes = [ ovrHmd , String , c_float ] <EOL> ovrHmd_SetFloat . restype = ovrBool <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetFloatArray = _lib . ovrHmd_GetFloatArray <EOL> ovrHmd_GetFloatArray . argtypes = [ ovrHmd , String , POINTER ( c_float ) , c_uint ] <EOL> ovrHmd_GetFloatArray . restype = c_uint <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_SetFloatArray = _lib . ovrHmd_SetFloatArray <EOL> ovrHmd_SetFloatArray . argtypes = [ ovrHmd , String , POINTER ( c_float ) , c_uint ] <EOL> ovrHmd_SetFloatArray . restype = ovrBool <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetString = _lib . ovrHmd_GetString <EOL> ovrHmd_GetString . argtypes = [ ovrHmd , String , String ] <EOL> if sizeof ( c_int ) == sizeof ( c_void_p ) : <EOL> ovrHmd_GetString . restype = ReturnString <EOL> else : <EOL> ovrHmd_GetString . restype = String <EOL> ovrHmd_GetString . errcheck = ReturnString <EOL> break <EOL> for _lib in _libs . itervalues ( ) : <EOL> if not hasattr ( _lib , '<STR_LIT>' ) : <EOL> continue <EOL> ovrHmd_GetArraySize = _lib . ovrHmd_GetArraySize <EOL> ovrHmd_GetArraySize . argtypes = [ ovrHmd , String ] <EOL> ovrHmd_GetArraySize . restype = c_uint <EOL> break <EOL> class struct_ovrGLConfigData_s ( Structure ) : <EOL> pass <EOL> struct_ovrGLConfigData_s . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrGLConfigData_s . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrRenderAPIConfigHeader ) , <EOL> ] <EOL> ovrGLConfigData = struct_ovrGLConfigData_s <EOL> class union_ovrGLConfig ( Union ) : <EOL> pass <EOL> union_ovrGLConfig . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> union_ovrGLConfig . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrRenderAPIConfig ) , <EOL> ( '<STR_LIT>' , ovrGLConfigData ) , <EOL> ] <EOL> class struct_ovrGLTextureData_s ( Structure ) : <EOL> pass <EOL> struct_ovrGLTextureData_s . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> struct_ovrGLTextureData_s . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrTextureHeader ) , <EOL> ( '<STR_LIT>' , GLuint ) , <EOL> ] <EOL> ovrGLTextureData = struct_ovrGLTextureData_s <EOL> class union_ovrGLTexture_s ( Union ) : <EOL> pass <EOL> union_ovrGLTexture_s . __slots__ = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> union_ovrGLTexture_s . _fields_ = [ <EOL> ( '<STR_LIT>' , ovrTexture ) , <EOL> ( '<STR_LIT>' , ovrGLTextureData ) , <EOL> ] <EOL> ovrGLTexture = union_ovrGLTexture_s <EOL> ovrVector2i_ = struct_ovrVector2i_ <EOL> ovrSizei_ = struct_ovrSizei_ <EOL> ovrRecti_ = struct_ovrRecti_ <EOL> ovrQuatf_ = struct_ovrQuatf_ <EOL> ovrVector2f_ = struct_ovrVector2f_ <EOL> ovrVector3f_ = struct_ovrVector3f_ <EOL> ovrMatrix4f_ = struct_ovrMatrix4f_ <EOL> ovrPosef_ = struct_ovrPosef_ <EOL> ovrPoseStatef_ = struct_ovrPoseStatef_ <EOL> ovrFovPort_ = struct_ovrFovPort_ <EOL> ovrHmdStruct = struct_ovrHmdStruct <EOL> ovrHmdDesc_ = struct_ovrHmdDesc_ <EOL> ovrSensorState_ = struct_ovrSensorState_ <EOL> ovrSensorDesc_ = struct_ovrSensorDesc_ <EOL> ovrFrameTiming_ = struct_ovrFrameTiming_ <EOL> ovrEyeRenderDesc_ = struct_ovrEyeRenderDesc_ <EOL> ovrRenderAPIConfigHeader_ = struct_ovrRenderAPIConfigHeader_ <EOL> ovrRenderAPIConfig_ = struct_ovrRenderAPIConfig_ <EOL> ovrTextureHeader_ = struct_ovrTextureHeader_ <EOL> ovrTexture_ = struct_ovrTexture_ <EOL> ovrDistortionVertex_ = struct_ovrDistortionVertex_ <EOL> ovrDistortionMesh_ = struct_ovrDistortionMesh_ <EOL> ovrGLConfigData_s = struct_ovrGLConfigData_s <EOL> ovrGLConfig = union_ovrGLConfig <EOL> ovrGLTextureData_s = struct_ovrGLTextureData_s <EOL> ovrGLTexture_s = union_ovrGLTexture_s </s>
