home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / PCXDECL.H < prev    next >
C/C++ Source or Header  |  1990-05-08  |  2KB  |  60 lines

  1. /*
  2.     pcxdecl.h
  3.  
  4.     % declarations for PCX image i/o.
  5.  
  6.     5/02/89  by Ted.
  7.  
  8.     OWL 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.      5/08/90 jmd    added underscores to func macros for vms compiler
  16. */
  17.  
  18. #define PCX_FILLER    56
  19.  
  20. typedef struct _pcxhdr {
  21.     byte            mfgr;
  22.     byte            version;
  23.     byte            encoding;
  24.     byte            pixbits;
  25.     unsigned short xmin;
  26.     unsigned short ymin;
  27.     unsigned short xmax;
  28.     unsigned short ymax;
  29.  
  30.     unsigned short hres;
  31.     unsigned short vres;
  32.  
  33.     byte            rgb[16][3];
  34.     byte            reserved;
  35.     byte            nplanes;
  36.     unsigned short linebytes;
  37.     unsigned short paltype;        /* 1 := color/bw, 2:= greyscale */
  38.     unsigned short ylines;
  39.     byte            filler[PCX_FILLER];
  40. } pcxhdr_struct;
  41.  
  42. #define pcxunpack_func(fname)        boolean DIGPRIV fname(struct frw_struct *_frw, pcxhdr_struct *_pcxhdr, pmap_type _pmap)
  43. typedef                 boolean (DIGPRIV *pcxunpack_fptr)(struct frw_struct *_frw, pcxhdr_struct *_pcxhdr, pmap_type _pmap);
  44.  
  45. #define pcxpack_func(fname)            boolean DIGPRIV fname(struct frw_struct *_frw, pmap_type _pmap)
  46. typedef                   boolean (DIGPRIV *pcxpack_fptr)(struct frw_struct *_frw, pmap_type _pmap);
  47. /* -------------------------------------------------------------------------- */
  48.  
  49. /* PCXLOAD.C */
  50. extern void        DIGPRIV dig_loadpcx(frw_type frw, pmap_type *pmapp, ocolmap_type *cmapp, pcxunpack_fptr unpackpcx);
  51. extern boolean    DIGPRIV pcx_readline(frw_type frw, byte *obuf, unsigned linebytes, unsigned *ocountp);
  52. extern void        DIGPRIV pcx_hdrflip(pcxhdr_struct *pcxhdr);
  53.  
  54. /* PCXSAVE.C */
  55. extern boolean    DIGPRIV pcx_writeline(frw_type frw, byte *obuf, unsigned linebytes);
  56. extern boolean    DIGPRIV dig_savepcx(frw_type frw, pmap_type pmap, ocolmap_type cmap, pcxpack_fptr packpcx);
  57.  
  58. /* -------------------------------------------------------------------------- */
  59.  
  60.