From 5fcd13474ad060f2b66b32a4082a53992d8ae421 Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Fri, 14 Oct 2022 10:11:43 +0800 Subject: [PATCH] =?UTF-8?q?TWAIN=E5=85=BC=E5=AE=B9=E8=80=81=E7=9A=84?= =?UTF-8?q?=E9=99=A4=E7=A9=BF=E5=AD=94=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sane/scanner.cpp | 5 ++++- twain/twain/huagaods.cpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sane/scanner.cpp b/sane/scanner.cpp index 30a2e7b..3ea424c 100644 --- a/sane/scanner.cpp +++ b/sane/scanner.cpp @@ -781,10 +781,12 @@ int scanner::init_options_id(void) EXAPI ea; ea.ind = is_erase_hole_id_ = ex_id_++; + ea.base_ind = is_erase_hole_l_id_; ea.ex_api = &scanner::handle_ex_erase_hole; ex_opts_.push_back(ea); 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; 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)) { - 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; if (desc) diff --git a/twain/twain/huagaods.cpp b/twain/twain/huagaods.cpp index 484cfff..c52b789 100644 --- a/twain/twain/huagaods.cpp +++ b/twain/twain/huagaods.cpp @@ -34,6 +34,7 @@ enum CapTypeEx : unsigned short { CAP_TYPE_EX_ROTATE_BKG_180 = 0x8005, CAP_TYPE_EX_SCREW_DETECT = 0x8006, CAP_TYPE_EX_ENHANCE_COLOR = 0x8007, + CAP_TYPE_EX_DARK_SAMPLE = 0x8016, CAP_TYPE_EX_FILL_HOLE = 0x8018, CAP_TYPE_EX_SCREW_DETECT_LEVEL = 0x8021, CAP_TYPE_EX_SHARPEN = 0x8022, @@ -55,7 +56,6 @@ enum CapTypeEx : unsigned short { CAP_TYPE_EX_SIZE_DETECT = 0x8103, CAP_TYPE_EX_POWER_LEVEL = 0x8104, CAP_TYPE_EX_ENCODE = 0x8105, - CAP_TYPE_EX_DARK_SAMPLE = 0x8016, CAP_TYPE_EX_CROP_MODEL = 0x8106, CAP_TYPE_EX_DOGEAR_DIST = 0x8107, CAP_TYPE_EX_IMAGE_SPLIT = 0x8108,