<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE library SYSTEM "library.dtd">
<library name="minigl" basename="MiniGLBase" openname="minigl.library">
	<include>GL/gl.h</include>
	<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="MGLCreateContextFromBitmap" type="void *">
			<arg name="offsetx" type="int"/>
			<arg name="offsety" type="int"/>
			<arg name="bitmap" type="void*"/>
		</method>
		
		<method name="MGLCreateContext" type="void *">
			<arg name="offx" type="int"/>
			<arg name="offy" type="int"/>
			<arg name="w" type="int"/>
			<arg name="h" type="int"/>
		</method>
		
		<method name="MGLCreateContextFromID" type="void *">
			<arg name="ID" type="GLint"/>
			<arg name="*w" type="GLint"/>
			<arg name="*h" type="GLint"/>
		</method>

		<method name="MGLGetSupportedScreenModes" type="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"/>
		<method name="Clone" result="struct Interface *"/>
		<method name="MGLSetBitmap" type="void">
			<arg name="bitmap" type="void *"/>
		</method>
		<method name="MGLDeleteContext" type="void">
		</method>
		<method name="MGLEnableSync" type="void">
			<arg name="enable" type="GLboolean"/>
		</method>
		<method name="MGLMinTriArea" type="void">
			<arg name="area" type="GLfloat"/>
		</method>
		<method name="MGLGetWindowHandle" type="void *">
		</method>
		<method name="MGLLockDisplay" type="GLboolean">
		</method>
		<method name="MGLResizeContext" type="void">
			<arg name="width" type="GLsizei"/>
			<arg name="height" type="GLsizei"/>
		</method>
		<method name="MGLSetState" type="void">
			<arg name="cap" type="GLenum"/>
			<arg name="state" type="GLboolean"/>
		</method>
		<method name="MGLSwitchDisplay" type="void">
		</method>
		<method name="MGLUnlockDisplay" type="void">
		</method>
		<method name="MGLLockMode" type="void">
			<arg name="lockMode" type="GLenum"/>
		</method>
		<method name="MGLSetZOffset" type="void">
			<arg name="offset" type="GLfloat"/>
		</method>
		<method name="MGLLockBack" type="GLboolean">
			<arg name="*info" type="MGLLockInfo"/>
		</method>
		<method name="MGLGrabFocus" type="void">
			<arg name="grab" type="GLboolean"/>
		</method>
		<method name="MGLPinTexture" type="void">
			<arg name="texnum" type="GLuint"/>
		</method>
		<method name="MGLUnpinTexture" type="void">
			<arg name="texnum" type="GLuint"/>
		</method>
		<method name="MGLSetTextureRenderTarget" type="void">
			<arg name="texnum" type="GLuint"/>
		</method>
		
		<method name="GLAlphaFunc" type="void">
			<arg name="func" type="GLenum"/>
			<arg name="ref" type="GLclampf"/>
		</method>
		<method name="GLBegin" type="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLBindTexture" type="void">
			<arg name="target" type="GLenum"/>
			<arg name="texture" type="GLuint"/>
		</method>
		<method name="GLBlendFunc" type="void">
			<arg name="sfactor" type="GLenum"/>
			<arg name="dfactor" type="GLenum"/>
		</method>
		<method name="GLClear" type="void">
			<arg name="mask" type="GLbitfield"/>
		</method>
		<method name="GLClearColor" type="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" type="void">
			<arg name="depth" type="GLclampd"/>
		</method>
		<method name="GLColor4f" type="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" type="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" type="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLDeleteTextures" type="void">
			<arg name="n" type="GLsizei"/>
			<arg name="*textures" type="const GLuint"/>
		</method>
		<method name="GLDepthFunc" type="void">
			<arg name="func" type="GLenum"/>
		</method>
		<method name="GLDepthMask" type="void">
			<arg name="flag" type="GLboolean"/>
		</method>
		<method name="GLDepthRange" type="void">
			<arg name="n" type="GLclampd"/>
			<arg name="f" type="GLclampd"/>
		</method>
		<method name="GLDrawBuffer" type="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLEnd" type="void">
		</method>
		<method name="GLFinish" type="void">
		</method>
		<method name="GLFlush" type="void">
		</method>
		<method name="GLFogf" type="void">
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLfloat"/>
		</method>
		<method name="GLFogfv" type="void">
			<arg name="pname" type="GLenum"/>
			<arg name="*param" type="GLfloat"/>
		</method>
		<method name="GLFrontFace" type="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLFrustum" type="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" type="void">
			<arg name="n" type="GLsizei"/>
			<arg name="*textures" type="GLuint"/>
		</method>
		<method name="GLGetBooleanv" type="void">
			<arg name="pname" type="GLenum"/>
			<arg name="*params" type="GLboolean"/>
		</method>
		<method name="GLGetError" type="GLenum">
		</method>
		<method name="GLGetFloatv" type="void">
			<arg name="pname" type="GLenum"/>
			<arg name="*params" type="GLfloat"/>
		</method>
		<method name="GLGetIntegerv" type="void">
			<arg name="pname" type="GLenum"/>
			<arg name="*params" type="GLint"/>
		</method>
		<method name="GLGetString" type="const GLubyte*">
			<arg name="name" type="GLenum"/>
		</method>
		<method name="GLHint" type="void">
			<arg name="target" type="GLenum"/>
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLIsEnabled" type="GLboolean">
			<arg name="cap" type="GLenum"/>
		</method>
		<method name="GLLoadIdentity" type="void">
		</method>
		<method name="GLLoadMatrixd" type="void">
			<arg name="*m" type="const GLdouble"/>
		</method>
		<method name="GLLoadMatrixf" type="void">
			<arg name="*m" type="const GLfloat"/>
		</method>
		<method name="GLMatrixMode" type="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLMultMatrixd" type="void">
			<arg name="*m" type="const GLdouble"/>
		</method>
		<method name="GLMultMatrixf" type="void">
			<arg name="*m" type="const GLfloat"/>
		</method>
		<method name="GLNormal3f" type="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
		</method>
		<method name="GLOrtho" type="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" type="void">
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLint"/>
		</method>
		<method name="GLPolygonMode" type="void">
			<arg name="face" type="GLenum"/>
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLPolygonOffset" type="void">
			<arg name="factor" type="GLfloat"/>
			<arg name="units" type="GLfloat"/>
		</method>
		<method name="GLPopMatrix" type="void">
		</method>
		<method name="GLPushMatrix" type="void">
		</method>
		<method name="GLReadPixels" type="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" type="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" type="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
		</method>
		<method name="GLScissor" type="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" type="void">
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLTexCoord2f" type="void">
			<arg name="s" type="GLfloat"/>
			<arg name="t" type="GLfloat"/>
		</method>
		<method name="GLTexCoord4f" type="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" type="void">
			<arg name="target" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLint"/>
		</method>
		<method name="GLTexEnvfv" type="void">
			<arg name="target" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="*param" type="GLfloat"/>
		</method>
		<method name="GLTexGeni" type="void">
			<arg name="coord" type="GLenum"/>
			<arg name="mode" type="GLenum"/>
			<arg name="param" type="GLint"/>
		</method>
		<method name="GLTexGenfv" type="void">
			<arg name="coord" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="*params" type="GLfloat"/>
		</method>
		<method name="GLTexImage2D" type="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" type="void">
			<arg name="target" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLint"/>
		</method>
		<method name="GLTexSubImage2D" type="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" type="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
		</method>
		<method name="GLVertex4f" type="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" type="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" type="void">
			<arg name="attrib" type="GLbitfield"/>
		</method>
		<method name="GLPopAttrib" type="void">
		</method>
		<method name="GLRectf" type="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" type="void">
			<arg name="state" type="GLenum"/>
		</method>
		<method name="GLDisableClientState" type="void">
			<arg name="state" type="GLenum"/>
		</method>
		<method name="GLTexCoordPointer" type="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" type="void">
			<arg name="type" type="GLenum"/>
			<arg name="stride" type="GLsizei"/>
			<arg name="*pointer" type="const GLvoid"/>
		</method>
		<method name="GLColorPointer" type="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" type="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" type="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" type="void">
			<arg name="mode" type="GLenum"/>
			<arg name="first" type="GLint"/>
			<arg name="count" type="GLsizei"/>
		</method>
		<method name="GLArrayElement" type="void">
			<arg name="i" type="GLint"/>
		</method>
		<method name="GLClientActiveTexture" type="void">
			<arg name="texture" type="GLenum"/>
		</method>
		<method name="GLInterleavedArrays" type="void">
			<arg name="format" type="GLenum"/>
			<arg name="stride" type="GLsizei"/>
			<arg name="*pointer" type="const GLvoid"/>
		</method>
		<method name="GLLockArrays" type="void">
			<arg name="first" type="GLint"/>
			<arg name="count" type="GLsizei"/>
		</method>
		<method name="GLUnlockArrays" type="void">
		</method>
		<method name="GLActiveTexture" type="void">
			<arg name="unit" type="GLenum"/>
		</method>
		<method name="GLMultiTexCoord2f" type="void">
			<arg name="unit" type="GLenum"/>
			<arg name="s" type="GLfloat"/>
			<arg name="t" type="GLfloat"/>
		</method>
		<method name="GLMultiTexCoord4f" type="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" type="void">
			<arg name="face" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLfloat"/>
		</method>
		<method name="GLMaterialfv" type="void">
			<arg name="face" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLfloat *"/>
		</method>
		<method name="GLMaterialiv" type="void">
			<arg name="face" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLint *"/>
		</method>
		<method name="GLLightf" type="void">
			<arg name="light" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLfloat"/>
		</method>
		<method name="GLLightfv" type="void">
			<arg name="light" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLfloat *"/>
		</method>
		<method name="GLLightiv" type="void">
			<arg name="light" type="GLenum"/>
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLint *"/>
		</method>
		<method name="GLLightModelf" type="void">
			<arg name="pname" type="GLenum"/>
			<arg name="param" type="GLfloat"/>
		</method>
		<method name="GLLightModelfv" type="void">
			<arg name="pname" type="GLenum"/>
		</method>
		<method name="GLLightModeliv" type="void">
			<arg name="pname" type="GLenum"/>
			<arg name="params" type="GLint *"/>
		</method>
		<method name="GLColorMaterial" type="void">
			<arg name="face" type="GLenum"/>
			<arg name="mode" type="GLenum"/>
		</method>
		<method name="GLStencilFunc" type="void">
			<arg name="func" type="GLenum"/>
			<arg name="ref" type="GLint"/>
			<arg name="mask" type="GLint"/>
		</method>
		<method name="GLStencilOp" type="void">
			<arg name="sfail" type="GLenum"/>
			<arg name="dpfail" type="GLenum"/>
			<arg name="dppass" type="GLenum"/>
		</method>
		<method name="GLStencilMask" type="void">
			<arg name="mask" type="GLuint"/>
		</method>
		<method name="GLClearStencil" type="void">
			<arg name="s" type="GLint"/>
		</method>
		<method name="GLColorMask" type="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" type="void">
			<arg name="width" type="GLfloat"/>
		</method>
		<method name="GLClipPlane" type="void">
			<arg name="plane" type="GLenum"/>
			<arg name="*eqn" type="GLdouble"/>
		</method>
		<method name="GLPointSize" type="void">
			<arg name="size" type="GLfloat"/>
		</method>
		<method name="GLBitmap" type="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" type="void">
			<arg name="factor" type="GLint"/>
			<arg name="pattern" type="GLushort"/>
		</method>
		<method name="GLPolygonStipple" type="void">
			<arg name="*pattern" type="GLubyte"/>
		</method>
		<method name="GLRasterPos4f" type="void">
			<arg name="x" type="GLfloat"/>
			<arg name="y" type="GLfloat"/>
			<arg name="z" type="GLfloat"/>
			<arg name="w" type="GLfloat"/>
		</method>
	</interface>
</library>
