#ifndef GRAPHICS_VIDEOCONTROL_H
#define GRAPHICS_VIDEOCONTROL_H

/*
    Copyright © 1995-2001, The AROS Development Team. All rights reserved.
    $Id$
*/

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

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


#define	VTAG_END_CM               0x00000000
#define	VTAG_CHROMAKEY_CLR        0x80000000
#define	VTAG_CHROMAKEY_SET        0x80000001
#define	VTAG_BITPLANEKEY_CLR      0x80000002
#define	VTAG_BITPLANEKEY_SET      0x80000003
#define	VTAG_BORDERBLANK_CLR      0x80000004
#define	VTAG_BORDERBLANK_SET      0x80000005
#define	VTAG_BORDERNOTRANS_CLR    0x80000006
#define	VTAG_BORDERNOTRANS_SET    0x80000007
#define	VTAG_CHROMA_PEN_CLR       0x80000008
#define	VTAG_CHROMA_PEN_SET       0x80000009
#define	VTAG_CHROMA_PLANE_SET     0x8000000A
#define	VTAG_ATTACH_CM_SET        0x8000000B
#define	VTAG_NEXTBUF_CM	          0x8000000C
#define	VTAG_BATCH_CM_CLR         0x8000000D
#define	VTAG_BATCH_CM_SET         0x8000000E
#define	VTAG_NORMAL_DISP_GET      0x8000000F
#define	VTAG_NORMAL_DISP_SET      0x80000010
#define	VTAG_COERCE_DISP_GET      0x80000011
#define	VTAG_COERCE_DISP_SET      0x80000012
#define	VTAG_VIEWPORTEXTRA_GET    0x80000013
#define	VTAG_VIEWPORTEXTRA_SET    0x80000014
#define	VTAG_CHROMAKEY_GET        0x80000015
#define	VTAG_BITPLANEKEY_GET      0x80000016
#define	VTAG_BORDERBLANK_GET      0x80000017
#define	VTAG_BORDERNOTRANS_GET    0x80000018
#define	VTAG_CHROMA_PEN_GET       0x80000019
#define	VTAG_CHROMA_PLANE_GET     0x8000001A
#define	VTAG_ATTACH_CM_GET        0x8000001B
#define	VTAG_BATCH_CM_GET         0x8000001C
#define	VTAG_BATCH_ITEMS_GET      0x8000001D
#define	VTAG_BATCH_ITEMS_SET      0x8000001E
#define	VTAG_BATCH_ITEMS_ADD      0x8000001F
#define	VTAG_VPMODEID_GET         0x80000020
#define	VTAG_VPMODEID_SET         0x80000021
#define	VTAG_VPMODEID_CLR         0x80000022
#define	VTAG_USERCLIP_GET         0x80000023
#define	VTAG_USERCLIP_SET         0x80000024
#define	VTAG_USERCLIP_CLR         0x80000025

/* V39 only */
#define VTAG_PF1_BASE_GET         0x80000026
#define VTAG_PF2_BASE_GET         0x80000027
#define VTAG_SPEVEN_BASE_GET      0x80000028
#define VTAG_SPODD_BASE_GET       0x80000029
#define VTAG_PF1_BASE_SET         0x8000002a
#define VTAG_PF2_BASE_SET         0x8000002b
#define VTAG_SPEVEN_BASE_SET      0x8000002c
#define VTAG_SPODD_BASE_SET       0x8000002d
#define VTAG_BORDERSPRITE_GET     0x8000002e
#define VTAG_BORDERSPRITE_SET     0x8000002f
#define VTAG_BORDERSPRITE_CLR     0x80000030
#define VTAG_SPRITERESN_SET       0x80000031
#define VTAG_SPRITERESN_GET       0x80000032
#define VTAG_PF1_TO_SPRITEPRI_SET 0x80000033
#define VTAG_PF1_TO_SPRITEPRI_GET 0x80000034
#define VTAG_PF2_TO_SPRITEPRI_SET 0x80000035
#define VTAG_PF2_TO_SPRITEPRI_GET 0x80000036
#define VTAG_IMMEDIATE            0x80000037
#define VTAG_FULLPALETTE_SET      0x80000038
#define VTAG_FULLPALETTE_GET      0x80000039
#define VTAG_FULLPALETTE_CLR      0x8000003A
#define VTAG_DEFSPRITERESN_SET    0x8000003B
#define VTAG_DEFSPRITERESN_GET    0x8000003C

/* V40 only */
#define VC_IntermediateCLUpdate   0x80000080
#define VC_IntermediateCLUpdate_Query 0x80000081
#define VC_NoColorPaletteLoad     0x80000082
#define VC_NoColorPaletteLoad_Query 0x80000083
#define VC_DUALPF_Disable         0x80000084
#define VC_DUALPF_Disable_Query   0x80000085

#endif	/* GRAPHICS_VIDEOCONTROL_H */
