home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga Shareware Floppies / ma01.dms / ma01.adf / wasp / src / wasp.h < prev    next >
C/C++ Source or Header  |  1991-12-30  |  4KB  |  145 lines

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