#ifndef LIBRARIES_AMIGAMETAFORMAT_H
#define LIBRARIES_AMIGAMETAFORMAT_H

#define AMF_SIZE 0x8000

#define MAKE_ID(a,b,c,d)        \
        ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))

/* AMFF IFF identifiers */
#define ID_AMFF         MAKE_ID('A','M','F','F')
#define ID_VERS         MAKE_ID('V','E','R','S')
#define ID_FVER         MAKE_ID('F','V','E','R')
#define ID_HEAD         MAKE_ID('H','E','A','D')
#define ID_BODY         MAKE_ID('B','O','D','Y')

/* Outputchannels */
#define AMF_WINDOW 1
#define AMF_STRIP 2
#define AMF_FILE 3
#define AMF_REGION 4
#define AMF_EPS 5
#define AMF_GEM 6
#define AMF_CGM 7
#define AMF_WORDWORTH 8
#define AMF_HPGL 9
#define AMF_DR2D 10
#define AMF_AI 11
#define AMF_WMF 12
#define AMF_JMF 13

/* Errorcodes */
#define AMF_NO_ERROR 0
#define AMF_ERROR_NO_MEM 1
#define AMF_ERROR_NOT_SUPPORTED 2
#define AMF_ERROR_WRONG_ARGS 3
#define AMF_ERROR_OTHER 4

/* Functions */
#define AMF_CLEAR_REGION 0
#define AMF_LINE 3
#define AMF_TEXT 5
#define AMF_ELLIPSE 6
#define AMF_BOX 7
#define AMF_FILL_ELLIPSE 8
#define AMF_FILL_BOX 9
#define AMF_POLYGON 11
#define AMF_BITMAP_PIC 12
#define AMF_ARC 13
#define AMF_MARK 14
#define AMF_CURVE 15
#define AMF_FILL_POLY 16
#define AMF_ROUNDED 17
#define AMF_PIE 18
#define AMF_FILL_ROUNDED 19
#define AMF_FILL_PIE 20

#define AMF_FONT 0x64
#define AMF_SETFGPEN 0x65
#define AMF_SETBGPEN 0x66
#define AMF_SETDRMODE 0x67
#define AMF_SETLINEPAT 0x68
#define AMF_SETLINEWIDTH 0x69
#define AMF_SETFONT 0x6A
#define AMF_SETFILLPAT 0x6B
#define AMF_SETMARKSIZE 0x6C
#define AMF_SETMARKTYPE 0x6D
#define AMF_SETDPI 0x6E

#define AMF_GETFONTHEIGHT 0xC8
#define AMF_GETSTRINGLENGHT 0xC9
#define AMF_GETBASELINE 0xCA
#endif   /* LIBRARIES_AMIGAMETAFORMAT_H */
