1 #ifndef RAWIMAGE_MCC_H
    2 #define RAWIMAGE_MCC_H
    3 
    4 #ifndef LIBRARIES_IFFPARSE_H
    5 #include <libraries/iffparse.h>
    6 #endif
    7 
    8 #define MUIC_Rawimage	"Rawimage.mcc"
    9 #define RawimageObject	MUI_NewObject(MUIC_Rawimage
   10 
   11 struct MUI_RawimageData
   12 {
   13 	ULONG ri_Width;
   14 	ULONG ri_Height;
   15 	ULONG ri_Format;
   16 	ULONG ri_Size;
   17 
   18 	#if (__STDC_VERSION__ >= 199901L)
   19 	ULONG ri_Data[];
   20 	#elif (defined(__GNUC__))
   21 	ULONG ri_Data[0];
   22 	#else
   23 	#error COmpiler needs to support 0-length arrays
   24 	#endif
   25 };
   26 
   27 #define RAWIMAGE_PIXELFORMAT_ARGB 0
   28 #define RAWIMAGE_PIXELFORMAT_RGB  1
   29 #define RAWIMAGE_PIXELFORMAT_RGBA 2
   30 
   31 #define RAWIMAGE_COMPRESSOR_RAW   0                          
   32 #define RAWIMAGE_COMPRESSOR_BZ2   MAKE_ID('B','Z','2',0x0)
   33 #define RAWIMAGE_COMPRESSOR_Z     MAKE_ID('Z',0x0,0x0,0x0)
   34 #define RAWIMAGE_COMPRESSOR_RLE   MAKE_ID('R','L','E',0x0)
   35 #define RAWIMAGE_COMPRESSOR_LZMA  MAKE_ID('L','Z','M',0x0)
   36 
   37 #define RAWIMAGE_FORMAT(_cmpr,_pxf) (RAWIMAGE_COMPRESSOR_##_cmpr|RAWIMAGE_PIXELFORMAT_##_pxf)
   38 
   39 #define RAWIMAGE_FORMAT_RAW_ARGB_ID   RAWIMAGE_FORMAT(RAW, ARGB)
   40 #define RAWIMAGE_FORMAT_RAW_RGB_ID    RAWIMAGE_FORMAT(RAW, RGB)
   41 #define RAWIMAGE_FORMAT_RAW_RGBA_ID   RAWIMAGE_FORMAT(RAW, RGBA)
   42 
   43 #define RAWIMAGE_FORMAT_BZ2_ARGB_ID   RAWIMAGE_FORMAT(BZ2, ARGB)
   44 #define RAWIMAGE_FORMAT_BZ2_RGB_ID    RAWIMAGE_FORMAT(BZ2, RGB)
   45 #define RAWIMAGE_FORMAT_BZ2_RGBA_ID   RAWIMAGE_FORMAT(BZ2, RGBA)
   46 
   47 #define RAWIMAGE_FORMAT_Z_ARGB_ID     RAWIMAGE_FORMAT(Z, ARGB)
   48 #define RAWIMAGE_FORMAT_Z_RGB_ID      RAWIMAGE_FORMAT(Z, RGB)
   49 #define RAWIMAGE_FORMAT_Z_RGBA_ID     RAWIMAGE_FORMAT(Z, RGBA)
   50 
   51 #define RAWIMAGE_FORMAT_RLE_ARGB_ID   RAWIMAGE_FORMAT(RLE, ARGB)
   52 #define RAWIMAGE_FORMAT_RLE_RGB_ID    RAWIMAGE_FORMAT(RLE, RGB)
   53 #define RAWIMAGE_FORMAT_RLE_RGBA_ID   RAWIMAGE_FORMAT(RLE, RGBA)
   54 
   55 #define RAWIMAGE_FORMAT_LZMA_ARGB_ID  RAWIMAGE_FORMAT(LZMA, ARGB)
   56 #define RAWIMAGE_FORMAT_LZMA_RGB_ID   RAWIMAGE_FORMAT(LZMA, RGB)
   57 #define RAWIMAGE_FORMAT_LZMA_RGBA_ID  RAWIMAGE_FORMAT(LZMA, RGBA)
   58 
   59 #define MUIA_Rawimage_Data 0xfed10014 // ISG, struct MUI_RawimageData *
   60 
   61 #endif /* RAWIMAGE_MCC_H */