home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / GRAPHICS / MISC / PVQUAN15.ZIP / QUANT.ZIP / QUANT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-04-03  |  2.7 KB  |  89 lines

  1. /************************************************************************
  2.  *                                                                      *
  3.  *                  Copyright (c) 1991, Frank van der Hulst             *
  4.  *                          All Rights Reserved                         *
  5.  *                                                                      *
  6.  * Authors:                                                             *
  7.  *          FvdH - Frank van der Hulst (Wellington, NZ)                     *
  8.  *                                                                      *
  9.  * Versions:                                                            *
  10.  *      V1.1 910626 FvdH - QUANT released for DBW_RENDER                *
  11.  *      V1.2 911021 FvdH - QUANT released for PoV Ray                   *
  12.  *      V1.5 920403 FvdH - Allow any number of files                    *
  13.  *                                                                      *
  14.  ************************************************************************/
  15. /* quant.h -- definitions global to quant package */
  16.  
  17. #include <stdio.h>
  18. #ifdef __TURBOC__
  19. #include <stdlib.h>
  20. #include <alloc.h>
  21. #include <vga.h>
  22.  
  23. #define HUGE_PTR huge*
  24. #else
  25.  
  26. #define HUGE_PTR *
  27. #endif
  28.  
  29. #ifdef __GNUC__
  30. #define cdecl
  31. #endif
  32.  
  33. #define TRUE        1
  34. #define FALSE        0
  35.  
  36. /* Readability constants. */
  37. #define RED            0
  38. #define GREEN        1
  39. #define BLUE        2
  40.  
  41. /* Maximum number of colormap entries.  To make larger than 2^8, the rgbmap
  42.     type will have to be changed from unsigned chars to something larger. */
  43.  
  44. #define MAXCOLORS        256
  45.  
  46. #ifdef HECKBERT
  47. #define INPUT_BITS 5
  48. #else
  49. #define INPUT_BITS 8
  50. #endif
  51.  
  52. #ifdef __TURBOC__
  53. #define CHECK_ALLOC( ptr, type, number, msg) {\
  54.     if ((ptr = (type *) farmalloc((long)sizeof(type) * (unsigned long)(number))) == NULL) {\
  55.         printf("\nCreating %s: MALLOC - out of memory\n", msg);\
  56.         exit(1);\
  57.      } \
  58.   }
  59. #else
  60. #define CHECK_ALLOC(ptr, type, number, msg) { \
  61.     if ((ptr = (type *) malloc(sizeof(type) * number)) == NULL) { \
  62.         printf("\nCreating %s: malloc - out of memory\n, msg"); \
  63.         exit(1); \
  64.     } \
  65. }
  66. #endif
  67.  
  68. #define putw(word, file) {\
  69.     putc((word) & 0xff, file);\
  70.     putc((word) >> 8, file);\
  71.     }
  72.  
  73. typedef unsigned char UCHAR;            /* 8 bits */
  74. typedef unsigned short int UINT;    /* 16 bits */
  75. typedef unsigned long int ULONG;        /* 32 bits */
  76.  
  77. extern UCHAR palette[MAXCOLORS][3];
  78. extern char                disp_image;        /* Display image flag */
  79. extern char                input_type;        /* Input format switch */
  80.  
  81. void open_file(char *fname, int num);
  82. extern int (*get_pixel)(UCHAR *p);
  83. void write_file(int num_files, char *input_file, int Xres, int Yres,
  84.                      int colors, int output_type);
  85. void close_file(void);
  86.  
  87. int    pal_index(UCHAR *pixel);
  88.  
  89.