twain3/SaneUI/sane_wraper.h

203 lines
7.3 KiB
C
Raw Permalink Normal View History

#ifndef SANE_WRAPER_H
#define SANE_WRAPER_H
#ifndef WIN32
typedef int SANE_Word;
typedef char* SANE_String;
typedef int SANE_Bool;
//#include <sane/sane.h>
#ifdef __cplusplus
extern "C"{
#endif
#define RT_NONE "0 degree"
#define RT_90 "90 degree"
#define RT_180 "180 degree"
#define RT_270 "270 degree"
#define RT_AUTO "AUTO DETECT"
#define HG_PAGE_AUTO "AUTO"
#define HG_PAGE_A3 "A3"
#define HG_PAGE_A4 "A4"
#define HG_PAGE_A4R "A4R"
#define HG_PAGE_A5 "A5"
#define HG_PAGE_A5R "A5R"
#define SANE_VALUE_SCAN_MODE_COLOR "Color"
#define SANE_VALUE_SCAN_MODE_GRAY "Gray"
#define SANE_VALUE_SCAN_MODE_LINEART "Lineart"
#define FT_NONE "None"
#define FT_RED "Filter Red"
#define FT_GREEN "Filter Green"
#define FT_BLUE "Filter Blue"
#define FT_EN_RED "Enhance Red"
#define FT_EN_GREEN "Enhance Green"
#define FT_EN_BLUE "Enhance Blue"
#define FT_ALL "All"
#define SHARPEN_NONE "None"
#define SHARPEN "Sharpen"
#define SHARPEN_MORE "Sharpen More"
#define BLUR "Blur"
#define BLUR_MORE "Blur More"
#define HG_CLR_HARDWARE_CACHE "Clear Hardware Cache"
#define HG_CLR_ROLLER_NUM "Clear Roller Count"
enum options
{
OPT_NUM_OPTS , /*//默认为第一个,必须有*/
OPT_MODE_GROUP,/*---------选项组--------------------------------------*/
OPT_SCAN_COUNT, /*扫描张数** ScanCount */
OPT_MODE, /*颜色模式 iPixType */
OPT_PAPER, /***纸张类型 iPaperSize */
OPT_PREVIEW, /*预扫描 */
OPT_BIT_DEPTH, /*图像位深 */
OPT_RESOLUTION, /*分辨率 iResolution */
OPT_GEOMETRY_GROUP, /************图像裁切区域分组*************/
OPT_CORECT_ENABLE, /***Enable or diable Corect**************/
OPT_TL_X, /*图像左上角X坐标 icroprect_x */
OPT_TL_Y, /*图像左上角Y坐标 icroprect_y */
OPT_BR_X, /*右下X坐标 icroprect_w */
OPT_BR_Y, /*右下Y坐标 icroprect_h 以上四个用于自定义裁切区域 */
OPT_ENHANCEMENT_GROUP,/*-------图像增强分组---------------------------*/
OPT_BRIGHTNESS, /*亮度 iBrightness */
OPT_CONTRAST, /* 对比度 iContrast */
/*add by lyc 2020 03 06******/
OPT_GAMMA, /*Gamma值 fGamma */
OPT_CUSTGAMMA_ARRAY_POINTER, /*用户自定义gamma数组头指针 igammatable */
OPT_IMAGEPROC_GROUP, /*---------图像处理功能分组----------------------*/
OPT_AUTODESCREW, /*自动纠偏 bAutoDescrew */
OPT_FILLBLACKRECT, /*填充黑框 bFillBlcak */
/**OPT_MULTIOUTPUTRED,*/ /*多流除红 bMultiOutPutR*/
/***OPT_MULTIOUTPUT,***/ /*多流输出类型 bMultiOutPut */
OPT_FILTER, /*除色 iFilter */
OPT_OUTHOLE, /*除穿孔可用性 bOutHole */
OPT_OUTHOLERATIO, /*除穿孔搜索范围 iOutHoleRatio*/
OPT_DISCARDBLANK, /*跳过空白页 bDiscardBlank*/
OPT_FOLD, /*paper fold bFold */
OPT_AUTOCROP, /*自动裁切 bAuotCrop */
/*add by lyc 2020 03 06*/
OPT_REFUSEINFLOW, /*防止渗透 refuseInflow */
OPT_COLORCORRECT, /*色彩校正 icolorCorrection*/
OPT_REMOVEMOIRE, /*去除摩尔纹 */
OPT_ERROREXTENTION, /*错误扩散 errorExtention*/
OPT_IMAGESHARPEN, /*图像锐化 iSharpen */
OPT_SPLITIMAGE, /*拆分图像 splitImage */
OPT_ANSWERSHEETERFILTER, /*答题卡除红 bAnswerSheetR */
OPT_NOISEDETACH, /*噪点优化 nosieDetach */
OPT_BACKIMAGEROTATE180, /*背面旋转180 bBackRotate180*/
OPT_ROTATE, /*图像旋转 0 90 180 270,自动文稿方向识别 iOrientation */
OPT_TEXTURE_REMOVE, /*除网纹 textureRemove */
OPT_DEVICEPARAM_GROUP, /*------------硬件设置分组----------------------------*/
OPT_DULPEX, /*单双面 bDuplex */
OPT_DOUBLEFEEDDETECT, /*双张检测 bdoublefooddetection*/
OPT_STAPLEDETECT, /*订书针检测 bBindingDetect*/
OPT_SCREWDETECT, /*歪斜检测 iSkewEnable */
OPT_SCREWDETECTLEVEL, /*歪斜检测等级 iSkewLevel */
OPT_GET_ROLLER_NUM, /*获取滚轴计数**/
OPT_GET_DEV_STATUS, /*获取设备状态***/
OPT_HARDWARE_SLEEP_TIME, /*硬件休眠时间***/
OPT_HARDWARE_SET,
OPT_GET_HISTORY_SCANNED_NUM, /*获取历史总张数*/
NUM_OPTIONS /*支持的总协议数 不能删除*/
};
typedef struct hg_scanparams
{
SANE_Word scan_count;
SANE_String scan_mode;
SANE_String scan_paper;
SANE_Bool scan_preview;
SANE_Word scan_bit_depth;
SANE_Word scan_resolution;
SANE_Bool scan_corect_enable;
SANE_Word scan_tl_x;
SANE_Word scan_tl_y;
SANE_Word scan_br_x;
SANE_Word scan_br_y;
SANE_Word scan_brightness;
SANE_Word scan_contrast;
double scan_gama;
SANE_Bool scan_autodescrew;
SANE_Bool scan_fillblack;
SANE_String scan_filter;
SANE_Bool scan_outhole;
SANE_Word scan_outholeratio;
SANE_Bool scan_discardblank;
SANE_Bool scan_fold;
SANE_Bool scan_refuseinflow;
SANE_Bool scan_color_correct;
SANE_Bool scan_removemoire;
SANE_Bool scan_errorextention;
SANE_String scan_imagesharpen;
SANE_Bool scan_splitimage;
SANE_Bool scan_noisedetach;
SANE_Bool scan_backimagerotate180;
SANE_String scan_rotate;
SANE_Bool scan_texture_remove;
SANE_Bool scan_duplex;
SANE_Bool scan_doublefeeddetect;
SANE_Bool scan_stapledetect;
SANE_Bool scan_screwdetect;
SANE_Word scan_screwdetectlevel;
}ScanParams;
enum hg_tagUsbSupported
{
/*停止扫描**/
SCAN_STOP = -2,
/*异常******/
HAVE_ERROR = -1,
/*正常状态****/
NORMAL = 0,
/*开盖***/
OPEN_COVER = 1,
/*无纸****/
NO_FEED = 2,
/*搓纸失败****/
FEED_IN_ERROR = 4,
/**卡纸*****/
PAPER_JAM = 8,
/**检测到双张**/
DETECT_DOUBLE_FEED = 16,
/**检测到订书钉**/
DETECT_STAPLE = 32,
/*纸张倾斜******/
PAPER_SKEW = 64,
/**自动模式****/
AUTO_SCAN_MODE = 65,
/**手动模式****/
MANAUL_SCAN_MODE = 66,
/**计数模式****/
COUNT_MODE = 67,
/*硬件错误*****/
HARDWARE_ERROR = 68,
/*FPGA崩溃***/
FPGA_ERROR = 68,
/*开始******/
START_SCAN = 69,
/**停止*****/
STOP_SCAN = 70,
/**有图*****/
HAVE_IMAGE = 71,
/*更新扫描参数***/
UPDATE_SCAN_PARAMETER = 72,
/*PC繁忙或出错***/
PC_SCAN_BUSY_or_ERROR = 73
};
typedef enum hg_tagUsbSupported tagUsbSupported;
#ifdef __cplusplus
}
#endif
#endif
#endif // SANE_WRAPER_H