home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 580b.lha / Wasp_v1.23 / src.LZH / src / wasp.h < prev    next >
C/C++ Source or Header  |  1991-11-15  |  4KB  |  161 lines

  1. /* wasp - copyright Steven Reiz 1990, 1991
  2.  * see wasp.c for further info
  3.  * wasp.h, 4/12/90 - 30/1/91, 4/5/91 - 1/6/91,
  4.  * 23/6/91, 30/6/91, 3/7/91, 7/7/91, 22/10/91
  5.  */
  6.  
  7. #ifndef UNIX
  8. #include <stddef.h>
  9. #endif
  10. #include <stdarg.h>
  11. #ifndef UNIX
  12. #include <stdlib.h>
  13. #endif
  14. #include <stdio.h>
  15. #ifndef UNIX
  16. #include <string.h>
  17. #endif
  18. #include <fcntl.h>
  19.  
  20. #ifndef UNIX
  21. typedef unsigned long u_long;
  22. typedef unsigned int u_int;
  23. typedef unsigned char u_char;
  24. typedef unsigned short u_short;
  25. #endif
  26.  
  27. #ifdef PROFILING
  28. #define PRIVATE
  29. #else
  30. #define PRIVATE static
  31. #endif
  32.  
  33. #undef EXTERN
  34. #ifdef MAIN
  35. #define EXTERN
  36. #else
  37. #define EXTERN extern
  38. #endif
  39.  
  40. #include "proto.h"
  41. #include "errors.h"
  42.  
  43. static char *sourcefile=__FILE__;
  44. #define error0(a, b, c, d)        errorx((a<<24)|(b<<16)|(c<<8)|d)
  45. #define error1(a, b, c, d, e)        errorx((a<<24)|(b<<16)|(c<<8)|d, e)
  46. #define error2(a, b, c, d, e, f)    errorx((a<<24)|(b<<16)|(c<<8)|d, e, f)
  47. #define assert(c) if (!(c)) errorx((E0_INTERNAL<<24)|__LINE__, sourcefile)
  48.  
  49. extern char *version;
  50.  
  51. #undef min
  52. #define min(a, b) ((a)>(b) ? (b) : (a))
  53. #undef max
  54. #define max(a, b) ((a)>(b) ? (a) : (b))
  55. #define Malloc(n) cmalloc((unsigned int)(n))
  56. #define Calloc(n) ccalloc((unsigned int)(n))
  57. #define Realloc(p, n) crealloc(p, (unsigned int)(n))
  58. #define id(a, b, c, d) (((a)<<24)|((b)<<16)|((c)<<8)|(d))
  59.  
  60. #undef NULL
  61. #define NULL ((void *)0)
  62.  
  63. #define NRGB 4096
  64.  
  65. EXTERN short outputformat;
  66. #define IFF  0 
  67. #define SRGR 1
  68. #define PPM  2
  69.  
  70. EXTERN short directrgb;
  71.  
  72. EXTERN short compression;
  73. #define COMPR_NONE    0
  74. #define COMPR_RLE    1
  75.  
  76. EXTERN short scrw, scrh; /* also defined in scrsz.c */
  77. #define DEF_SCRW 352
  78. #define DEF_SCRH 283
  79.  
  80. EXTERN int hires, ymode, xmode;
  81. #define HIRES_OK    0
  82. #define HIRES_MAYBE 1
  83. #define HIRES_NOT   2
  84. #define UNSET       0
  85. #define LACE        1
  86. #define NOLACE      2
  87. #define HIRES       1
  88. #define LORES       2
  89. #define EHB         3
  90. #define HAM         4
  91.  
  92. EXTERN int countmeth;
  93. /* should be in same order as cmeths names in wriff.c */
  94. #define COUNTMETH_UNSET        0
  95. #define COUNTMETH_ALL_1         1
  96. #define COUNTMETH_ALL_DIF       2
  97. #define COUNTMETH_ALL_FIXDIF    3
  98. #define COUNTMETH_JUMP_1        4 
  99. #define COUNTMETH_JUMP_21       5 
  100. #define COUNTMETH_JUMP_DIF      6
  101. #define COUNTMETH_JUMP_DIFSH    7
  102. #define COUNTMETH_JUMP_FIXDIF   8
  103. #define COUNTMETH_JUMP_FIXDIFSH 9
  104. #define COUNTMETH_HAMMAP_GS    10
  105. #define COUNTMETH_HAMMAP_CUBIC    11
  106. #define COUNTMETH_HAMMAP    12
  107. #define DEF_COUNTMETH           COUNTMETH_ALL_1
  108. #define DEF_HAM_COUNTMETH    COUNTMETH_JUMP_FIXDIF
  109.  
  110. EXTERN int distrmeth, distrmeth2, curdistrmeth;
  111. /* should be in same order as dmeths names in wriff.c */
  112. #define DISTRMETH_UNSET       0
  113. #define DISTRMETH_MOSTUSED    1
  114. #define DISTRMETH_WORSTFIRST  2
  115. #define DISTRMETH_EHB         3
  116. #define DISTRMETH_MUE         4
  117. #define DISTRMETH_HAMSHARP    5
  118. #define DISTRMETH_CONTRACTION 6
  119. #define DEF_DISTRMETH         DISTRMETH_WORSTFIRST
  120. #define DEF_EHB_DISTRMETH     DISTRMETH_MUE
  121.  
  122. EXTERN u_long threshold;
  123.  
  124. EXTERN int sliced;
  125. #define SLICED_NOT    0
  126. #define SLICED_SHAM    1
  127. #define SLICED_DYN    2
  128.  
  129. #define VM_LACE  0x0004L
  130. #define VM_EHB   0x0080L
  131. #define VM_HAM   0x0800L
  132. #define VM_HIRES 0x8000L
  133.  
  134. EXTERN u_long xsz, ysz;                /* size of the rgb array */
  135. EXTERN u_short **rgb;                  /* raw rgb picture data, rgb[0..ysz-1][0..xsz-1] */
  136. EXTERN int xa, xb, yc, yd;             /* scaling factors */
  137. EXTERN int asc;
  138. EXTERN char *infilename, *outfilename;
  139. EXTERN int infd, outfd;
  140. EXTERN int inoperation;
  141. EXTERN int gifmaptrunc;
  142.  
  143. extern void *malloc(), *calloc(), *realloc();
  144. extern char *strchr();
  145. extern long lseek(), atol();
  146. extern FILE *fopen();
  147.  
  148. void *cmalloc(), *ccalloc(), *crealloc();
  149. u_long ceillog2();
  150. #ifdef DEBUG
  151. long centisecs();
  152. #endif
  153.  
  154. #ifdef AZTEC_C
  155. #define REG register
  156. #define NON_REG static
  157. #else
  158. #define REG register
  159. #define NON_REG 
  160. #endif
  161.