/*stscan.h function prototypes */ #define PAL #ifdef PAL #define SCREENHEIGHT 512 #define VIEWHEIGHT 470 #else #define SCREENHEIGHT 400 #define VIEWHEIGHT 358 #endif #define BUFSIZ 65536 #define ADDLIN 6 struct Window *win; struct IOStdReq *diskreq; struct Viewport *vp; struct RastPort *rp; ULONG memneed; UWORD memwidth, memheight, membpl; UBYTE memgray; UBYTE *memptr; typedef struct DefWindow /*might be scanner dependent*/ { ULONG dummy1; UWORD dummy2; UWORD wpsize; UBYTE winnr; UBYTE dummy3; UWORD resx; UWORD resy; UWORD cornerx; UWORD cornery; UWORD width; UWORD height; UBYTE dummy4; UBYTE threshold; UBYTE size; /* temporary storage, ignored by scanner */ UBYTE halftone; UBYTE bitspixel; UBYTE dummy5; UWORD dummy6; ULONG dummy7; }; typedef struct SCSICmd /* included here because */ { UWORD *scsi_Data; /* header file missing in Aztec C 5.0 */ ULONG scsi_Length; ULONG scsi_Actual; UBYTE *scsi_Command; UWORD scsi_CmdLength; UWORD scsi_CmdActual; UBYTE scsi_Flags; UBYTE scsi_Status; }; UBYTE numbits[256]; /* preset in stscan.c */ UBYTE graystep[]; UBYTE bitval[]; UBYTE invbitval[]; UBYTE revbit[]; struct DefWindow winpar; /*scnplane.asm*/ void p64to16(UBYTE *ptr, ULONG size); void clrscr(UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3); void bwview(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG vinc); void grayview(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG vinc); void vplanesep(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG count); void fplanesep(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG count); void fplanegen(UBYTE *vp, UBYTE *pl0, UBYTE *pl1, UBYTE *pl2, UBYTE *pl3, ULONG count); /*imginout.c*/ USHORT filerequest(char *titel, char *str_filenam); void MessReq(UBYTE *string); void NotAvailable(); UBYTE DoScsi(UBYTE *cmd, UWORD cmdlen, UWORD *data, ULONG datalen, UBYTE flags); void inquiry(); void scan(); void view(UWORD x, UWORD y, UBYTE zoom); void load(); void save(UWORD wx1,UWORD wy1,UWORD wx2,UWORD wy2,UBYTE cmp,UBYTE mf); UWORD s2px(UWORD x); UWORD s2py(UWORD y); UWORD p2sx(UWORD x); UWORD p2sy(UWORD y); void drawbox(UWORD wx1,UWORD wy1,UWORD wx2,UWORD wy2,struct RastPort *wrp); void cut(UWORD wx1,UWORD wy1,UWORD wx2,UWORD wy2,UBYTE mf); /*pixelop.c*/ void floyd(); void ordered(); void thresh(); void togray(); void invert(); void mirrorh(); void mirrorv(); void viewhisto(struct RastPort *wrp); void stretchhisto(); /*localop.c*/ void lowpass(); void highpass(); void blowpass(); void relief(); void minop(); void maxop(); void median(); /*vectorop.c*/ void thin(); void vectorize(); void accuracy();