fix bugs: 146, 147, 148;统一配置项字符串常量

This commit is contained in:
gb 2022-05-13 16:39:21 +08:00
parent 0543315657
commit c5080bb8d2
12 changed files with 155 additions and 247 deletions

View File

@ -6,151 +6,6 @@
//
// 颜色模式 选项
// #define HUAGAO_SETTING_STR_COLOR_MODE_BLACK_WHITE "黑白"
#define HUAGAO_SETTING_STR_COLOR_MODE_BLACK_WHITE "\351\273\221\347\231\275"
// #define HUAGAO_SETTING_STR_COLOR_MODE_256_GRAY "256级灰度"
#define HUAGAO_SETTING_STR_COLOR_MODE_256_GRAY "256\347\272\247\347\201\260\345\272\246"
// #define HUAGAO_SETTING_STR_COLOR_MODE_24_BITS "24位彩色"
#define HUAGAO_SETTING_STR_COLOR_MODE_24_BITS "24\344\275\215\345\275\251\350\211\262"
// #define HUAGAO_SETTING_STR_COLOR_MODE_AUTO_MATCH "颜色自动识别"
#define HUAGAO_SETTING_STR_COLOR_MODE_AUTO_MATCH "\351\242\234\350\211\262\350\207\252\345\212\250\350\257\206\345\210\253"
// 多流输出 选项
// #define HUAGAO_SETTING_STR_MULTI_OUT_NOT "不选择输出模式"
#define HUAGAO_SETTING_STR_MULTI_OUT_NOT "\344\270\215\351\200\211\346\213\251\350\276\223\345\207\272\346\250\241\345\274\217"
// #define HUAGAO_SETTING_STR_MULTI_OUT_ALL "彩色+灰度+黑白"
#define HUAGAO_SETTING_STR_MULTI_OUT_ALL "\345\275\251\350\211\262+\347\201\260\345\272\246+\351\273\221\347\231\275"
// #define HUAGAO_SETTING_STR_MULTI_COLOR_ADN_GRAY "彩色+灰度"
#define HUAGAO_SETTING_STR_MULTI_COLOR_ADN_GRAY "\345\275\251\350\211\262+\347\201\260\345\272\246"
// #define HUAGAO_SETTING_STR_MULTI_COLOR_ADN_BW "彩色+黑白"
#define HUAGAO_SETTING_STR_MULTI_COLOR_ADN_BW "\345\275\251\350\211\262+\351\273\221\347\231\275"
// #define HUAGAO_SETTING_STR_MULTI_GRAY_ADN_BW "灰度+黑白"
#define HUAGAO_SETTING_STR_MULTI_GRAY_ADN_BW "\347\201\260\345\272\246+\351\273\221\347\231\275"
// 除色 选项
// #define HUAGAO_SETTING_STR_RID_COLOR_NONE "不除色"
#define HUAGAO_SETTING_STR_RID_COLOR_NONE "\344\270\215\351\231\244\350\211\262"
// #define HUAGAO_SETTING_STR_RID_COLOR_RID_RED "除红色"
#define HUAGAO_SETTING_STR_RID_COLOR_RID_RED "\351\231\244\347\272\242\350\211\262"
// #define HUAGAO_SETTING_STR_RID_COLOR_RID_GREEN "除绿色"
#define HUAGAO_SETTING_STR_RID_COLOR_RID_GREEN "\351\231\244\347\273\277\350\211\262"
// #define HUAGAO_SETTING_STR_RID_COLOR_RID_BLUE "除蓝色"
#define HUAGAO_SETTING_STR_RID_COLOR_RID_BLUE "\351\231\244\350\223\235\350\211\262"
// #define HUAGAO_SETTING_STR_RID_COLOR_ENHANCE_RED "红色增强"
#define HUAGAO_SETTING_STR_RID_COLOR_ENHANCE_RED "\347\272\242\350\211\262\345\242\236\345\274\272"
// #define HUAGAO_SETTING_STR_RID_COLOR_ENHANCE_GREEN "绿色增强"
#define HUAGAO_SETTING_STR_RID_COLOR_ENHANCE_GREEN "\347\273\277\350\211\262\345\242\236\345\274\272"
// #define HUAGAO_SETTING_STR_RID_COLOR_ENHANCE_BLUE "蓝色增强"
#define HUAGAO_SETTING_STR_RID_COLOR_ENHANCE_BLUE "\350\223\235\350\211\262\345\242\236\345\274\272"
// 纸张 选项
#define HUAGAO_SETTING_STR_PAPER_A3 "A3"
#define HUAGAO_SETTING_STR_PAPER_A4 "A4"
#define HUAGAO_SETTING_STR_PAPER_A5 "A5"
#define HUAGAO_SETTING_STR_PAPER_A6 "A6"
#define HUAGAO_SETTING_STR_PAPER_B4 "B4"
#define HUAGAO_SETTING_STR_PAPER_B5 "B5"
#define HUAGAO_SETTING_STR_PAPER_B6 "B6"
// #define HUAGAO_SETTING_STR_PAPER_8K "8开"
#define HUAGAO_SETTING_STR_PAPER_8K "8\345\274\200"
// #define HUAGAO_SETTING_STR_PAPER_16K "16开"
#define HUAGAO_SETTING_STR_PAPER_16K "16\345\274\200"
#define HUAGAO_SETTING_STR_PAPER_LETTER "Letter"
// #define HUAGAO_SETTING_STR_PAPER_A4_LATERAL "A4横向"
#define HUAGAO_SETTING_STR_PAPER_A4_LATERAL "A4\346\250\252\345\220\221"
// #define HUAGAO_SETTING_STR_PAPER_A5_LATERAL "A5横向"
#define HUAGAO_SETTING_STR_PAPER_A5_LATERAL "A5\346\250\252\345\220\221"
// #define HUAGAO_SETTING_STR_PAPER_A6_LATERAL "A6横向"
#define HUAGAO_SETTING_STR_PAPER_A6_LATERAL "A6\346\250\252\345\220\221"
// #define HUAGAO_SETTING_STR_PAPER_B5_LATERAL "B5横向"
#define HUAGAO_SETTING_STR_PAPER_B5_LATERAL "B5\346\250\252\345\220\221"
// #define HUAGAO_SETTING_STR_PAPER_B6_LATERAL "B6横向"
#define HUAGAO_SETTING_STR_PAPER_B6_LATERAL "B6\346\250\252\345\220\221"
// #define HUAGAO_SETTING_STR_PAPER_16K_LATERAL "16开横向"
#define HUAGAO_SETTING_STR_PAPER_16K_LATERAL "16\345\274\200\346\250\252\345\220\221"
// #define HUAGAO_SETTING_STR_PAPER_LETTER_LATERAL "Letter横向"
#define HUAGAO_SETTING_STR_PAPER_LETTER_LATERAL "Letter\346\250\252\345\220\221"
#define HUAGAO_SETTING_STR_PAPER_DOUBLE_LETTER "Double Letter"
#define HUAGAO_SETTING_STR_PAPER_LEGAL "LEGAL"
// #define HUAGAO_SETTING_STR_PAPER_AUTO_MATCH "匹配原始尺寸"
#define HUAGAO_SETTING_STR_PAPER_AUTO_MATCH "\345\214\271\351\205\215\345\216\237\345\247\213\345\260\272\345\257\270"
// #define HUAGAO_SETTING_STR_PAPER_MAX_SIZE "最大扫描尺寸"
#define HUAGAO_SETTING_STR_PAPER_MAX_SIZE "\346\234\200\345\244\247\346\211\253\346\217\217\345\260\272\345\257\270"
// #define HUAGAO_SETTING_STR_PAPER_MAX_SIZE_CLIP "最大扫描尺寸自动裁切"
#define HUAGAO_SETTING_STR_PAPER_MAX_SIZE_CLIP "\346\234\200\345\244\247\346\211\253\346\217\217\345\260\272\345\257\270\350\207\252\345\212\250\350\243\201\345\210\207"
// #define HUAGAO_SETTING_STR_PAPER_TRIGEMINY "三联试卷"
#define HUAGAO_SETTING_STR_PAPER_TRIGEMINY "\344\270\211\350\201\224\350\257\225\345\215\267"
// 页面扫描模式 选项
// #define HUAGAO_SETTING_STR_PAGE_SINGLE "单面"
#define HUAGAO_SETTING_STR_PAGE_SINGLE "\345\215\225\351\235\242"
// #define HUAGAO_SETTING_STR_PAGE_DOUBLE "双面"
#define HUAGAO_SETTING_STR_PAGE_DOUBLE "\345\217\214\351\235\242"
// #define HUAGAO_SETTING_STR_PAGE_OMIT_EMPTY "跳过空白页(通用)"
#define HUAGAO_SETTING_STR_PAGE_OMIT_EMPTY "\350\267\263\350\277\207\347\251\272\347\231\275\351\241\265\357\274\210\351\200\232\347\224\250\357\274\211"
// #define HUAGAO_SETTING_STR_PAGE_OMIT_EMPTY_RECEIPT "跳过空白页(发票纸)"
#define HUAGAO_SETTING_STR_PAGE_OMIT_EMPTY_RECEIPT "\350\267\263\350\277\207\347\251\272\347\231\275\351\241\265\357\274\210\345\217\221\347\245\250\347\272\270\357\274\211"
// #define HUAGAO_SETTING_STR_PAGE_FOLIO "对折"
#define HUAGAO_SETTING_STR_PAGE_FOLIO "\345\257\271\346\212\230"
// 锐化 选项
// #define HUAGAO_SETTING_STR_SHARPEN_NONE "无"
#define HUAGAO_SETTING_STR_SHARPEN_NONE "\346\227\240"
// #define HUAGAO_SETTING_STR_SHARPEN_SHARPEN "锐化"
#define HUAGAO_SETTING_STR_SHARPEN_SHARPEN "\351\224\220\345\214\226"
// #define HUAGAO_SETTING_STR_SHARPEN_SHARPEN_MORE "进一步锐化"
#define HUAGAO_SETTING_STR_SHARPEN_SHARPEN_MORE "\350\277\233\344\270\200\346\255\245\351\224\220\345\214\226"
// #define HUAGAO_SETTING_STR_SHARPEN_HAZY "模糊"
#define HUAGAO_SETTING_STR_SHARPEN_HAZY "\346\250\241\347\263\212"
// #define HUAGAO_SETTING_STR_SHARPEN_HAZY_MORE "进一步模糊"
#define HUAGAO_SETTING_STR_SHARPEN_HAZY_MORE "\350\277\233\344\270\200\346\255\245\346\250\241\347\263\212"
//背景填充方式 选项
// #define HUAGAO_SETTING_STR_FILL_BKG_CONVEX_POLYGON "凸多边形"
#define HUAGAO_SETTING_STR_FILL_BKG_CONVEX_POLYGON "\345\207\270\345\244\232\350\276\271\345\275\242"
// #define HUAGAO_SETTING_STR_FILL_BKG_CONCAVE_POLYGON "凹多边形"
#define HUAGAO_SETTING_STR_FILL_BKG_CONCAVE_POLYGON "\345\207\271\345\244\232\350\276\271\345\275\242"
// 扫描数量 选项
// #define HUAGAO_SETTING_STR_SCAN_MODE_CONTINUOUS "连续扫描"
#define HUAGAO_SETTING_STR_SCAN_MODE_CONTINUOUS "\350\277\236\347\273\255\346\211\253\346\217\217"
// #define HUAGAO_SETTING_STR_SCAN_MODE_GIVEN_COUNT "扫描指定张数"
#define HUAGAO_SETTING_STR_SCAN_MODE_GIVEN_COUNT "\346\211\253\346\217\217\346\214\207\345\256\232\345\274\240\346\225\260"
// 文稿方向 选项
// #define HUAGAO_SETTING_STR_TEXT_DIRECTION_0 "0°"
#define HUAGAO_SETTING_STR_TEXT_DIRECTION_0 "0\302\260"
// #define HUAGAO_SETTING_STR_TEXT_DIRECTION_90 "90°"
#define HUAGAO_SETTING_STR_TEXT_DIRECTION_90 "90\302\260"
// #define HUAGAO_SETTING_STR_TEXT_DIRECTION_180 "180°"
#define HUAGAO_SETTING_STR_TEXT_DIRECTION_180 "180\302\260"
// #define HUAGAO_SETTING_STR_TEXT_DIRECTION_270 "-90°"
#define HUAGAO_SETTING_STR_TEXT_DIRECTION_270 "-90\302\260"
// #define HUAGAO_SETTING_STR_TEXT_DIRECTION_AUTO "自动文本方向识别°"
#define HUAGAO_SETTING_STR_TEXT_DIRECTION_AUTO "\350\207\252\345\212\250\346\226\207\346\234\254\346\226\271\345\220\221\350\257\206\345\210\253\302\260"
// 渗透检测强度
// #define HUAGAO_SETTING_STR_PERMAEATE_WEAKER "较弱"
#define HUAGAO_SETTING_STR_PERMAEATE_WEAKER "\350\276\203\345\274\261"
// #define HUAGAO_SETTING_STR_PERMAEATE_WEAK "弱"
#define HUAGAO_SETTING_STR_PERMAEATE_WEAK "\345\274\261"
// #define HUAGAO_SETTING_STR_PERMAEATE_ORDINARY "一般"
#define HUAGAO_SETTING_STR_PERMAEATE_ORDINARY "\344\270\200\350\210\254"
// #define HUAGAO_SETTING_STR_PERMAEATE_STRONG "强"
#define HUAGAO_SETTING_STR_PERMAEATE_STRONG "\345\274\272"
// #define HUAGAO_SETTING_STR_PERMAEATE_STRONGER "较强"
#define HUAGAO_SETTING_STR_PERMAEATE_STRONGER "\350\276\203\345\274\272"
//画质
// #define HUAGAO_SETTING_STR_IMG_NONE "无"
#define HUAGAO_SETTING_STR_IMG_NONE "\346\227\240"
// #define OPTION_VALUE_TXZL_ZL "速度优先"
#define HUAGAO_SETTING_STR_IMG_SPEED "\351\200\237\345\272\246\344\274\230\345\205\210"
// #define OPTION_VALUE_TXZL_XN "画质优先"
#define HUAGAO_SETTING_STR_IMG_QUALITY "\347\224\273\350\264\250\344\274\230\345\205\210"
// 公司名称 & 信息
#define BRAND_DISPLAY_ALL_EXPAND // 定义该标志,使得扩展信息始终显示
@ -191,6 +46,8 @@
#define BRAND_TITLE_ROLLER_COUNT "\346\273\232\350\275\264\345\274\240\346\225\260"
// #define BRAND_TITLE_IP "设备IP"
#define BRAND_TITLE_IP "\350\256\276\345\244\207IP"
// #define BRAND_TITLE_HISTORY_COUNT "历史张数"
#define BRAND_TITLE_HISTORY_COUNT "\345\216\206\345\217\262\345\274\240\346\225\260"
// #define BRAND_NO_DEVICE "未连接设备"
#define BRAND_NO_DEVICE "\346\234\252\350\277\236\346\216\245\350\256\276\345\244\207"

