<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE library SYSTEM "library.dtd">
<library name="glut" basename="GlutBase" openname="mglut.library">
	<interface name="main" version="1.0" struct="GlutIFace" 
		prefix="glut_" global="IGlut">
		<method name="Obtain" result="ULONG"/>
		<method name="Release" result="ULONG"/>
		<method name="Expunge" result="void"/>
		<method name="Clone" result="struct Interface *"/>
		
		<method name="GLUTInit" result="void">
			<arg name="argc" type="int *"/>
			<arg name="argv" type="char **"/>
		</method>
		<method name="GLUTExit" result="void">
		</method>
		<method name="GLUTInitWindowSize" result="void">
			<arg name="width" type="int"/>
			<arg name="height" type="int"/>
		</method>
		<method name="GLUTInitWindowPosition" result="void">
			<arg name="x" type="int"/>
			<arg name="y" type="int"/>
		</method>
		<method name="GLUTInitDisplayMode" result="void">
			<arg name="mode" type="unsigned int"/>
		</method>
		<method name="GLUTCreateWindow" result="int">
			<arg name="name" type="const char *"/>
		</method>
		<method name="GLUTDestroyWindow" result="void">
			<arg name="window" type="int"/>
		</method>
		<method name="GLUTPostRedisplay" result="void">
		</method>
		<method name="GLUTSwapBuffers" result="void">
		</method>
		<method name="GLUTMainLoop" result="void">
		</method>
		<method name="GLUTPositionWindow" result="void">
			<arg name="x" type="int"/>
			<arg name="y" type="int"/>
		</method>
		<method name="GLUTReshapeWindow" result="void">
			<arg name="width" type="int"/>
			<arg name="height" type="int"/>
		</method>
		<method name="GLUTFullScreen" result="void">
		</method>
		<method name="GLUTPushWindow" result="void">
		</method>
		<method name="GLUTPopWindow" result="void">
		</method>
		<method name="GLUTShowWindow" result="void">
		</method>
		<method name="GLUTHideWindow" result="void">
		</method>
		<method name="GLUTIconifyWindow" result="void">
		</method>
		<method name="GLUTSetWindowTitle" result="void">
			<arg name="name" type="char *"/>
		</method>
		<method name="GLUTSetIconTitle" result="void">
			<arg name="name" type="char *"/>
		</method>
		<method name="GLUTDisplayFunc" result="void">
			<arg name="func" type="void (*)()"/>
		</method>
		<method name="GLUTReshapeFunc" result="void">
			<arg name="func" type="void (*)(int, int)"/>
		</method>
		<method name="GLUTKeyboardFunc" result="void">
			<arg name="func" type="void (*)(unsigned char, int, int)"/>
		</method>
		<method name="GLUTMouseFunc" result="void">
			<arg name="func" type="void (*)(int, int, int, int)"/>
		</method>
		<method name="GLUTMotionFunc" result="void">
			<arg name="func" type="void (*)(int, int)"/>
		</method>
		<method name="GLUTPassiveMotionFunc" result="void">
			<arg name="func" type="void (*)(int, int)"/>
		</method>
		<method name="GLUTVisibilityFunc" result="void">
			<arg name="func" type="void (*)(int)"/>
		</method>
		<method name="GLUTEntryFunc" result="void">
			<arg name="func" type="void (*)(int)"/>
		</method>
		<method name="GLUTSpecialFunc" result="void">
			<arg name="func" type="void (*)(int, int, int)"/>
		</method>
		<method name="GLUTIdleFunc" result="void">
			<arg name="func" type="void (*)(void)"/>
		</method>
		<method name="GLUTGet" result="int">
			<arg name="state" type="GLenum"/>
		</method>
		<method name="GLUTKeyboardUpFunc" result="void">
			<arg name="func" type="void (*)(unsigned char, int, int)"/>
		</method>
		<method name="GLUTSpecialUpFunc" result="void">
			<arg name="func" type="void (*)(int, int, int)"/>
		</method>
		<method name="GLUTIgnoreKeyRepeat" result="void">
			<arg name="ignore" type="int"/>
		</method>
		<method name="GLUTBitmapCharacter" result="void">
			<arg name="fontID" type="void*"/>
			<arg name="character" type="int"/>
		</method>
		<method name="GLUTBitmapString" result="void">
			<arg name="fontID" type="void*"/>
			<arg name="string" type="const unsigned char*"/>
		</method>
		<method name="GLUTBitmapWidth" result="int">
			<arg name="fontID" type="void*"/>
			<arg name="character" type="int"/>
		</method>
		<method name="GLUTBitmapLength" result="int">
			<arg name="fontID" type="void*"/>
            <arg name="string" type="const unsigned char*"/>
		</method>
		<method name="GLUTBitmapHeight" result="int">
			<arg name="fontID" type="void*"/>
		</method>
		<method name="GLUTStrokeCharacter" result="void">
			<arg name="fontID" type="void*"/>
			<arg name="character" type="int"/>
		</method>
		<method name="GLUTStrokeString" result="void">
			<arg name="fontID" type="void*"/>
			<arg name="string" type="const unsigned char*"/>
		</method>
		<method name="GLUTStrokeWidth" result="int">
			<arg name="fontID" type="void*"/>
			<arg name="character" type="int"/>
		</method>
		<method name="GLUTStrokeLength" result="int">
			<arg name="fontID" type="void*"/>
            <arg name="string" type="const unsigned char*"/>
		</method>
		<method name="GLUTStrokeHeight" result="int">
			<arg name="fontID" type="void*"/>
		</method>
		<method name="GLUTGameModeString" result="void">
			<arg name="string" type="const char*"/>
		</method>
		<method name="GLUTEnterGameMode" result="int">
		</method>
		<method name="GLUTLeaveGameMode" result="void">
		</method>
		<method name="GLUTGameModeGet" result="int">
			<arg name="eWhat" type="GLenum"/>
		</method>
		<method name="GLUTWireCube" result="void">
			<arg name="size" type="GLdouble"/>
		</method>
		<method name="GLUTSolidCube" result="void">
			<arg name="size" type="GLdouble"/>
		</method>
		<method name="GLUTWireSphere" result="void">
			<arg name="radius" type="GLdouble"/>
			<arg name="slices" type="GLint"/>
			<arg name="stacks" type="GLint"/>
		</method>
		<method name="GLUTSolidSphere" result="void">
            <arg name="radius" type="GLdouble"/>
			<arg name="slices" type="GLint"/>
			<arg name="stacks" type="GLint"/>
		</method>
		<method name="GLUTWireCone" result="void">
			<arg name="base" type="GLdouble"/>
			<arg name="height" type="GLdouble"/>
            <arg name="slices" type="GLint"/>
			<arg name="stacks" type="GLint"/>
		</method>
		<method name="GLUTSolidCone" result="void">
			<arg name="base" type="GLdouble"/>
			<arg name="height" type="GLdouble"/>
            <arg name="slices" type="GLint"/>
			<arg name="stacks" type="GLint"/>
		</method>
		<method name="GLUTWireTorus" result="void">
			<arg name="innerRadius" type="GLdouble"/>
			<arg name="outerRadius" type="GLdouble"/>
			<arg name="sides" type="GLint"/>
			<arg name="rings" type="GLint"/>
		</method>
		<method name="GLUTSolidTorus" result="void">
			<arg name="innerRadius" type="GLdouble"/>
			<arg name="outerRadius" type="GLdouble"/>
			<arg name="sides" type="GLint"/>
			<arg name="rings" type="GLint"/>
		</method>
		<method name="GLUTWireDodecahedron" result="void">
		</method>
		<method name="GLUTSolidDodecahedron" result="void">
		</method>
		<method name="GLUTWireOctahedron" result="void">
		</method>
		<method name="GLUTSolidOctahedron" result="void">
		</method>
		<method name="GLUTWireTetrahedron" result="void">
		</method>
		<method name="GLUTSolidTetrahedron" result="void">
		</method>
		<method name="GLUTWireIcosahedron" result="void">
		</method>
		<method name="GLUTSolidIcosahedron" result="void">
		</method>
		<method name="GLUTWireRhombicDodecahedron" result="void">
		</method>
		<method name="GLUTSolidRhombicDodecahedron" result="void">
		</method>
		<method name="GLUTWireSierpinskiSponge" result="void">
			<arg name="num_levels" type="int"/>
			<arg name="offset[3]" type="GLdouble"/>
			<arg name="scale" type="GLdouble"/>
		</method>
		<method name="GLUTSolidSierpinskiSponge" result="void">
            <arg name="num_levels" type="int"/>
			<arg name="offset[3]" type="GLdouble"/>
			<arg name="scale" type="GLdouble"/>
		</method>
		<method name="GLUTWireCylinder" result="void">
			<arg name="radius" type="GLdouble"/>
			<arg name="height" type="GLdouble"/>
            <arg name="slices" type="GLint"/>
			<arg name="stacks" type="GLint"/>
		</method>
		<method name="GLUTSolidCylinder" result="void">
            <arg name="radius" type="GLdouble"/>
			<arg name="height" type="GLdouble"/>
            <arg name="slices" type="GLint"/>
			<arg name="stacks" type="GLint"/>
		</method>
		<method name="GLUTWireTeapot" result="void">
			<arg name="size" type="GLdouble"/>
		</method>
		<method name="GLUTSolidTeapot" result="void">
			<arg name="size" type="GLdouble"/>
		</method>
		<method name="GLUTSetOption" result="void">
			<arg name="eWhat" type="GLenum"/>
			<arg name="value" type="int"/>
		</method>
		<method name="GLUTDeviceGet" result="int">
			<arg name="eWhat" type="GLenum"/>
		</method>
		<method name="GLUTGetModifiers" result="int">
		</method>
		<method name="GLUTLayerGet" result="int">
			<arg name="eWhat" type="GLenum"/>
		</method>
		<method name="GLUTEstablishOverlay" result="void">
		</method>
		<method name="GLUTRemoveOverlay" result="void">
		</method>
		<method name="GLUTUseLayer" result="void">
			<arg name="layer" type="GLenum"/>
		</method>
		<method name="GLUTPostOverlayRedisplay" result="void">
		</method>
		<method name="GLUTPostWindowOverlayRedisplay" result="void">
			<arg name="ID" type="int"/>
		</method>
		<method name="GLUTShowOverlay" result="void">
		</method>
		<method name="GLUTHideOverlay" result="void">
		</method>
		<method name="GLUTTimerFunc" result="void">
			<arg name="msecs" type="unsigned int" />
			<arg name="func" type="void (*)(int value)"/>
			<arg name="value" type="int"/>
		</method>
		<method name="GLUTCloseFunc" result="void">
			<arg name="func" type="void (*)(void)"/>
		</method>
		<method name="GLUTExtensionSupported" result="int">
			<arg name="extension" type="const char*"/>
		</method>
		<method name="GLUTSetKeyRepeat" result="void">
			<arg name="repeatMode" type="int"/>
		</method>
		<method name="GLUTForceJoystickFunc" result="void">
		</method>
		<method name="GLUTSetColor" result="void">
			<arg name="nColor" type="int"/>
			<arg name="red" type="GLfloat"/>
			<arg name="green" type="GLfloat"/>
			<arg name="blue" type="GLfloat"/>
		</method>
		<method name="GLUTGetColor" result="GLfloat">
			<arg name="color" type="int"/>
			<arg name="component" type="int"/>
		</method> 
		<method name="GLUTCopyColormap" result="void">
			<arg name="window" type="int"/>
		</method>
        <method name="GLUTWarpPointer" result="void">
			<arg name="x" type="int"/>
			<arg name="y" type="int"/>
		</method>

		<method name="GLUTSpaceballMotionFunc" result="void">
			<arg name="callback" type="void (*)( int, int, int )"/>
		</method>
		<method name="GLUTSpaceballRotateFunc" result="void">
			<arg name="callback" type="void (*)( int, int, int )"/>
		</method>
		<method name="GLUTSpaceballButtonFunc" result="void">
            <arg name="callback" type="void (*)( int, int )"/>
		</method>
		<method name="GLUTButtonBoxFunc" result="void">
            <arg name="callback" type="void (*)( int, int )"/>
		</method>
		<method name="GLUTDialsFunc" result="void">
            <arg name="callback" type="void (*)( int, int )"/>
		</method>
		<method name="GLUTTabletMotionFunc" result="void">
            <arg name="callback" type="void (*)( int, int )"/>
		</method>
		<method name="GLUTTabletButtonFunc" result="void">
            <arg name="callback" type="void (*)( int, int, int, int )"/>
		</method>
		<method name="GLUTOverlayDisplayFunc" result="void">
            <arg name="callback" type="void (*)( void )"/>
		</method>
		<method name="GLUTJoystickFunc" result="void">
            <arg name="callback" type="void (*)( unsigned int, int, int, int )"/>
			<arg name="pollInterval" type="int"/>
		</method>
	</interface>
</library>
