TWAIN兼容老的除穿孔算法

This commit is contained in:
gb 2022-10-14 10:11:43 +08:00
parent 53771aa404
commit 5fcd13474a
2 changed files with 5 additions and 2 deletions

View File

@ -781,10 +781,12 @@ int scanner::init_options_id(void)
EXAPI ea; EXAPI ea;
ea.ind = is_erase_hole_id_ = ex_id_++; ea.ind = is_erase_hole_id_ = ex_id_++;
ea.base_ind = is_erase_hole_l_id_;
ea.ex_api = &scanner::handle_ex_erase_hole; ea.ex_api = &scanner::handle_ex_erase_hole;
ex_opts_.push_back(ea); ex_opts_.push_back(ea);
ea.ind = search_hole_range_id_ = ex_id_++; ea.ind = search_hole_range_id_ = ex_id_++;
ea.base_ind = search_hole_range_l_id_;
ea.ex_api = &scanner::handle_ex_search_hole_range; ea.ex_api = &scanner::handle_ex_search_hole_range;
ex_opts_.push_back(ea); ex_opts_.push_back(ea);
} }
@ -2156,7 +2158,8 @@ COM_API_IMPLEMENT(scanner, bool, is_paper_on(void))
} }
COM_API_IMPLEMENT(scanner, bool, get_option_info(int sn, value_type* type, value_limit* limit, int* bytes)) COM_API_IMPLEMENT(scanner, bool, get_option_info(int sn, value_type* type, value_limit* limit, int* bytes))
{ {
SANE_Option_Descriptor* desc = hg_sane_middleware::instance()->get_option_descriptor(handle_, sn); EXAPIPOS ex = find_ex_api(sn);
SANE_Option_Descriptor* desc = hg_sane_middleware::instance()->get_option_descriptor(handle_, ex == ex_opts_.end() ? sn : ex->base_ind);
bool ret = false; bool ret = false;
if (desc) if (desc)

View File

@ -34,6 +34,7 @@ enum CapTypeEx : unsigned short {
CAP_TYPE_EX_ROTATE_BKG_180 = 0x8005, CAP_TYPE_EX_ROTATE_BKG_180 = 0x8005,
CAP_TYPE_EX_SCREW_DETECT = 0x8006, CAP_TYPE_EX_SCREW_DETECT = 0x8006,
CAP_TYPE_EX_ENHANCE_COLOR = 0x8007, CAP_TYPE_EX_ENHANCE_COLOR = 0x8007,
CAP_TYPE_EX_DARK_SAMPLE = 0x8016,
CAP_TYPE_EX_FILL_HOLE = 0x8018, CAP_TYPE_EX_FILL_HOLE = 0x8018,
CAP_TYPE_EX_SCREW_DETECT_LEVEL = 0x8021, CAP_TYPE_EX_SCREW_DETECT_LEVEL = 0x8021,
CAP_TYPE_EX_SHARPEN = 0x8022, CAP_TYPE_EX_SHARPEN = 0x8022,
@ -55,7 +56,6 @@ enum CapTypeEx : unsigned short {
CAP_TYPE_EX_SIZE_DETECT = 0x8103, CAP_TYPE_EX_SIZE_DETECT = 0x8103,
CAP_TYPE_EX_POWER_LEVEL = 0x8104, CAP_TYPE_EX_POWER_LEVEL = 0x8104,
CAP_TYPE_EX_ENCODE = 0x8105, CAP_TYPE_EX_ENCODE = 0x8105,
CAP_TYPE_EX_DARK_SAMPLE = 0x8016,
CAP_TYPE_EX_CROP_MODEL = 0x8106, CAP_TYPE_EX_CROP_MODEL = 0x8106,
CAP_TYPE_EX_DOGEAR_DIST = 0x8107, CAP_TYPE_EX_DOGEAR_DIST = 0x8107,
CAP_TYPE_EX_IMAGE_SPLIT = 0x8108, CAP_TYPE_EX_IMAGE_SPLIT = 0x8108,