home *** CD-ROM | disk | FTP | other *** search
- #ifndef LIBRARIES_RGFX_H
- #define LIBRARIES_RGFX_H
- #ifndef LIBARIES_IFFPARSE_H
- #include <libraries/iffparse.h>
- #endif
-
- #define ID_RGFX MAKE_ID('R','G','F','X')
- #define ID_RGHD MAKE_ID('R','G','H','D')
- #define ID_RSCM MAKE_ID('R','S','C','M')
- #define ID_RCOL MAKE_ID('R','C','O','L')
- #ifndef ID_RBOD
- #define ID_RBOD MAKE_ID('R','B','O','D')
- #endif
-
- struct RGHD
- {
- ULONG rgfx_LeftEdge;
- ULONG rgfx_TopEdge;
- ULONG rgfx_Width;
- ULONG rgfx_Height;
- ULONG rgfx_PageWidth;
- ULONG rgfx_PageHeight;
- ULONG rgfx_Depth; /* 1-8 for RMBT_BYTEPLANAR8, 1-8 for RMBT_BYTECHUNKY8, 24 for RMBT_3BYTERGB24 */
- ULONG rgfx_PixelBits; /* 1-8 for RMBT_BYTEPLANAR8, 8 for RMBT_BYTECHUNKY8, 24 for RMBT_3BYTERGB24 */
- ULONG rgfx_BytesPerLine; /* (width+7)/8 for RMBT_BYTEPLANAR8, width for RMBT_BYTECHUNKY8, width*3 for RMBT_3BYTERGB24 */
- ULONG rgfx_Compression; /* RCMT_ type flag */
- ULONG rgfx_XAspect;
- ULONG rgfx_YAspect;
- ULONG rgfx_BitMapType; /* RBMT_ type flag */
- };
-
- #define RCMT_NOCOMPRESSION (0L)
- #define RCMT_XPK (1L)
-
- #define RMBT_BYTEPLANAR8 (0L) /* unaligned planar 8 bit bitmap */
- #define RMBT_BYTECHUNKY8 (1L) /* unaligned chunky 8 bit bitmap */
- #define RMBT_3BYTERGB24 (2L) /* 3-byte 24 bit RGB triples */
-
- struct RSCM
- {
- ULONG rscm_AGA;
- ULONG rscm_CGfx;
- ULONG rscm_P96;
- };
-
- struct RCOL
- {
- ULONG rcol_TransColor;
- ULONG rcol_TransColorNum;
- UBYTE rcol_Colors[256][3];
- };
-
- /*
- struct RBOD
- {
- UBYTE rbod_XPK[3]; ** containing 'XPK'
- UBYTE rbod_BitMap[];
- };
-
- Or simply:
-
- struct RBOD
- {
- UBYTE rbod_BitMap[];
- };
- */
-
- /*
- RGFX - Other chunks
- -------------------
-
- - NAME, AUTH, ANNO and (C) chunks are allowed
-
- */
-
- #endif
-