#ifndef GUIGFX_H
#define GUIGFX_H	1
/*
**    $VER: guigfx.h 3.03 (10.8.97)
**
**    guigfx.library definitions
**
**    © 1997 TEK neoscientists
*/

#ifndef UTILITY_TAGITEM_H
#include <utility/tagitem.h>
#endif

#ifndef RENDER_H
#include <render/render.h>
#endif

/*
 *	Tags
 */

#define	GGFX_Dummy		(4567+TAG_USER)
#define	GGFX_Owner		(GGFX_Dummy+0)		/* strictly private */
#define	GGFX_HSType		(GGFX_Dummy+1)
#define	GGFX_DitherMode		(GGFX_Dummy+2)
#define	GGFX_DitherAmount	(GGFX_Dummy+3)
#define	GGFX_AutoDither		(GGFX_Dummy+4)
#define	GGFX_DitherThreshold	(GGFX_Dummy+5)
#define	GGFX_AspectX		(GGFX_Dummy+6)
#define	GGFX_AspectY		(GGFX_Dummy+7)
#define	GGFX_PixelFormat	(GGFX_Dummy+8)
#define	GGFX_Palette		(GGFX_Dummy+9)
#define	GGFX_PaletteFormat	(GGFX_Dummy+10)
#define	GGFX_NumColors		(GGFX_Dummy+11)
#define	GGFX_Precision		(GGFX_Dummy+12)
#define	GGFX_Weight		(GGFX_Dummy+13)
#define	GGFX_Ratio		(GGFX_Dummy+14)
#define GGFX_SourceWidth	(GGFX_Dummy+15)
#define GGFX_SourceHeight	(GGFX_Dummy+16)
#define GGFX_SourceX		(GGFX_Dummy+17)
#define GGFX_SourceY		(GGFX_Dummy+18)
#define GGFX_DestWidth		(GGFX_Dummy+19)
#define GGFX_DestHeight		(GGFX_Dummy+20)
#define GGFX_DestX		(GGFX_Dummy+21)
#define GGFX_DestY		(GGFX_Dummy+22)
#define	GGFX_CallBackHook	(GGFX_Dummy+23)
#define	GGFX_ErrorCode		(GGFX_Dummy+24)
#define	GGFX_MaxAllocPens	(GGFX_Dummy+25)
#define	GGFX_BufferSize		(GGFX_Dummy+26)
#define	GGFX_AlphaPresent	(GGFX_Dummy+27)
#define	GGFX_Independent	(GGFX_Dummy+28)
#define	GGFX_ModeID		(GGFX_Dummy+29)
#define GGFX_PenTable		(GGFX_Dummy+30)


/*
 *	Picture Attributes
 */

#define PICATTR_Dummy		(123+TAG_USER)
#define PICATTR_Width		(PICATTR_Dummy+0)
#define PICATTR_Height		(PICATTR_Dummy+1)
#define PICATTR_RawData		(PICATTR_Dummy+2)
#define PICATTR_PixelFormat	(PICATTR_Dummy+3)
#define PICATTR_AspectX		(PICATTR_Dummy+4)
#define PICATTR_AspectY		(PICATTR_Dummy+5)


/*
 *	Picture Methods
 */

#define	PICMTHD_CROP		1
#define	PICMTHD_RENDER		2
#define	PICMTHD_SCALE		3
#define	PICMTHD_MIX		4
#define	PICMTHD_SETALPHA	5
#define	PICMTHD_MIXALPHA	6
#define	PICMTHD_MAPDRAWHANDLE	7
#define	PICMTHD_CREATEALPHAMASK	8
#define	PICMTHD_TINT		9
#define	PICMTHD_TEXTURE		10
#define	PICMTHD_SET		11


/*
 *	hook message types
 */

#define	GGFX_MSGTYPE_LINEDRAWN		1


/*
 *	picture locking
 */

#define LOCKMODE_DRAWHANDLE		1
#define	LOCKMODE_FORCE			(1<<8)
#define	LOCKMODE_MASK			(0xff)


/*
 *	useful types
 */

typedef void PICTURE;


#endif