View File

@ -1,4 +1,5 @@
#include "common_setting.h"
#include "sane/sane_option_definitions.h"
static struct _fixed_option
{
@ -8,109 +9,109 @@ static struct _fixed_option
g_color_mode[] =
{
MAKE_STR_AND_ENUM(COLOR_MODE_BLACK_WHITE),
MAKE_STR_AND_ENUM(COLOR_MODE_256_GRAY),
MAKE_STR_AND_ENUM(COLOR_MODE_24_BITS),
MAKE_STR_AND_ENUM(COLOR_MODE_AUTO_MATCH)
{OPTION_VALUE_YSMS_HB, COLOR_MODE_BLACK_WHITE},
{OPTION_VALUE_YSMS_256JHD, COLOR_MODE_256_GRAY},
{OPTION_VALUE_YSMS_24WCS, COLOR_MODE_24_BITS},
{OPTION_VALUE_YSMS_YSZDSB, COLOR_MODE_AUTO_MATCH}
},
g_multi_out[] =
{
MAKE_STR_AND_ENUM(MULTI_OUT_NOT),
MAKE_STR_AND_ENUM(MULTI_OUT_ALL),
MAKE_STR_AND_ENUM(MULTI_COLOR_ADN_GRAY),
MAKE_STR_AND_ENUM(MULTI_COLOR_ADN_BW),
MAKE_STR_AND_ENUM(MULTI_GRAY_ADN_BW)
{OPTION_VALUE_DLSC_W, MULTI_OUT_NOT},
{OPTION_VALUE_DLSC_CS_HD_HB, MULTI_OUT_ALL},
{OPTION_VALUE_DLSC_CS_HD, MULTI_COLOR_AND_GRAY},
{OPTION_VALUE_DLSC_CS_HB, MULTI_COLOR_AND_BW},
{OPTION_VALUE_DLSC_HD_HB, MULTI_GRAY_AND_BW}
},
g_rid_color[] =
{
MAKE_STR_AND_ENUM(RID_COLOR_NONE),
MAKE_STR_AND_ENUM(RID_COLOR_RID_RED),
MAKE_STR_AND_ENUM(RID_COLOR_RID_GREEN),
MAKE_STR_AND_ENUM(RID_COLOR_RID_BLUE),
MAKE_STR_AND_ENUM(RID_COLOR_ENHANCE_RED),
MAKE_STR_AND_ENUM(RID_COLOR_ENHANCE_GREEN),
MAKE_STR_AND_ENUM(RID_COLOR_ENHANCE_BLUE)
{OPTION_VALUE_HDHHBTX_CS_BCS, RID_COLOR_NONE},
{OPTION_VALUE_HDHHBTX_CS_CHS, RID_COLOR_RID_RED},
{OPTION_VALUE_HDHHBTX_CS_CLS, RID_COLOR_RID_GREEN},
{OPTION_VALUE_HDHHBTX_CS_CHULANSE, RID_COLOR_RID_BLUE},
{OPTION_VALUE_HDHHBTX_CS_HSZQ, RID_COLOR_ENHANCE_RED},
{OPTION_VALUE_HDHHBTX_CS_LSZQ, RID_COLOR_ENHANCE_GREEN},
{OPTION_VALUE_HDHHBTX_CS_LANSEZENGQIANG, RID_COLOR_ENHANCE_BLUE}
},
g_paper[] =
{
MAKE_STR_AND_ENUM(PAPER_A3),
MAKE_STR_AND_ENUM(PAPER_A4),
MAKE_STR_AND_ENUM(PAPER_A5),
MAKE_STR_AND_ENUM(PAPER_A6),
MAKE_STR_AND_ENUM(PAPER_B4),
MAKE_STR_AND_ENUM(PAPER_B5),
MAKE_STR_AND_ENUM(PAPER_B6),
MAKE_STR_AND_ENUM(PAPER_8K),
MAKE_STR_AND_ENUM(PAPER_16K),
MAKE_STR_AND_ENUM(PAPER_LETTER),
MAKE_STR_AND_ENUM(PAPER_A4_LATERAL),
MAKE_STR_AND_ENUM(PAPER_A5_LATERAL),
MAKE_STR_AND_ENUM(PAPER_A6_LATERAL),
MAKE_STR_AND_ENUM(PAPER_B5_LATERAL),
MAKE_STR_AND_ENUM(PAPER_B6_LATERAL),
MAKE_STR_AND_ENUM(PAPER_16K_LATERAL),
MAKE_STR_AND_ENUM(PAPER_LETTER_LATERAL),
MAKE_STR_AND_ENUM(PAPER_DOUBLE_LETTER),
MAKE_STR_AND_ENUM(PAPER_LEGAL),
MAKE_STR_AND_ENUM(PAPER_AUTO_MATCH),
MAKE_STR_AND_ENUM(PAPER_MAX_SIZE),
MAKE_STR_AND_ENUM(PAPER_MAX_SIZE_CLIP),
MAKE_STR_AND_ENUM(PAPER_TRIGEMINY)
{OPTION_VALUE_ZZCC_A3, PAPER_A3},
{OPTION_VALUE_ZZCC_A4, PAPER_A4},
{OPTION_VALUE_ZZCC_A5, PAPER_A5},
{OPTION_VALUE_ZZCC_A6, PAPER_A6},
{OPTION_VALUE_ZZCC_B4, PAPER_B4},
{OPTION_VALUE_ZZCC_B5, PAPER_B5},
{OPTION_VALUE_ZZCC_B6, PAPER_B6},
{OPTION_VALUE_ZZCC_8K, PAPER_8K},
{OPTION_VALUE_ZZCC_16K, PAPER_16K},
{OPTION_VALUE_ZZCC_Letter, PAPER_LETTER},
{OPTION_VALUE_ZZCC_A4HX, PAPER_A4_LATERAL},
{OPTION_VALUE_ZZCC_A5HX, PAPER_A5_LATERAL},
{OPTION_VALUE_ZZCC_A6HX, PAPER_A6_LATERAL},
{OPTION_VALUE_ZZCC_B5HX, PAPER_B5_LATERAL},
{OPTION_VALUE_ZZCC_B6HX, PAPER_B6_LATERAL},
{OPTION_VALUE_ZZCC_16KHX, PAPER_16K_LATERAL},
{OPTION_VALUE_ZZCC_LetterHX, PAPER_LETTER_LATERAL},
{OPTION_VALUE_ZZCC_DoubleLetter, PAPER_DOUBLE_LETTER},
{OPTION_VALUE_ZZCC_LEGAL, PAPER_LEGAL},
{OPTION_VALUE_ZZCC_PPYSCC, PAPER_AUTO_MATCH},
{OPTION_VALUE_ZZCC_ZDSMCC, PAPER_MAX_SIZE},
{OPTION_VALUE_ZZCC_ZDSMCCZDCQ, PAPER_MAX_SIZE_CLIP},
{OPTION_VALUE_ZZCC_SLSJ, PAPER_TRIGEMINY}
},
g_page[] =
{
MAKE_STR_AND_ENUM(PAGE_SINGLE),
MAKE_STR_AND_ENUM(PAGE_DOUBLE),
MAKE_STR_AND_ENUM(PAGE_OMIT_EMPTY),
MAKE_STR_AND_ENUM(PAGE_OMIT_EMPTY_RECEIPT),
MAKE_STR_AND_ENUM(PAGE_FOLIO)
{OPTION_VALUE_SMYM_DM, PAGE_SINGLE},
{OPTION_VALUE_SMYM_SM, PAGE_DOUBLE},
{OPTION_VALUE_SMYM_TGKBYTY, PAGE_OMIT_EMPTY},
{OPTION_VALUE_SMYM_TGKBYFPZ, PAGE_OMIT_EMPTY_RECEIPT},
{OPTION_VALUE_SMYM_DZ, PAGE_FOLIO}
},
g_sharpen[] =
{
MAKE_STR_AND_ENUM(SHARPEN_NONE),
MAKE_STR_AND_ENUM(SHARPEN_SHARPEN),
MAKE_STR_AND_ENUM(SHARPEN_SHARPEN_MORE),
MAKE_STR_AND_ENUM(SHARPEN_HAZY),
MAKE_STR_AND_ENUM(SHARPEN_HAZY_MORE)
{OPTION_VALUE_RHYMH_W, SHARPEN_NONE},
{OPTION_VALUE_RHYMH_RH, SHARPEN_SHARPEN},
{OPTION_VALUE_RHYMH_JYBRH, SHARPEN_SHARPEN_MORE},
{OPTION_VALUE_RHYMH_MH, SHARPEN_HAZY},
{OPTION_VALUE_RHYMH_JYBMH, SHARPEN_HAZY_MORE}
},
g_fill_bkg[] =
{
MAKE_STR_AND_ENUM(FILL_BKG_CONVEX_POLYGON),
MAKE_STR_AND_ENUM(FILL_BKG_CONCAVE_POLYGON)
{OPTION_VALUE_BJTCFS_TDBX, FILL_BKG_CONVEX_POLYGON},
{OPTION_VALUE_BJTCFS_ADBX, FILL_BKG_CONCAVE_POLYGON}
},
g_scan_mode[] =
{
MAKE_STR_AND_ENUM(SCAN_MODE_CONTINUOUS),
MAKE_STR_AND_ENUM(SCAN_MODE_GIVEN_COUNT)
{OPTION_VALUE_SMZS_LXSM, SCAN_MODE_CONTINUOUS},
{OPTION_VALUE_SMZS_SMZDZS, SCAN_MODE_GIVEN_COUNT}
},
g_text_direction[] =
{
MAKE_STR_AND_ENUM(TEXT_DIRECTION_0),
MAKE_STR_AND_ENUM(TEXT_DIRECTION_90),
MAKE_STR_AND_ENUM(TEXT_DIRECTION_180),
MAKE_STR_AND_ENUM(TEXT_DIRECTION_270),
MAKE_STR_AND_ENUM(TEXT_DIRECTION_AUTO)
{OPTION_VALUE_WGFX_0, TEXT_DIRECTION_0},
{OPTION_VALUE_WGFX_90, TEXT_DIRECTION_90},
{OPTION_VALUE_WGFX_180, TEXT_DIRECTION_180},
{OPTION_VALUE_WGFX__90, TEXT_DIRECTION_270},
{OPTION_VALUE_WGFX_ZDWBFXSB, TEXT_DIRECTION_AUTO}
},
g_permeate_lv[] =
{
MAKE_STR_AND_ENUM(PERMAEATE_WEAKER),
MAKE_STR_AND_ENUM(PERMAEATE_WEAK),
MAKE_STR_AND_ENUM(PERMAEATE_ORDINARY),
MAKE_STR_AND_ENUM(PERMAEATE_STRONG),
MAKE_STR_AND_ENUM(PERMAEATE_STRONGER)
{OPTION_VALUE_FZSTDJ_JR, PERMAEATE_WEAKER},
{OPTION_VALUE_FZSTDJ_R, PERMAEATE_WEAK},
{OPTION_VALUE_FZSTDJ_YB, PERMAEATE_ORDINARY},
{OPTION_VALUE_FZSTDJ_Q, PERMAEATE_STRONG},
{OPTION_VALUE_FZSTDJ_JQ, PERMAEATE_STRONGER}
},
g_img_quality[] =
{
MAKE_STR_AND_ENUM(IMG_NONE),
MAKE_STR_AND_ENUM(IMG_SPEED),
MAKE_STR_AND_ENUM(IMG_QUALITY)
{OPTION_VALUE_HZ_W, IMG_NONE},
{OPTION_VALUE_HZ_SDYX, IMG_SPEED},
{OPTION_VALUE_HZ_HZYX, IMG_QUALITY}
};
@ -137,11 +138,11 @@ static std::string get_str(struct _fixed_option* arr, int num, int enm, int defa
#define INVOKE_MATCH(arr, val, yes) match_best(arr, ARRAY_SIZE(arr), val, yes)
#define INVOKE_STR(arr, val, def) get_str(arr, ARRAY_SIZE(arr), val, def)
#define SET_DEFAULT_ON_FAIL(ind, val, def) \
if(ind == -1) \
{ \
ind = def; \
val = STR_SETTING(def); \
#define SET_DEFAULT_ON_FAIL(map_array, ind, val, def) \
if(ind == -1) \
{ \
ind = def; \
val = INVOKE_STR(map_array, def, def); \
}
int match_best_color_mode(std::string& val, bool* exact)
@ -149,7 +150,7 @@ int match_best_color_mode(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_color_mode, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, COLOR_MODE_24_BITS);
SET_DEFAULT_ON_FAIL(g_color_mode, ind, val, COLOR_MODE_24_BITS);
if (exact)
*exact = yes;
@ -160,7 +161,7 @@ int match_best_multi_out(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_multi_out, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, MULTI_OUT_NOT);
SET_DEFAULT_ON_FAIL(g_multi_out, ind, val, MULTI_OUT_NOT);
if (exact)
*exact = yes;
@ -172,7 +173,7 @@ int match_best_rid_color(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_rid_color, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, RID_COLOR_NONE);
SET_DEFAULT_ON_FAIL(g_rid_color, ind, val, RID_COLOR_NONE);
if (exact)
*exact = yes;
@ -183,7 +184,7 @@ int match_best_paper(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_paper, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, PAPER_A4);
SET_DEFAULT_ON_FAIL(g_paper, ind, val, PAPER_A4);
if (exact)
*exact = yes;
@ -194,7 +195,7 @@ int match_best_page(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_page, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, PAGE_DOUBLE);
SET_DEFAULT_ON_FAIL(g_page, ind, val, PAGE_DOUBLE);
if (exact)
*exact = yes;
@ -205,7 +206,7 @@ int match_best_sharpen(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_sharpen, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, SHARPEN_NONE);
SET_DEFAULT_ON_FAIL(g_sharpen, ind, val, SHARPEN_NONE);
if (exact)
*exact = yes;
@ -216,7 +217,7 @@ int match_best_fill_background(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_fill_bkg, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, FILL_BKG_CONVEX_POLYGON);
SET_DEFAULT_ON_FAIL(g_fill_bkg, ind, val, FILL_BKG_CONVEX_POLYGON);
if (exact)
*exact = yes;
@ -227,7 +228,7 @@ int match_best_scan_mode(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_scan_mode, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, SCAN_MODE_CONTINUOUS);
SET_DEFAULT_ON_FAIL(g_scan_mode, ind, val, SCAN_MODE_CONTINUOUS);
if (exact)
*exact = yes;
@ -238,7 +239,7 @@ int match_best_text_direction(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_text_direction, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, TEXT_DIRECTION_0);
SET_DEFAULT_ON_FAIL(g_text_direction, ind, val, TEXT_DIRECTION_0);
if (exact)
*exact = yes;
@ -250,7 +251,7 @@ int match_best_permaeate_lv(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_permeate_lv, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, TEXT_DIRECTION_0);
SET_DEFAULT_ON_FAIL(g_permeate_lv, ind, val, TEXT_DIRECTION_0);
if (exact)
*exact = yes;
@ -262,7 +263,7 @@ int match_best_img_quality(std::string& val, bool* exact)
bool yes = true;
int ind = INVOKE_MATCH(g_img_quality, val, yes);
SET_DEFAULT_ON_FAIL(ind, val, IMG_SPEED);
SET_DEFAULT_ON_FAIL(g_img_quality, ind, val, IMG_SPEED);
if (exact)
*exact = yes;

View File

@ -10,8 +10,6 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 硬件配置项定义
//
#define STR_SETTING(enum_val) HUAGAO_SETTING_STR_##enum_val
#define MAKE_STR_AND_ENUM(enum_val) {HUAGAO_SETTING_STR_##enum_val, enum_val}
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
enum hg_scanner_type
@ -129,9 +127,9 @@ enum
{
MULTI_OUT_NOT = 0,
MULTI_OUT_ALL,
MULTI_COLOR_ADN_GRAY,
MULTI_COLOR_ADN_BW,
MULTI_GRAY_ADN_BW
MULTI_COLOR_AND_GRAY,
MULTI_COLOR_AND_BW,
MULTI_GRAY_AND_BW
};
int match_best_multi_out(std::string& val, bool* exact);
std::string multi_out_string(int clr_mode);

View File

@ -292,7 +292,7 @@ void hg_scanner::set_setting_map(int sn, const char* title)
setting_map_[HG_BASE_SETTING_INDEX_PAGE_OMIT_EMPTY_LEVEL] = sn;
else if (val == OPTION_TITLE_FBL)
setting_map_[HG_BASE_SETTING_INDEX_RESOLUTION] = sn;
else if (val == OPTION_TITLE_TXZL)
else if (val == OPTION_TITLE_HZ)
setting_map_[HG_BASE_SETTING_INDEX_IMG_QUALITY] = sn;
else if (val == OPTION_TITLE_JHZFM)
setting_map_[HG_BASE_SETTING_INDEX_EXCHANGE] = sn;
@ -350,11 +350,11 @@ void hg_scanner::set_setting_map(int sn, const char* title)
setting_map_[HG_BASE_SETTING_INDEX_ROTATE_BKG_180] = sn;
else if (val == OPTION_TITLE_ZJJC)
setting_map_[HG_BASE_SETTING_INDEX_FRACTATE_CHECK] = sn;
else if (val == OPTION_TITLE_ZJJCFZD)
else if (val == OPTION_TITLE_ZJDX)
setting_map_[HG_BASE_SETTING_INDEX_FRACTATE_CHECK_LEVEL] = sn;
else if (val == OPTION_TITLE_WXJC)
setting_map_[HG_BASE_SETTING_INDEX_SKEW_CHECK] = sn;
else if (val == OPTION_TITLE_WXJCFZD)
else if (val == OPTION_TITLE_WXRRD)
setting_map_[HG_BASE_SETTING_INDEX_SKEW_CHECK_LEVEL] = sn;
}
void hg_scanner::thread_handle_usb(void)
@ -1391,7 +1391,7 @@ int hg_scanner::setting_scan_mode(void* data)
bool exact = check_range(setting_map_[HG_BASE_SETTING_INDEX_SCAN_MODE], str);
int ret = exact ? HG_ERR_OK : HG_ERR_NOT_EXACT;
if (strcmp(str.c_str(), HUAGAO_SETTING_STR_SCAN_MODE_CONTINUOUS) == 0)
if (strcmp(str.c_str(), OPTION_VALUE_SMZS_LXSM) == 0)
{
scan_count_ = -1;
}
@ -1414,7 +1414,7 @@ int hg_scanner::setting_scan_count(void* data)
sprintf(key, "%d", setting_map_[HG_BASE_SETTING_INDEX_SCAN_MODE]);
setting_jsn_.at(key).at("cur").get_to(val);
if (val == HUAGAO_SETTING_STR_SCAN_MODE_CONTINUOUS)
if (val == OPTION_VALUE_SMZS_LXSM)
{
scan_count_ = -1;
}
@ -2387,12 +2387,16 @@ std::string hg_scanner::get_ip(void)
}
int hg_scanner::get_roller_num(void)
{
return -1;
return -2;
}
int hg_scanner::clear_roller_num(void)
{
return HG_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner::get_history_count(void)
{
return -2;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
int hg_scanner::set_leaflet_scan(void)

View File

@ -309,8 +309,9 @@ public:
virtual int set_final_image_format(SANE_FinalImgFormat* fmt); // 设置图像处理最终输出final())的图像数据格式 (基类实现) ***
virtual int get_compression_format(void);//获取支持的压缩格式 功能不支持
virtual int get_roller_num(void); //获取滚轮张数
virtual int get_roller_num(void); //获取滚轮张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常
virtual int clear_roller_num(void); // 清除滚轴计数
virtual int get_history_count(void);//获取历史扫描张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常
virtual int set_compression_format(void);//设置图像数据最终输出的压缩格式
virtual int set_auto_color_type(void);// 设置自动匹配颜色模式 (基类实现) ***

File diff suppressed because one or more lines are too long

View File

@ -82,4 +82,11 @@ public:
virtual int set_scan_with_hole(void);// 设置是否为带孔扫描
virtual int get_scan_is_sleep(void);//获取设备是否休眠当中
public:
//virtual int get_roller_num(void) override; //获取滚轮张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常
//virtual int clear_roller_num(void) override; // 清除滚轴计数
//virtual int get_history_count(void) override;//获取历史扫描张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -22,9 +22,10 @@ extern "C"
};
#include <dlfcn.h>
#ifdef WIN32
#include "scanner_manager.h"
#else
#include <dlfcn.h>
#endif
using namespace std;

View File

@ -309,6 +309,7 @@ hg_err hg_scanner_mgr::get_about_info(scanner_handle h, void* data, unsigned* le
bytes += sizeof(tmp.appendix[0]) + BRAND_INFO_MAX_LENGTH + 8 + strlen(BRAND_TITLE_SERIAL_NUM) + 8;
bytes += sizeof(tmp.appendix[0]) + BRAND_INFO_MAX_LENGTH + 8 + strlen(BRAND_TITLE_IP) + 8;
bytes += sizeof(tmp.appendix[0]) + 28 + strlen(BRAND_TITLE_ROLLER_COUNT) + 8;
bytes += sizeof(tmp.appendix[0]) + 28 + strlen(BRAND_TITLE_HISTORY_COUNT) + 8;
bytes += sizeof(tmp.appendix[0]);
}
@ -354,15 +355,27 @@ hg_err hg_scanner_mgr::get_about_info(scanner_handle h, void* data, unsigned* le
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_SERIAL_NUM, scanner->get_serial_num().c_str(), NULL);
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_IP, scanner->get_ip().c_str(), NULL);
rolls = scanner->get_roller_num();
if (rolls != -1)
if (rolls >= 0)
{
char buf[40];
sprintf(buf, "%u", rolls);
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, buf, NULL);
}
}
#ifdef BRAND_DISPLAY_ALL_EXPAND
else
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, BRAND_DEVICE_NOT_SUPPORT, NULL);
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, rolls == -1 ? BRAND_COMMUNICATION_FAIL : BRAND_DEVICE_NOT_SUPPORT, NULL);
#endif
rolls = scanner->get_history_count();
if (rolls >= 0)
{
char buf[40];
sprintf(buf, "%u", rolls);
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_HISTORY_COUNT, buf, NULL);
}
#ifdef BRAND_DISPLAY_ALL_EXPAND
else
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_HISTORY_COUNT, rolls == -1 ? BRAND_COMMUNICATION_FAIL : BRAND_DEVICE_NOT_SUPPORT, NULL);
#endif
}
#ifdef BRAND_DISPLAY_ALL_EXPAND
@ -372,6 +385,7 @@ hg_err hg_scanner_mgr::get_about_info(scanner_handle h, void* data, unsigned* le
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_SERIAL_NUM, BRAND_NO_DEVICE, NULL);
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_IP, BRAND_NO_DEVICE, NULL);
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, BRAND_NO_DEVICE, NULL);
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_HISTORY_COUNT, BRAND_NO_DEVICE, NULL);
}
#endif