/*
* ShapeShifter Macintosh Emulator - Definitions for external video drivers
*
* $VER: shapeextvideo.i 1.0 (01.08.95)
*
* (C) Copyright 1995 Christian Bauer
*/
#include <utility/tagitem.h>
#include <exec/types.h>

extern ULONG cSHEV_Level, cSHEV_Version, cSHEV_Revision, cSHEV_Name;
extern ULONG cSHEV_ID, cSHEV_Author, cSHEV_OpenScreen, cSHEV_CloseScreen;
extern ULONG cSHEV_Refresh, cSHEV_LockDisplay, cSHEV_UnlockDisplay;
extern ULONG cSHEV_LoadRGB32, cSHEV_PointerInvisible, cSHEV_PointerVisible;
extern ULONG cSHEV_Context,cSHEV_ScreenX, cSHEV_ScreenY, cSHEV_DisplayID;
extern ULONG cSHEV_OverscanType, cSHEV_VideoMode, cSHEV_Screen, cSHEV_ScreenBase;
extern ULONG cSHEV_BytesPerRow, cSHEV_RefreshType, cSHEV_ColorTable;

/*
* Video modes
*/

#define VMODE_1BIT	0	//1 bit per pixel, indexed
#define VMODE_2BIT	1	//2 bits per pixel, indexed
#define VMODE_4BIT	2	//4 bits per pixel, indexed
#define VMODE_8BIT	3	//8 bits per pixel, indexed
#define VMODE_15BIT	4	//16 bits per pixel (15 used), direct
#define VMODE_24BIT	5	//32 bits per pixel (24 used), direct

/*
* Refresh types
*/

#define RTYPE_NONE		0	//No refresh required, SHEV_ScreenBase is displayed
#define RTYPE_CUSTOM	1	//Refresh required, SHEV_Refresh is provided,
							//SHEV_ScreenBase is the Mac screen buffer

//Refresh required, SHEV_(Un)LockDisplay are provided
//SHEV_ScreenBase is the Amiga screen buffer
#define RTYPE_RGB15PC	2	//GGGBBBBBxRRRRRGG
#define RTYPE_BGR15PC	3	//GGGRRRRRxBBBBBGG
#define RTYPE_RGB16PC	4	//GGxBBBBBRRRRRGGG
#define RTYPE_RGB24		5	//RGB
#define RTYPE_BGR24		6	//BGR
#define RTYPE_RGBA32	7	//RGBx
#define RTYPE_BGRA32	8	//BGRx
