home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / cbm / os-include.lha / os-include / datatypes / pictureclass.h < prev    next >
C/C++ Source or Header  |  1993-10-15  |  4KB  |  134 lines

  1. #ifndef    DATATYPES_PICTURECLASS_H
  2. #define    DATATYPES_PICTURECLASS_H
  3. /*
  4. **  $VER: pictureclass.h 39.5 (28.4.93)
  5. **  Includes Release 40.15
  6. **
  7. **  Interface definitions for DataType picture objects.
  8. **
  9. **  (C) Copyright 1992-1993 Commodore-Amiga, Inc.
  10. **    All Rights Reserved
  11. */
  12.  
  13. #ifndef    UTILITY_TAGITEM_H
  14. #include <utility/tagitem.h>
  15. #endif
  16.  
  17. #ifndef    DATATYPES_DATATYPESCLASS_H
  18. #include <datatypes/datatypesclass.h>
  19. #endif
  20.  
  21. #ifndef    LIBRARIES_IFFPARSE_H
  22. #include <libraries/iffparse.h>
  23. #endif
  24.  
  25. /*****************************************************************************/
  26.  
  27. #define    PICTUREDTCLASS        "picture.datatype"
  28.  
  29. /*****************************************************************************/
  30.  
  31. /* Picture attributes */
  32. #define    PDTA_ModeID        (DTA_Dummy + 200)
  33.     /* Mode ID of the picture */
  34.  
  35. #define    PDTA_BitMapHeader    (DTA_Dummy + 201)
  36.  
  37. #define    PDTA_BitMap        (DTA_Dummy + 202)
  38.     /* Pointer to a class-allocated bitmap, that will end
  39.      * up being freed by picture.class when DisposeDTObject()
  40.      * is called */
  41.  
  42. #define    PDTA_ColorRegisters    (DTA_Dummy + 203)
  43. #define    PDTA_CRegs        (DTA_Dummy + 204)
  44. #define    PDTA_GRegs        (DTA_Dummy + 205)
  45. #define    PDTA_ColorTable        (DTA_Dummy + 206)
  46. #define    PDTA_ColorTable2    (DTA_Dummy + 207)
  47. #define    PDTA_Allocated        (DTA_Dummy + 208)
  48. #define    PDTA_NumColors        (DTA_Dummy + 209)
  49. #define    PDTA_NumAlloc        (DTA_Dummy + 210)
  50.  
  51. #define    PDTA_Remap        (DTA_Dummy + 211)
  52.     /* Boolean : Remap picture (defaults to TRUE) */
  53.  
  54. #define    PDTA_Screen        (DTA_Dummy + 212)
  55.     /* Screen to remap to */
  56.  
  57. #define    PDTA_FreeSourceBitMap    (DTA_Dummy + 213)
  58.     /* Boolean : Free the source bitmap after remapping */
  59.  
  60. #define    PDTA_Grab        (DTA_Dummy + 214)
  61.     /* Pointer to a Point structure */
  62.  
  63. #define    PDTA_DestBitMap        (DTA_Dummy + 215)
  64.     /* Pointer to the destination (remapped) bitmap */
  65.  
  66. #define    PDTA_ClassBitMap    (DTA_Dummy + 216)
  67.     /* Pointer to class-allocated bitmap, that will end
  68.      * up being freed by the class after DisposeDTObject()
  69.      * is called */
  70.  
  71. #define    PDTA_NumSparse        (DTA_Dummy + 217)
  72.     /* (UWORD) Number of colors used for sparse remapping */
  73.  
  74. #define    PDTA_SparseTable    (DTA_Dummy + 218)
  75.     /* (UBYTE *) Pointer to a table of pen numbers indicating
  76.      * which colors should be used when remapping the image.
  77.      * This array must contain as many entries as there
  78.      * are colors specified with PDTA_NumSparse */
  79.  
  80. /*****************************************************************************/
  81.  
  82. /*  Masking techniques    */
  83. #define    mskNone            0
  84. #define    mskHasMask        1
  85. #define    mskHasTransparentColor    2
  86. #define    mskLasso        3
  87. #define    mskHasAlpha        4
  88.  
  89. /*  Compression techniques  */
  90. #define    cmpNone            0
  91. #define    cmpByteRun1        1
  92. #define    cmpByteRun2        2
  93.  
  94. /*  Bitmap header (BMHD) structure  */
  95. struct BitMapHeader
  96. {
  97.     UWORD     bmh_Width;        /* Width in pixels */
  98.     UWORD     bmh_Height;        /* Height in pixels */
  99.     WORD     bmh_Left;        /* Left position */
  100.     WORD     bmh_Top;        /* Top position */
  101.     UBYTE     bmh_Depth;        /* Number of planes */
  102.     UBYTE     bmh_Masking;        /* Masking type */
  103.     UBYTE     bmh_Compression;    /* Compression type */
  104.     UBYTE     bmh_Pad;
  105.     UWORD     bmh_Transparent;    /* Transparent color */
  106.     UBYTE     bmh_XAspect;
  107.     UBYTE     bmh_YAspect;
  108.     WORD     bmh_PageWidth;
  109.     WORD     bmh_PageHeight;
  110. };
  111.  
  112. /*****************************************************************************/
  113.  
  114. /*  Color register structure */
  115. struct ColorRegister
  116. {
  117.     UBYTE red, green, blue;
  118. };
  119.  
  120. /*****************************************************************************/
  121.  
  122. /* IFF types that may be in pictures */
  123. #define    ID_ILBM        MAKE_ID('I','L','B','M')
  124. #define    ID_BMHD        MAKE_ID('B','M','H','D')
  125. #define    ID_BODY        MAKE_ID('B','O','D','Y')
  126. #define    ID_CMAP        MAKE_ID('C','M','A','P')
  127. #define    ID_CRNG        MAKE_ID('C','R','N','G')
  128. #define    ID_GRAB        MAKE_ID('G','R','A','B')
  129. #define    ID_SPRT        MAKE_ID('S','P','R','T')
  130. #define    ID_DEST        MAKE_ID('D','E','S','T')
  131. #define    ID_CAMG        MAKE_ID('C','A','M','G')
  132.  
  133. #endif    /* DATATYPES_PICTURECLASS_H */
  134.