#ifndef GLUT_INTERFACE_DEF_H
#define GLUT_INTERFACE_DEF_H

/*
** This file was machine generated by idltool 51.8.
** Do not edit
*/ 

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EXEC_EXEC_H
#include <exec/exec.h>
#endif
#ifndef EXEC_INTERFACES_H
#include <exec/interfaces.h>
#endif


struct GlutIFace
{
	struct InterfaceData Data;

	ULONG APICALL (*Obtain)(struct GlutIFace *Self);
	ULONG APICALL (*Release)(struct GlutIFace *Self);
	void APICALL (*Expunge)(struct GlutIFace *Self);
	struct Interface * APICALL (*Clone)(struct GlutIFace *Self);
	void APICALL (*GLUTInit)(struct GlutIFace *Self, int * argc, char ** argv);
	void APICALL (*GLUTExit)(struct GlutIFace *Self);
	void APICALL (*GLUTInitWindowSize)(struct GlutIFace *Self, int width, int height);
	void APICALL (*GLUTInitWindowPosition)(struct GlutIFace *Self, int x, int y);
	void APICALL (*GLUTInitDisplayMode)(struct GlutIFace *Self, unsigned int mode);
	int APICALL (*GLUTCreateWindow)(struct GlutIFace *Self, const char * name);
	void APICALL (*GLUTDestroyWindow)(struct GlutIFace *Self, int window);
	void APICALL (*GLUTPostRedisplay)(struct GlutIFace *Self);
	void APICALL (*GLUTSwapBuffers)(struct GlutIFace *Self);
	void APICALL (*GLUTMainLoop)(struct GlutIFace *Self);
	void APICALL (*GLUTPositionWindow)(struct GlutIFace *Self, int x, int y);
	void APICALL (*GLUTReshapeWindow)(struct GlutIFace *Self, int width, int height);
	void APICALL (*GLUTFullScreen)(struct GlutIFace *Self);
	void APICALL (*GLUTPushWindow)(struct GlutIFace *Self);
	void APICALL (*GLUTPopWindow)(struct GlutIFace *Self);
	void APICALL (*GLUTShowWindow)(struct GlutIFace *Self);
	void APICALL (*GLUTHideWindow)(struct GlutIFace *Self);
	void APICALL (*GLUTIconifyWindow)(struct GlutIFace *Self);
	void APICALL (*GLUTSetWindowTitle)(struct GlutIFace *Self, char * name);
	void APICALL (*GLUTSetIconTitle)(struct GlutIFace *Self, char * name);
	void APICALL (*GLUTDisplayFunc)(struct GlutIFace *Self, void (*func)());
	void APICALL (*GLUTReshapeFunc)(struct GlutIFace *Self, void (*func)(int, int));
	void APICALL (*GLUTKeyboardFunc)(struct GlutIFace *Self, void (*func)(unsigned char, int, int));
	void APICALL (*GLUTMouseFunc)(struct GlutIFace *Self, void (*func)(int, int, int, int));
	void APICALL (*GLUTMotionFunc)(struct GlutIFace *Self, void (*func)(int, int));
	void APICALL (*GLUTPassiveMotionFunc)(struct GlutIFace *Self, void (*func)(int, int));
	void APICALL (*GLUTVisibilityFunc)(struct GlutIFace *Self, void (*func)(int));
	void APICALL (*GLUTEntryFunc)(struct GlutIFace *Self, void (*func)(int));
	void APICALL (*GLUTSpecialFunc)(struct GlutIFace *Self, void (*func)(int, int, int));
	void APICALL (*GLUTIdleFunc)(struct GlutIFace *Self, void (*func)(void));
	int APICALL (*GLUTGet)(struct GlutIFace *Self, GLenum state);
	void APICALL (*GLUTKeyboardUpFunc)(struct GlutIFace *Self, void (*func)(unsigned char, int, int));
	void APICALL (*GLUTSpecialUpFunc)(struct GlutIFace *Self, void (*func)(int, int, int));
	void APICALL (*GLUTIgnoreKeyRepeat)(struct GlutIFace *Self, int ignore);
	void APICALL (*GLUTBitmapCharacter)(struct GlutIFace *Self, void* fontID, int character);
	void APICALL (*GLUTBitmapString)(struct GlutIFace *Self, void* fontID, const unsigned char* string);
	int APICALL (*GLUTBitmapWidth)(struct GlutIFace *Self, void* fontID, int character);
	int APICALL (*GLUTBitmapLength)(struct GlutIFace *Self, void* fontID, const unsigned char* string);
	int APICALL (*GLUTBitmapHeight)(struct GlutIFace *Self, void* fontID);
	void APICALL (*GLUTStrokeCharacter)(struct GlutIFace *Self, void* fontID, int character);
	void APICALL (*GLUTStrokeString)(struct GlutIFace *Self, void* fontID, const unsigned char* string);
	int APICALL (*GLUTStrokeWidth)(struct GlutIFace *Self, void* fontID, int character);
	int APICALL (*GLUTStrokeLength)(struct GlutIFace *Self, void* fontID, const unsigned char* string);
	int APICALL (*GLUTStrokeHeight)(struct GlutIFace *Self, void* fontID);
	void APICALL (*GLUTGameModeString)(struct GlutIFace *Self, const char* string);
	int APICALL (*GLUTEnterGameMode)(struct GlutIFace *Self);
	void APICALL (*GLUTLeaveGameMode)(struct GlutIFace *Self);
	int APICALL (*GLUTGameModeGet)(struct GlutIFace *Self, GLenum eWhat);
	void APICALL (*GLUTWireCube)(struct GlutIFace *Self, GLdouble size);
	void APICALL (*GLUTSolidCube)(struct GlutIFace *Self, GLdouble size);
	void APICALL (*GLUTWireSphere)(struct GlutIFace *Self, GLdouble radius, GLint slices, GLint stacks);
	void APICALL (*GLUTSolidSphere)(struct GlutIFace *Self, GLdouble radius, GLint slices, GLint stacks);
	void APICALL (*GLUTWireCone)(struct GlutIFace *Self, GLdouble base, GLdouble height, GLint slices, GLint stacks);
	void APICALL (*GLUTSolidCone)(struct GlutIFace *Self, GLdouble base, GLdouble height, GLint slices, GLint stacks);
	void APICALL (*GLUTWireTorus)(struct GlutIFace *Self, GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
	void APICALL (*GLUTSolidTorus)(struct GlutIFace *Self, GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
	void APICALL (*GLUTWireDodecahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTSolidDodecahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTWireOctahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTSolidOctahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTWireTetrahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTSolidTetrahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTWireIcosahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTSolidIcosahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTWireRhombicDodecahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTSolidRhombicDodecahedron)(struct GlutIFace *Self);
	void APICALL (*GLUTWireSierpinskiSponge)(struct GlutIFace *Self, int num_levels, GLdouble offset[3], GLdouble scale);
	void APICALL (*GLUTSolidSierpinskiSponge)(struct GlutIFace *Self, int num_levels, GLdouble offset[3], GLdouble scale);
	void APICALL (*GLUTWireCylinder)(struct GlutIFace *Self, GLdouble radius, GLdouble height, GLint slices, GLint stacks);
	void APICALL (*GLUTSolidCylinder)(struct GlutIFace *Self, GLdouble radius, GLdouble height, GLint slices, GLint stacks);
	void APICALL (*GLUTWireTeapot)(struct GlutIFace *Self, GLdouble size);
	void APICALL (*GLUTSolidTeapot)(struct GlutIFace *Self, GLdouble size);
	void APICALL (*GLUTSetOption)(struct GlutIFace *Self, GLenum eWhat, int value);
	int APICALL (*GLUTDeviceGet)(struct GlutIFace *Self, GLenum eWhat);
	int APICALL (*GLUTGetModifiers)(struct GlutIFace *Self);
	int APICALL (*GLUTLayerGet)(struct GlutIFace *Self, GLenum eWhat);
	void APICALL (*GLUTEstablishOverlay)(struct GlutIFace *Self);
	void APICALL (*GLUTRemoveOverlay)(struct GlutIFace *Self);
	void APICALL (*GLUTUseLayer)(struct GlutIFace *Self, GLenum layer);
	void APICALL (*GLUTPostOverlayRedisplay)(struct GlutIFace *Self);
	void APICALL (*GLUTPostWindowOverlayRedisplay)(struct GlutIFace *Self, int ID);
	void APICALL (*GLUTShowOverlay)(struct GlutIFace *Self);
	void APICALL (*GLUTHideOverlay)(struct GlutIFace *Self);
	void APICALL (*GLUTTimerFunc)(struct GlutIFace *Self, unsigned int msecs, void (*func)(int value), int value);
	void APICALL (*GLUTCloseFunc)(struct GlutIFace *Self, void (*func)(void));
	int APICALL (*GLUTExtensionSupported)(struct GlutIFace *Self, const char* extension);
	void APICALL (*GLUTSetKeyRepeat)(struct GlutIFace *Self, int repeatMode);
	void APICALL (*GLUTForceJoystickFunc)(struct GlutIFace *Self);
	void APICALL (*GLUTSetColor)(struct GlutIFace *Self, int nColor, GLfloat red, GLfloat green, GLfloat blue);
	GLfloat APICALL (*GLUTGetColor)(struct GlutIFace *Self, int color, int component);
	void APICALL (*GLUTCopyColormap)(struct GlutIFace *Self, int window);
	void APICALL (*GLUTWarpPointer)(struct GlutIFace *Self, int x, int y);
	void APICALL (*GLUTSpaceballMotionFunc)(struct GlutIFace *Self, void (*callback)( int, int, int ));
	void APICALL (*GLUTSpaceballRotateFunc)(struct GlutIFace *Self, void (*callback)( int, int, int ));
	void APICALL (*GLUTSpaceballButtonFunc)(struct GlutIFace *Self, void (*callback)( int, int ));
	void APICALL (*GLUTButtonBoxFunc)(struct GlutIFace *Self, void (*callback)( int, int ));
	void APICALL (*GLUTDialsFunc)(struct GlutIFace *Self, void (*callback)( int, int ));
	void APICALL (*GLUTTabletMotionFunc)(struct GlutIFace *Self, void (*callback)( int, int ));
	void APICALL (*GLUTTabletButtonFunc)(struct GlutIFace *Self, void (*callback)( int, int, int, int ));
	void APICALL (*GLUTOverlayDisplayFunc)(struct GlutIFace *Self, void (*callback)( void ));
	void APICALL (*GLUTJoystickFunc)(struct GlutIFace *Self, void (*callback)( unsigned int, int, int, int ), int pollInterval);
};

#endif /* GLUT_INTERFACE_DEF_H */
