home *** CD-ROM | disk | FTP | other *** search
- #ifndef SCANNER_H
- #define SCANNER_H
-
- #include <exec/types.h>
- #include <exec/io.h>
-
- // Non standard command for the scanner
- #define SCANCMD_SET CMD_NONSTD
-
- // Color numbers
- #define COLORNUM_HALFTONE (0x01<<0)
- #define COLORNUM_BW (0x01<<1)
- #define COLORNUM_GREY8 (0x01<<8)
- #define COLORNUM_RGB24 (0x01<<24)
-
- // Status codes
- #define SCAN_STATUS_OK 0
- #define SCAN_STATUS_EOF 1
- #define SCAN_ERR_NOTSCANNING 10
- #define SCAN_ERR_DEVICEOPEN 11
- #define SCAN_ERR_MEMORY 12
- #define SCAN_ERR_READY 13
- #define SCAN_ERR_PARAMETER 14
- #define SCAN_ERR_HARDWARE 15
- #define SCAN_ERR_COMMUNICATION 16
- #define SCAN_ERR_MISC 17
-
- struct ScannerOptions
- {
- char so_vendor[40];
- char so_model[40];
- UBYTE so_version;
- UBYTE so_revision;
-
- ULONG so_colorMode; /* bit set = supported colornum */
- /* bit 0 = halftone */
- UWORD so_opticResolution; /* Maximum optical resolution */
- UWORD so_opticResStep;
- UWORD so_interResolution; /* Maximum interpolated resolut */
- UWORD so_interResStep;
-
- WORD so_brightnessMin; /* Percent of maximum light to add */
- WORD so_brightnessMax;
- WORD so_brightnessStep;
- WORD so_brightnessDefault;
-
- WORD so_contrastMin; /* Percent */
- WORD so_contrastMax;
- WORD so_contrastStep;
- WORD so_contrastDefault;
-
- WORD so_shadowMin;
- WORD so_shadowMax;
- WORD so_shadowStep;
- WORD so_shadowDefault;
-
- WORD so_highlightMin;
- WORD so_highlightMax;
- WORD so_highlightStep;
- WORD so_highlightDefault;
-
- WORD so_midtoneMin;
- WORD so_midtoneMax;
- WORD so_midtoneStep;
- WORD so_midtoneDefault;
-
- WORD so_exposureTimeMin;
- WORD so_exposureTimeMax;
- WORD so_exposureTimeStep;
- WORD so_exposureTimeDefault;
-
- WORD so_velocityMin;
- WORD so_velocityMax;
- WORD so_velocityStep;
- WORD so_velocityDefault;
-
- WORD so_halftonePatternMin;
- WORD so_halftonePatternMax;
- WORD so_halftonePatternStep;
- WORD so_halftonePatternDefault;
-
- WORD so_maxLookupTableSize;
-
- ULONG so_flags;
-
- double so_docWidth; /* Paper size in mm */
- double so_docLength;
- };
-
- /*
- * Option flags
- *
- */
- #define FORCE_3PASS (1<<0)
-
- struct ScanParameters
- {
- ULONG sp_ColorNum; /* 0: halftone, >0: number of colors */
- double sp_x0; /* Scanning frame in mm */
- double sp_y0;
- double sp_x1;
- double sp_y1;
- UWORD sp_xResolution; /* Horizontal resolution */
- UWORD sp_yResolution; /* Vertical resolution */
- WORD sp_brightness[3]; /* Brightness for red, green and blue */
- WORD sp_contrast; /* Contrast */
- WORD sp_shadow; /* shadow adjust */
- WORD sp_highlight; /* highlight adjust */
- WORD sp_midtone; /* midtone adjust */
- WORD sp_halftonePattern; /* halftomePattern */
- WORD sp_exposureTime; /* Exposure time */
- double sp_gamma; /* gamma value */
-
- ULONG sp_flags;
- };
-
- /*
- * Flags
- *
- */
- #define REVERSE_COLOR (1<<0)
- #define NO_CALIBRATE (1<<1)
- #define NO_BACKTRACK (1<<2)
- #define EXTENDED_RES (1<<3)
- #define DO_3PASS (1<<4)
-
-
- struct ScanInformation
- {
- UWORD sv_imageWidth; /* image width in pixels */
- UWORD sv_imageHeight; /* image height in pixels */
- UWORD sv_bytesPerLine; /* bytes per line read (excl. color) */
- UWORD sv_Flags; /* data information flags */
- UWORD sv_xResolution; /* actual horizontal resolution */
- UWORD sv_yResolution; /* actual vertical resolution */
- };
-
- #endif /* SCANNER_H */
-