home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 625.lha / STScan_v2.0 / stscan.h < prev    next >
C/C++ Source or Header  |  1992-02-22  |  3KB  |  117 lines

  1. /*stscan.h function prototypes */
  2.  
  3. #define PAL 
  4.  
  5. #ifdef PAL
  6. #define SCREENHEIGHT 512
  7. #define VIEWHEIGHT 470
  8. #else
  9. #define SCREENHEIGHT 400
  10. #define VIEWHEIGHT 358
  11. #endif
  12.  
  13. #define BUFSIZ 65536
  14. #define ADDLIN 6
  15.  
  16. struct Window *win;
  17. struct IOStdReq *diskreq;
  18. struct Viewport *vp;
  19. struct RastPort *rp;
  20. ULONG memneed;
  21. UWORD memwidth, memheight, membpl; 
  22. UBYTE memgray;
  23. UBYTE *memptr;
  24.  
  25. typedef struct DefWindow /*might be scanner dependent*/
  26. {  ULONG dummy1;
  27.    UWORD dummy2;
  28.    UWORD wpsize;
  29.    UBYTE winnr;
  30.    UBYTE dummy3;
  31.    UWORD resx;
  32.    UWORD resy;
  33.    UWORD cornerx;
  34.    UWORD cornery;
  35.    UWORD width;
  36.    UWORD height;
  37.    UBYTE dummy4;
  38.    UBYTE threshold;
  39.    UBYTE size;     /* temporary storage, ignored by scanner */
  40.    UBYTE halftone;
  41.    UBYTE bitspixel;
  42.    UBYTE dummy5;
  43.    UWORD dummy6;
  44.    ULONG dummy7;
  45. };
  46.  
  47. typedef struct SCSICmd  /* included here because */
  48. {   UWORD  *scsi_Data;    /* header file missing in Aztec C 5.0 */    
  49.     ULONG   scsi_Length;    
  50.     ULONG   scsi_Actual;    
  51.     UBYTE  *scsi_Command;    
  52.     UWORD   scsi_CmdLength;    
  53.     UWORD   scsi_CmdActual;    
  54.     UBYTE   scsi_Flags;        
  55.     UBYTE   scsi_Status;
  56. };
  57.  
  58.  
  59. UBYTE numbits[256];
  60.  
  61. /* preset in stscan.c */
  62. UBYTE graystep[];
  63. UBYTE bitval[];
  64. UBYTE invbitval[];
  65. UBYTE revbit[];
  66. struct DefWindow winpar;
  67.  
  68. /*scnplane.asm*/
  69. void p64to16(UBYTE *ptr, ULONG size);
  70. void clrscr(UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3);
  71. void bwview(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG vinc);
  72. void grayview(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG vinc);
  73. void vplanesep(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG count);
  74. void fplanesep(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG count);
  75. void fplanegen(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG count);
  76.  
  77. /*imginout.c*/
  78. USHORT filerequest(char *titel, char *str_filenam);
  79. void MessReq(UBYTE *string);
  80. void NotAvailable();
  81. UBYTE DoScsi(UBYTE *cmd, UWORD cmdlen, UWORD *data, ULONG datalen, UBYTE flags);
  82. void inquiry();
  83. void scan();
  84. void view(UWORD x, UWORD y, UBYTE zoom);
  85. void load();
  86. void save(UWORD wx1,UWORD wy1,UWORD wx2,UWORD wy2,UBYTE cmp,UBYTE mf);
  87. UWORD s2px(UWORD x);
  88. UWORD s2py(UWORD y);
  89. UWORD p2sx(UWORD x);
  90. UWORD p2sy(UWORD y);
  91. void drawbox(UWORD wx1,UWORD wy1,UWORD wx2,UWORD wy2,struct RastPort *wrp);
  92. void cut(UWORD wx1,UWORD wy1,UWORD wx2,UWORD wy2,UBYTE mf);
  93.  
  94. /*pixelop.c*/
  95. void floyd();
  96. void ordered();
  97. void thresh();
  98. void togray();
  99. void invert();
  100. void mirrorh();
  101. void mirrorv();
  102. void viewhisto(struct RastPort *wrp);
  103. void stretchhisto();
  104.  
  105. /*localop.c*/
  106. void lowpass();
  107. void highpass();
  108. void blowpass();
  109. void relief();
  110. void minop();
  111. void maxop();
  112. void median();
  113.  
  114. /*vectorop.c*/
  115. void thin();
  116. void vectorize();
  117. void accuracy();