#ifndef	VIDI_VIDIBASE_H
#define	VIDI_VIDIBASE_H

/*
**	$Filename: vidibase.h $
**	$Release: 1.15 $
**
**	ROMBO Productions -- Vidi-Amiga library C include file
**
**
**	Details:
**
**	Vidi-Amiga:Vidi/Include/vidibase.h
**	version 1.15, as of Thursday 18th January 1990
**	converted from assembly by M.G.Tonner
**	modified by Keith Wilson, Rombo
*/

#ifndef EXEC_TYPES_H
#include "exec/types.h"
#endif

#ifndef	 DEVICES_PARALLEL_H
#include "devices/parallel.h"
#endif

#ifndef EXEC_LIBRARIES_H
#include "exec/libraries.h"
#endif


struct	VidiBase
{
	UBYTE	vb_Flags;		/* for internal library use	*/
	UBYTE	vb_Reserved;		/* may be used in future	*/
	APTR	vb_SegList;		/* system use			*/
	APTR	vb_Pad1;		/* for backwards compatibility	*/
	APTR	vb_DosBase;		/* dos.library base		*/
	APTR	vb_GfxBase;		/* graphics.library base	*/
	APTR	vb_IntBase;		/* intuition.library base	*/
					/* (you may steal these to save
					 	opening them yourself)	*/
	UWORD	vb_VidiFlags;		/* VIDI_USED/SYNC_FREE/LACED	*/
	struct	IOExtPar vb_Spare;	/* used as general workspace	*/
};


#define	VIDI_NO_SYNC		-1	/* error codes */
#define	VIDI_NO_MEMORYU		-2
#define	VIDI_BUSY		-3
#define	VIDI_PAR_BUSY		-4
#define	VIDI_WIDTH		-5
#define	VIDI_TOO_DEEP		-6


#define IFF_READ		0	/* used in mysterious ways */
#define	IFF_WRITE		-1


#define	SYNC_ODD_B		0	/* sync types */
#define	SYNC_EVEN_B		1
#define	SYNC_FREE		0
#define	SYNC_ODD		(1<<SYNC_ODD_B)
#define	SYNC_EVEN		(1<<SYNC_EVEN_B)
#define	SYNC_LACED		SYNC_ODD+SYNC_EVEN
#define	SYNC_MASK		SYNC_LACED


#define	READ_WINDOW_B		2	/* other flags */
#define	OUTSIDE_WINDOW_B	3
#define	ANY_BITMAP_B		4
#define	LOW_FIRST_B		5
#define MERGE_CALL_B		6
#define MERGE_BETTER_B		7
#define	VIDI_PAL_B		13
#define	VIDI_BUS_B		14
#define	VIDI_USED_B		15

#define	READ_WINDOW		(1<<READ_WINDOW_B)
#define	OUTSIDE_WINDOW		(1<<OUTSIDE_WINDOW_B)
#define	ANY_BITMAP		(1<<ANY_BITMAP_B)
#define	LOW_FIRST		(1<<LOW_FIRST_B)
#define MERGE_CALL		(1<<MERGE_CALL)
#define MERGE_BETTER		(1<<MERGE_BETTER)
#define	VIDI_PAL		(1<<VIDI_PAL_B)
#define	VIDI_BUS		(1<<VIDI_BUS_B)
#define	VIDI_USED		(1<<VIDI_USED_B)


#endif	/* VIDI_VIDIBASE_H *

