home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 609b.lha / MandelSquare_v1.3 / Source.LZH / Source / PlayAnim / ilbm.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-06  |  3.3 KB  |  118 lines

  1. #ifndef ILBM_H
  2. #define ILBM_H
  3. #ifndef GRAPHICS_GFX_H
  4. #include "graphics/gfx.h"
  5. #endif
  6. #include "iff.h"
  7. #define ID_ANFR MakeID('A','N','F','R')
  8. #define ID_MAHD MakeID('M','A','H','D')
  9. #define ID_MFHD MakeID('M','F','H','D')
  10. #define ID_CM16 MakeID('C','M','1','6')
  11.  
  12. #define ID_ILBM MakeID('I','L','B','M')
  13. #define ID_ANIM MakeID('A','N','I','M')
  14. #define ID_BMHD MakeID('B','M','H','D')
  15. #define ID_ANHD MakeID('A','N','H','D')
  16. #define ID_CMAP MakeID('C','M','A','P')
  17. #define ID_GRAB MakeID('G','R','A','B')
  18. #define ID_DEST MakeID('D','E','S','T')
  19. #define ID_SPRT MakeID('S','P','R','T')
  20. #define ID_CAMG MakeID('C','A','M','G')
  21. #define ID_BODY MakeID('B','O','D','Y')
  22. #define ID_ATXT MakeID('A','T','X','T')
  23. #define ID_PTXT MakeID('P','T','X','T')
  24. #define ID_DLTA MakeID('D','L','T','A')
  25. typedef UBYTE Masking;
  26. #define mskNone 0L
  27. #define mskHasMask 1L
  28. #define mskHasTransparentColor 2L
  29. #define mskLasso 3L
  30. typedef UBYTE Compression;
  31. #define cmpNone 0L
  32. #define cmpByteRun1 1L
  33. #define x320x200Aspect 10L
  34. #define y320x200Aspect 11L
  35. #define x320x400Aspect 20L
  36. #define y320x400Aspect 11L
  37. #define x640x200Aspect 5L
  38. #define y640x200Aspect 11L
  39. #define x640x400Aspect 10L
  40. #define y640x400Aspect 11L
  41. typedef struct {
  42.    ULONG ViewModes;
  43.    } CamgChunk;
  44. typedef struct {
  45. UWORD w, h;
  46. WORD x, y;
  47. UBYTE nPlanes;
  48. Masking masking;
  49. Compression compression;
  50. UBYTE pad1;
  51. UWORD transparentColor;
  52. UBYTE xAspect, yAspect;
  53. WORD pageWidth, pageHeight;
  54. } BitMapHeader;
  55. #define RowBytes(w) (((w) + 15) >> 4 << 1)
  56. typedef struct {
  57. UBYTE red, green, blue;
  58. } ColorRegister;
  59. #define sizeofColorRegister 3
  60. typedef WORD Color4;
  61. #define MaxAmDepth 6
  62. typedef struct {
  63. WORD x, y;
  64. } Point2D;
  65. typedef struct {
  66. UBYTE depth;
  67. UBYTE pad1;
  68. UWORD planePick;
  69. UWORD planeOnOff;
  70. UWORD planeMask;
  71. } DestMerge;
  72. typedef UWORD SpritePrecedence;
  73. typedef struct {
  74. WORD pad1;
  75. WORD rate;
  76. WORD active;
  77. UBYTE low, high;
  78. } CRange;
  79. #define PutCAMG(context, modes) \
  80. PutCk(context, ID_CAMG, (long)sizeof(CamgChunk), (BYTE *)modes)
  81. #define PutBMHD(context, bmHdr) \
  82. PutCk(context, ID_BMHD, (long)sizeof(BitMapHeader), (BYTE *)bmHdr)
  83. #define PutGRAB(context, point2D) \
  84. PutCk(context, ID_GRAB, (long)sizeof(Point2D), (BYTE *)point2D)
  85. #define PutDEST(context, destMerge) \
  86. PutCk(context, ID_DEST, (long)sizeof(DestMerge), (BYTE *)destMerge)
  87. #define PutSPRT(context, spritePrec) \
  88. PutCk(context, ID_SPRT, (long)sizeof(SpritePrecedence), (BYTE *)spritePrec)
  89. #ifdef FDwAT
  90. extern IFFP InitBMHdr(BitMapHeader *, struct BitMap *,
  91. WORD, WORD, WORD, WORD, WORD);
  92. extern IFFP PutCMAP(GroupContext *, WORD *, UBYTE);
  93. extern IFFP PutBODY(
  94. GroupContext *, struct BitMap *, BYTE *, BitMapHeader *, BYTE *, LONG);
  95. #else
  96. extern IFFP InitBMHdr();
  97. extern IFFP PutCMAP();
  98. extern IFFP PutBODY();
  99. #endif FDwAT
  100. #define GetBMHD(context, bmHdr) \
  101. IFFReadBytes(context, (BYTE *)bmHdr, (long)sizeof(BitMapHeader))
  102. #define GetGRAB(context, point2D) \
  103. IFFReadBytes(context, (BYTE *)point2D, (long)sizeof(Point2D))
  104. #define GetDEST(context, destMerge) \
  105. IFFReadBytes(context, (BYTE *)destMerge, (long)sizeof(DestMerge))
  106. #define GetSPRT(context, spritePrec) \
  107. IFFReadBytes(context, (BYTE *)spritePrec, (long)sizeof(SpritePrecedence))
  108. #define MaxSrcPlanes 16+1
  109. #ifdef FDwAT
  110. extern IFFP GetCMAP(GroupContext *, WORD *, UBYTE *);
  111. extern IFFP GetBODY(
  112. GroupContext *, struct BitMap *, BYTE *, BitMapHeader *, BYTE *, LONG);
  113. #else
  114. extern IFFP GetCMAP();
  115. extern IFFP GetBODY();
  116. #endif FDwAT
  117. #endif ILBM_H
  118.