<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE library SYSTEM "library.dtd">
<library name="minigl" basename="MiniGLBase" openname="minigl.library">
	<interface name="main" version="1.0" struct="MiniGLIFace" 
		prefix="mgl_" global="IMiniGL">
		<method name="Obtain" result="ULONG"/>
		<method name="Release" result="ULONG"/>
		<method name="Expunge" result="void" status="unimplemented"/>
		<method name="Clone" result="struct Interface *" status="unimplemented"/>
				
		<method name="CreateContext" result="void *">
			<arg name="tagList" type="struct TagItem *"/>
		</method>

		<method name="CreateContextTags" result="void *">
			<vararg name="tags" type="uint32"/>
		</method>

		<method name="GetSupportedScreenModes" result="GLint">
			<arg name="CallbackFn" type="MGLScreenModeCallback"/>
		</method>
	</interface>
	
	<interface name="miniglcontext" version="1.0" struct="GLContextIFace"
		prefix="cgl_">
		<method name="Obtain" result="ULONG"/>
		<method name="Release" result="ULONG"/>
		<method name="Expunge" result="void" status="unimplemented"/>
		<method name="Clone" result="struct Interface *" status="unimplemented"/>
		<method name="SetBitmap" result="void">
			<arg name="bitmap" type="void *"/>
		</method>
		<method name="DeleteContext" result="void">
		</method>
		<method name="EnableSync" result="void">
			<arg name="enable" type="GLboolean"/>
		</method>
		<method name="MinTriArea" result="void">
			<arg name="area" type="GLfloat"/>
		</method>
		<method name="GetWindowHandle" result="void *">
		</method>
		<method name="LockDisplay" result="GLboolean">
		</method>
		<method name="ResizeContext" result="void">
			<arg name="width" type="GLsizei"/>
			<arg name="height" type="GLsizei"/>
		</method>
		<method name="SetState" result="void">
			<arg name="cap" type="GLenum"/>
			<arg name="state" type="GLboolean"/>
		</method>
		<method name="SwitchDisplay" result="void">
		</method>
		<method name="UnlockDisplay" result="void">
		</method>
		<method name="LockMode" result="void">
			<arg name="lockMode" type="GLenum"/>
		</method>
		<method name="SetZOffset" result="void">
			<arg name="offset" type="GLfloat"/>
		</method>
		<method name="LockBack" result="GLboolean">
			<arg name="*info" type="MGLLockInfo"/>
		</method>
		<method name="GrabFocus" result="void">
			<arg name="grab" type="GLboolean"/>
		</method>
		<method name="PinTexture" result="void">
			<arg name="texnum" type="GLuint"/>
		</method>
		<method name="UnpinTexture" result="void">
			<arg name="texnum" type="GLuint"/>
		</method>
		<method name="SetTextureRenderTarget" result="void">
			<arg name="texnum" type="GLuint"/>
		</method>
		
		<method name="GLAlphaFunc" result="void">
			<arg name="func" type="GLenum"/>
			<arg name="ref" type="GLclampf"/>
		</method>
		<method name="GLBegin" result="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLBindTexture" result="void">
			<arg name="target" type="GLenum"/>
			<arg name="texture" type="GLuint"/>
		</method>
		<method name="GLBlendFunc" result="void">
			<arg name="sfactor" type="GLenum"/>
			<arg name="dfactor" type="GLenum"/>
		</method>
		<method name="GLClear" result="void">
			<arg name="mask" type="GLbitfield"/>
		</method>
		<method name="GLClearColor" result="void">
			<arg name="red" type="GLclampf"/>
			<arg name="green" type="GLclampf"/>
			<arg name="blue" type="GLclampf"/>
			<arg name="alpha" type="GLclampf"/>
		</method>
		<method name="GLClearDepth" result="void">
			<arg name="depth" type="GLclampd"/>
		</method>
		<method name="GLColor4f" result="void">
			<arg name="red" type="GLfloat"/>
			<arg name="green" type="GLfloat"/>
			<arg name="blue" type="GLfloat"/>
			<arg name="alpha" type="GLfloat"/>
		</method>
		<method name="GLColorTable" result="void">
			<arg name="target" type="GLenum"/>
			<arg name="internalformat" type="GLenum"/>
			<arg name="width" type="GLint"/>
			<arg name="format" type="GLenum"/>
			<arg name="type" type="GLenum"/>
			<arg name="*data" type="GLvoid"/>
		</method>
		<method name="GLCullFace" result="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLDeleteTextures" result="void">
			<arg name="n" type="GLsizei"/>
			<arg name="*textures" type="const GLuint"/>
		</method>
		<method name="GLDepthFunc" result="void">
			<arg name="func" type="GLenum"/>
		</method>
		<method name="GLDepthMask" result="void">
			<arg name="flag" type="GLboolean"/>
		</method>
		<method name="GLDepthRange" result="void">
			<arg name="n" type="GLclampd"/>
			<arg name="f" type="GLclampd"/>
		</method>
		<method name="GLDrawBuffer" result="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLEnd" result="void">
		</method>
		<method name="GLFinish" result="void">
		</method>
		<method name="GLFlush" result="void">
		</method>
		<method name="GLFogf" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLfloat"/>
		</method>
		<method name="GLFogfv" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="*param" type="GLfloat"/>
		</method>
		<method name="GLFrontFace" result="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLFrustum" result="void">
			<arg name="left" type="GLdouble"/>
			<arg name="right" type="GLdouble"/>
			<arg name="bottom" type="GLdouble"/>
			<arg name="top" type="GLdouble"/>
			<arg name="zNear" type="GLdouble"/>
			<arg name="zFar" type="GLdouble"/>
		</method>
		<method name="GLGenTextures" result="void">
			<arg name="n" type="GLsizei"/>
			<arg name="*textures" type="GLuint"/>
		</method>
		<method name="GLGetBooleanv" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="*params" type="GLboolean"/>
		</method>
		<method name="GLGetError" result="GLenum">
		</method>
		<method name="GLGetFloatv" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="*params" type="GLfloat"/>
		</method>
		<method name="GLGetIntegerv" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="*params" type="GLint"/>
		</method>
		<method name="GLGetString" result="const GLubyte*">
			<arg name="name" type="GLenum"/>
		</method>
		<method name="GLHint" result="void">
			<arg name="target" type="GLenum"/>
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLIsEnabled" result="GLboolean">
			<arg name="cap" type="GLenum"/>
		</method>
		<method name="GLLoadIdentity" result="void">
		</method>
		<method name="GLLoadMatrixd" result="void">
			<arg name="*m" type="const GLdouble"/>
		</method>
		<method name="GLLoadMatrixf" result="void">
			<arg name="*m" type="const GLfloat"/>
		</method>
		<method name="GLMatrixMode" result="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLMultMatrixd" result="void">
			<arg name="*m" type="const GLdouble"/>
		</method>
		<method name="GLMultMatrixf" result="void">
			<arg name="*m" type="const GLfloat"/>
		</method>
		<method name="GLNormal3f" result="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
		</method>
		<method name="GLOrtho" result="void">
			<arg name="left" type="GLdouble"/>
			<arg name="right" type="GLdouble"/>
			<arg name="bottom" type="GLdouble"/>
			<arg name="top" type="GLdouble"/>
			<arg name="zNear" type="GLdouble"/>
			<arg name="zFar" type="GLdouble"/>
		</method>
		<method name="GLPixelStorei" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLint"/>
		</method>
		<method name="GLPolygonMode" result="void">
			<arg name="face" type="GLenum"/>
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLPolygonOffset" result="void">
			<arg name="factor" type="GLfloat"/>
			<arg name="units" type="GLfloat"/>
		</method>
		<method name="GLPopMatrix" result="void">
		</method>
		<method name="GLPushMatrix" result="void">
		</method>
		<method name="GLReadPixels" result="void">
			<arg name="x" type="GLint"/>
			<arg name="y" type="GLint"/>
			<arg name="width" type="GLsizei"/>
			<arg name="height" type="GLsizei"/>
			<arg name="format" type="GLenum"/>
			<arg name="type" type="GLenum"/>
			<arg name="*pixels" type="GLvoid"/>
		</method>
		<method name="GLRotatef" result="void">
			<arg name="angle" type="GLfloat"/>
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
		</method>
		<method name="GLScalef" result="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
		</method>
		<method name="GLScissor" result="void">
			<arg name="x" type="GLint"/>
			<arg name="y" type="GLint"/>
			<arg name="width" type="GLsizei"/>
			<arg name="height" type="GLsizei"/>
		</method>
		<method name="GLShadeModel" result="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLTexCoord2f" result="void">
			<arg name="s" type="GLfloat"/>
			<arg name="t" type="GLfloat"/>
		</method>
		<method name="GLTexCoord4f" result="void">
			<arg name="s" type="GLfloat"/>
			<arg name="t" type="GLfloat"/>
			<arg name="r" type="GLfloat"/>
			<arg name="q" type="GLfloat"/>
		</method>
		<method name="GLTexEnvi" result="void">
			<arg name="target" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLint"/>
		</method>
		<method name="GLTexEnvfv" result="void">
			<arg name="target" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="*param" type="GLfloat"/>
		</method>
		<method name="GLTexGeni" result="void">
			<arg name="coord" type="GLenum"/>
			<arg name="mode" type="GLenum"/>
			<arg name="param" type="GLint"/>
		</method>
		<method name="GLTexGenfv" result="void">
			<arg name="coord" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="*params" type="GLfloat"/>
		</method>
		<method name="GLTexImage2D" result="void">
			<arg name="target" type="GLenum"/>
			<arg name="level" type="GLint"/>
			<arg name="internalformat" type="GLint"/>
			<arg name="width" type="GLsizei"/>
			<arg name="height" type="GLsizei"/>
			<arg name="border" type="GLint"/>
			<arg name="format" type="GLenum"/>
			<arg name="type" type="GLenum"/>
			<arg name="*pixels" type="const GLvoid"/>
		</method>
		<method name="GLTexParameteri" result="void">
			<arg name="target" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLint"/>
		</method>
		<method name="GLTexSubImage2D" result="void">
			<arg name="target" type="GLenum"/>
			<arg name="level" type="GLint"/>
			<arg name="xoffset" type="GLint"/>
			<arg name="yoffset" type="GLint"/>
			<arg name="width" type="GLsizei"/>
			<arg name="height" type="GLsizei"/>
			<arg name="format" type="GLenum"/>
			<arg name="type" type="GLenum"/>
			<arg name="*pixels" type="const GLvoid"/>
		</method>
		<method name="GLTranslatef" result="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
		</method>
		<method name="GLVertex4f" result="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
			<arg name="w" type="GLfloat"/>
		</method>
		<method name="GLViewport" result="void">
			<arg name="x" type="GLint"/>
			<arg name="y" type="GLint"/>
			<arg name="width" type="GLsizei"/>
			<arg name="height" type="GLsizei"/>
		</method>
		<method name="GLPushAttrib" result="void">
			<arg name="attrib" type="GLbitfield"/>
		</method>
		<method name="GLPopAttrib" result="void">
		</method>
		<method name="GLRectf" result="void">
			<arg name="x1" type="GLfloat"/>
			<arg name="y1" type="GLfloat"/>
			<arg name="x2" type="GLfloat"/>
			<arg name="y2" type="GLfloat"/>
		</method>
		<method name="GLEnableClientState" result="void">
			<arg name="state" type="GLenum"/>
		</method>
		<method name="GLDisableClientState" result="void">
			<arg name="state" type="GLenum"/>
		</method>
		<method name="GLTexCoordPointer" result="void">
			<arg name="size" type="GLint"/>
			<arg name="type" type="GLenum"/>
			<arg name="stride" type="GLsizei"/>
			<arg name="*pointer" type="const GLvoid"/>
		</method>
		<method name="GLNormalPointer" result="void">
			<arg name="type" type="GLenum"/>
			<arg name="stride" type="GLsizei"/>
			<arg name="*pointer" type="const GLvoid"/>
		</method>
		<method name="GLColorPointer" result="void">
			<arg name="size" type="GLint"/>
			<arg name="type" type="GLenum"/>
			<arg name="stride" type="GLsizei"/>
			<arg name="*pointer" type="const GLvoid"/>
		</method>
		<method name="GLVertexPointer" result="void">
			<arg name="size" type="GLint"/>
			<arg name="type" type="GLenum"/>
			<arg name="stride" type="GLsizei"/>
			<arg name="*pointer" type="const GLvoid"/>
		</method>
		<method name="GLDrawElements" result="void">
			<arg name="mode" type="GLenum"/>
			<arg name="cound" type="GLsizei"/>
			<arg name="type" type="GLenum"/>
			<arg name="*indices" type="const GLvoid"/>
		</method>
		<method name="GLDrawArrays" result="void">
			<arg name="mode" type="GLenum"/>
			<arg name="first" type="GLint"/>
			<arg name="count" type="GLsizei"/>
		</method>
		<method name="GLArrayElement" result="void">
			<arg name="i" type="GLint"/>
		</method>
		<method name="GLClientActiveTexture" result="void">
			<arg name="texture" type="GLenum"/>
		</method>
		<method name="GLInterleavedArrays" result="void">
			<arg name="format" type="GLenum"/>
			<arg name="stride" type="GLsizei"/>
			<arg name="*pointer" type="const GLvoid"/>
		</method>
		<method name="GLLockArrays" result="void">
			<arg name="first" type="GLint"/>
			<arg name="count" type="GLsizei"/>
		</method>
		<method name="GLUnlockArrays" result="void">
		</method>
		<method name="GLActiveTexture" result="void">
			<arg name="unit" type="GLenum"/>
		</method>
		<method name="GLMultiTexCoord2f" result="void">
			<arg name="unit" type="GLenum"/>
			<arg name="s" type="GLfloat"/>
			<arg name="t" type="GLfloat"/>
		</method>
		<method name="GLMultiTexCoord4f" result="void">
			<arg name="unit" type="GLenum"/>
			<arg name="s" type="GLfloat"/>
			<arg name="t" type="GLfloat"/>
			<arg name="r" type="GLfloat"/>
			<arg name="q" type="GLfloat"/>
		</method>
		<method name="GLMaterialf" result="void">
			<arg name="face" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLfloat"/>
		</method>
		<method name="GLMaterialfv" result="void">
			<arg name="face" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLfloat *"/>
		</method>
		<method name="GLMaterialiv" result="void">
			<arg name="face" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLint *"/>
		</method>
		<method name="GLLightf" result="void">
			<arg name="light" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLfloat"/>
		</method>
		<method name="GLLightfv" result="void">
			<arg name="light" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLfloat *"/>
		</method>
		<method name="GLLightiv" result="void">
			<arg name="light" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLint *"/>
		</method>
		<method name="GLLightModelf" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLfloat"/>
		</method>
		<method name="GLLightModelfv" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLfloat *"/>
		</method>
		<method name="GLLightModeliv" result="void">
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLint *"/>
		</method>
		<method name="GLColorMaterial" result="void">
			<arg name="face" type="GLenum"/>
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLStencilFunc" result="void">
			<arg name="func" type="GLenum"/>
			<arg name="ref" type="GLint"/>
			<arg name="mask" type="GLint"/>
		</method>
		<method name="GLStencilOp" result="void">
			<arg name="sfail" type="GLenum"/>
			<arg name="dpfail" type="GLenum"/>
			<arg name="dppass" type="GLenum"/>
		</method>
		<method name="GLStencilMask" result="void">
			<arg name="mask" type="GLuint"/>
		</method>
		<method name="GLClearStencil" result="void">
			<arg name="s" type="GLint"/>
		</method>
		<method name="GLColorMask" result="void">
			<arg name="red" type="GLboolean"/>
			<arg name="green" type="GLboolean"/>
			<arg name="blue" type="GLboolean"/>
			<arg name="alpha" type="GLboolean"/>
		</method>
		<method name="GLLineWidth" result="void">
			<arg name="width" type="GLfloat"/>
		</method>
		<method name="GLClipPlane" result="void">
			<arg name="plane" type="GLenum"/>
			<arg name="*eqn" type="GLdouble"/>
		</method>
		<method name="GLPointSize" result="void">
			<arg name="size" type="GLfloat"/>
		</method>
		<method name="GLBitmap" result="void">
			<arg name="w" type="GLsizei"/>
			<arg name="h" type="GLsizei"/>
			<arg name="xbo" type="GLfloat"/>
			<arg name="ybo" type="GLfloat"/>
			<arg name="xbi" type="GLfloat"/>
			<arg name="ybi" type="GLfloat"/>
			<arg name="*data" type="GLubyte"/>
		</method>
		<method name="GLLineStipple" result="void">
			<arg name="factor" type="GLint"/>
			<arg name="pattern" type="GLushort"/>
		</method>
		<method name="GLPolygonStipple" result="void">
			<arg name="*pattern" type="GLubyte"/>
		</method>
		<method name="GLRasterPos4f" result="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
			<arg name="w" type="GLfloat"/>
		</method>
	</interface>
</library>
