a
    ij;,                     @   s  d Z ddlmZmZ ddlmZ ejejjZddl	m
Z
 ddlmZ ddlT ddlZejZejZejZejZedd	Zed
dZeddZedd	ZeddZeddZeddZeddZeddZedd	ZeddZeddZeddZ eddZ!d	Z"dZ#dZ$dZ%d Z&d!Z'd"Z(d#Z)dZ*d	Z+d	Z,d$Z-dZ.d	Z/d%Z0d&Z1d&Z2d&Z3dZ4dZ5ej6d'ejjdg d(d)d*Z7ej6d+ejjdg d,d)d*Z8e
9d-eeeefd.Z:e
9d/d)d)Z;e
9d0d)d)Z<e
9d1d)d)Z=ej6d2ejjde>egd3d4d*Z?ej6d5ejjeg d6d)d*Z@ej6d7ejjdegd8d9d*ZAej6d:ejjeg d;d)d*ZBej6d<ejjdegd=d9d*ZCej6d>ejjeegd?d@d*ZDej6dAejjeEegdBd@d*ZFej6dCejjdeegdDdEd*ZGej6dFejjdeegdGdEd*ZHej6dHejjdg dId)d*ZIej6dJejjdg dKd)d*ZJej6dLejjdeejKeLgdMdNd*ZMeeMNdOZMej6dPejjdeejKeLgdQdNd*ZOeeONdOZOej6dRejjdeLeLePePgdSdTd*ZQej6dUejjdeLeLePePgdVdTd*ZRej6dWejjeegdXdYd*ZSej6dZejjdePgd[d\d*ZTej6d]ejjdePgd^d_d*ZUej6d`ejjdePePgdadbd*ZVej6dcejjdg ddd)d*ZWej6deejjeXePePeXePgdfdgd*ZYej6dhejjdePgdidjZZdS )ka  FreeGLUT extensions to the GLUT API

This module will provide the FreeGLUT extensions if they are available
from the GLUT module.  Note that any other implementation that also provides
these entry points will also retrieve the entry points with this module.
    )platformarrays)constant)special)wrapper)*N
GLUT_DEBUG   GLUT_FORWARD_COMPATIBLE   GLUT_ACTION_EXIT GLUT_ACTION_GLUTMAINLOOP_RETURNSGLUT_ACTION_CONTINUE_EXECUTIONGLUT_INIT_MAJOR_VERSIONi   GLUT_INIT_MINOR_VERSIONi  GLUT_INIT_FLAGSi  GLUT_CREATE_NEW_CONTEXTGLUT_USE_CURRENT_CONTEXTGLUT_ACTION_ON_WINDOW_CLOSEi  GLUT_WINDOW_BORDER_WIDTHi  i  GLUT_RENDERING_CONTEXTi  i   i    i @  i   i   i      i     glutMainLoopEventzglutMainLoopEvent(  ) -> None )dll
resultTypeargTypesdocZargNamesglutLeaveMainLoopzglutLeaveMainLoop(  ) -> NoneZ
MouseWheel)wheel	directionxyCloseZWMCloseZMenuDestroyglutSetOptionz:glutSetOption( GLenum(option_flag), c_int(value) ) -> None)Zoption_flagvalueglutGetWindowDataz!glutGetWindowData(  ) -> c_void_pglutSetWindowDataz+glutSetWindowData( c_void_p(data) ) -> None)dataglutGetMenuDatazglutGetMenuData(  ) -> c_void_pglutSetMenuDataz)glutSetMenuData( c_void_p(data) ) -> NoneglutBitmapHeightz+glutBitmapHeight( c_void_p(font) ) -> c_int)fontglutStrokeHeightz-glutStrokeHeight( c_void_p(font) ) -> GLfloatglutBitmapStringzDglutBitmapString( c_void_p(font), POINTER(c_ubyte)(string) ) -> None)r-   stringglutStrokeStringzDglutStrokeString( c_void_p(font), POINTER(c_ubyte)(string) ) -> NoneglutWireRhombicDodecahedronz'glutWireRhombicDodecahedron(  ) -> NoneglutSolidRhombicDodecahedronz(glutSolidRhombicDodecahedron(  ) -> NoneglutWireSierpinskiSpongezdglutWireSierpinskiSponge( c_int(num_levels), arrays.GLdoubleArray(offset), GLdouble(scale) ) -> None)Z
num_levelsoffsetscaler5   glutSolidSierpinskiSpongezeglutSolidSierpinskiSponge( c_int(num_levels), arrays.GLdoubleArray(offset), GLdouble(scale) ) -> NoneglutWireCylinderz\glutWireCylinder( GLdouble(radius), GLdouble(height), GLint(slices), GLint(stacks) ) -> None)ZradiusheightZslicesstacksglutSolidCylinderz]glutSolidCylinder( GLdouble(radius), GLdouble(height), GLint(slices), GLint(stacks) ) -> NoneglutGetProcAddressz2glutGetProcAddress( STRING(procName) ) -> c_void_p)ZprocNameglutInitContextFlagsz,glutInitContextFlags( GLint(flags) ) -> None)flagsglutInitContextProfilez0glutInitContextProfile( GLint(profile) ) -> None)ZprofileglutInitContextVersionzJglutInitContextVersion( GLint(majorVersion), GLint(minorVersion) ) -> None)ZmajorVersionZminorVersionglutFullScreenTogglezglutFullScreenToggle( ) -> NoneglutGetModeValueszNglutInitContextVersion( GLenum(mode), POINTER(GLint)(size) ) -> POINTER(GLint))modesizefgDeinitializeag  fgDeinitialize () -> None
    
Exposed to allow client code to work around an AMD/FGLRX bug on 
GLX platforms. FGLRX and FreeGLUT both register cleanup functions 
that unless registered in the correct order, will cause seg-faults.

To work around this, call fgDeinitialize(False) before doing a 
sys.exit() or similar call that terminates your GLUT mainloop.
)r   r   r   r   )[__doc__ZOpenGLr   r   r   ZPLATFORMZfunctionTypeForZGLUTZFUNCTION_TYPEZOpenGL.GLUTr   r   _wrapperZOpenGL.raw.GL._typesctypesZc_intc_char_pZc_ubyteZc_void_pConstantr   r
   r   r   r   r   r   r   r   r   r   r   ZGLUT_WINDOW_HEADER_HEIGHTr   ZGLUT_ALLOW_DIRECT_CONTEXTZGLUT_AUXZ	GLUT_AUX1Z	GLUT_AUX2Z	GLUT_AUX3Z	GLUT_AUX4ZGLUT_BORDERLESSZGLUT_CAPTIONLESSZGLUT_COMPATIBILITY_PROFILEZGLUT_CORE_PROFILEZGLUT_DIRECT_RENDERINGZGLUT_FORCE_DIRECT_CONTEXTZGLUT_FORCE_INDIRECT_CONTEXTZGLUT_FULL_SCREENZGLUT_INIT_PROFILEZGLUT_KEY_BEGINZGLUT_KEY_DELETEZGLUT_KEY_NUM_LOCKZ	GLUT_SRGBZGLUT_TRY_DIRECT_CONTEXTZcreateBaseFunctionr   r   ZGLUTCallbackZglutMouseWheelFuncZglutCloseFuncZglutWMCloseFuncZglutMenuDestroyFuncZGLenumr%   r'   r(   r*   r+   r,   ZGLfloatr.   r/   r1   r2   r3   ZGLdoubleArrayZGLdoubler4   ZsetInputArraySizer7   ZGLintr8   r;   r<   r=   r?   r@   rA   ZPOINTERrB   rE   r   r   r   R/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GLUT/freeglut.py<module>   s  



























	
