home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / SPLASH.H < prev    next >
Text File  |  1990-09-24  |  2KB  |  77 lines

  1. /*
  2.     splash.h
  3.  
  4.     % declarations for PC display stuff
  5.  
  6.     5/16/89  by Ted.
  7.  
  8.     OWL-PC 1.2
  9.     Copyright (c) 1989 by Oakland Group, Inc.
  10.     ALL RIGHTS RESERVED.
  11.  
  12.     Revision History:
  13.     -----------------
  14.      3/28/90 jmd    ansi-fied
  15.      9/24/90 ted    Added structure tags in struct - defining macros.
  16. */
  17. /* -------------------------------------------------------------------------- */
  18. /* Splash Image File I/O related definitions */
  19.  
  20. typedef unsigned long S_LoadMask;
  21.  
  22. #define ID_SPLASH        0x3250    /* 'P2' */
  23.  
  24. #define T_PIXMAP        0x4D50    /* 'PM' */
  25. #define T_COLMAP        0x4D43    /* 'CM' */
  26.  
  27. #define B_PIXMAP        0x0001L
  28. #define B_COLMAP        0x0008L
  29.  
  30. /* Pixmap compression types */
  31. #define PMC_None    0
  32. #define PMC_Brun    1
  33. /* -------------------------------------------------------------------------- */
  34.  
  35. typedef struct _STifPtr {
  36.     unsigned short tag;
  37.     unsigned long foffset;
  38. } S_TifPtr;
  39.  
  40. typedef byte S_RGB[3];        /* red, green, blue: normalized color triplet */
  41.  
  42. #define S_MAXTAGS         20
  43.  
  44. #define S_FileHdr_def(n)        \
  45.      { unsigned short ident; unsigned short nentries; S_TifPtr tags[n]; }
  46. typedef struct _S_FileHdr S_FileHdr_def(S_MAXTAGS) S_FileHdr;
  47. typedef struct _S_FileHdr1 S_FileHdr_def(1) S_FileHdr1;
  48.  
  49. #define S_MAXCOLORS        256
  50.  
  51. #define S_Colmap_def(n)            \
  52.     { unsigned short firstpix; unsigned short nentries; S_RGB rgblevs[n]; }
  53. typedef struct _S_Colmap S_Colmap_def(S_MAXCOLORS) S_Colmap;
  54.  
  55. typedef struct _SPixmap {
  56.     unsigned long    pixbuf;        /* pointer to pixel map memory buffer. */
  57.     unsigned short    bytewidth;    /* number of bytes in a line of image. */
  58.     unsigned short    width, height; /* width and height of pixel image. */
  59.     byte    nshift;                /* number of unused pixels at left of each line */
  60.     byte    onboard;            /* flag for pixbuf in display memory */
  61.     byte    nplanes;            /* number of bitplanes in image. */
  62.     byte    pixbits;            /* number of bits per pixel in a plane. */
  63.     byte    rbits;                /* number of bits per pixel of red value */
  64.     byte    gbits;                /* number of bits per pixel of green value */
  65.     byte    bbits;                /* number of bits per pixel of blue value */
  66.     byte    comptype;            /* type of compression applied to pixbuf */
  67. } S_Pixmap;
  68.  
  69. #define S_pmwidth(pm)        (pm)->width
  70. #define S_pmheight(pm)        (pm)->height
  71. #define S_pmcomptype(pm)    (pm)->comptype
  72.  
  73. /* PCSPLASH.C - Note: for PC only */
  74. extern pmap_type pmap_LoadSplash(FILE *fd, ocolmap_type crange);
  75. /* -------------------------------------------------------------------------- */
  76.  
  77.