diff --git a/twain/twain/huagaods.cpp b/twain/twain/huagaods.cpp index 90499bc..2f8fe13 100644 --- a/twain/twain/huagaods.cpp +++ b/twain/twain/huagaods.cpp @@ -2957,6 +2957,8 @@ void huagao_ds::init_support_caps(void) log_attr_access((int)CapType::DoubleFeedDetection, (int)msg); if (Msg::Set == msg) { auto val = data.currentItem(); + auto type = data.itemType(); + load_sane_util::to_log(1, L"DoubleFeedDetection parameter is %d\r\n", (int)type); int ret = SCANNER_ERR_OK; bool enable = val == DoubleFeedDetection::Ultrasonic; if (double_check_mode_ == DOUBLE_CHECK_ULTRASONIC) @@ -3053,26 +3055,26 @@ void huagao_ds::init_support_caps(void) }; } - if (SANE_ID(ex_is_paper_auto_crop) > 0) - { - m_query[(CapType)(CapTypeEx::CAP_TYPE_EX_CROP_MODEL)] = msgSupportGetAllSetReset; - m_caps[(CapType)(CapTypeEx::CAP_TYPE_EX_CROP_MODEL)] = [this](Msg msg, Capability& data)->Result { - log_attr_access((int)CapTypeEx::CAP_TYPE_EX_CROP_MODEL, (int)msg); - std::vector all; - GET_SANE_OPT_EX(bool, scanner_, ex_is_paper_auto_crop, NULL, &all); - if (Msg::Set == msg || Msg::Reset == msg) - { - bool def = all[sane_opts::RANGE_POS_DEFAULT]; - if (Msg::Set == msg) - def = data.currentItem() == 1; - int ret = SCANNER_ERR_OK; - SET_SANE_OPT_EX(ret, scanner_, ex_is_paper_auto_crop, &def); - return ret == SCANNER_ERR_OK ? success() : badValue(); - } - BYTE crop = all[sane_opts::RANGE_POS_CURRENT]; - return CapSupGetAll(msg, data, crop, all[sane_opts::RANGE_POS_DEFAULT]); - }; - } + //if (SANE_ID(ex_is_paper_auto_crop) > 0) + //{ + // m_query[(CapType)(CapTypeEx::CAP_TYPE_EX_CROP_MODEL)] = msgSupportGetAllSetReset; + // m_caps[(CapType)(CapTypeEx::CAP_TYPE_EX_CROP_MODEL)] = [this](Msg msg, Capability& data)->Result { + // log_attr_access((int)CapTypeEx::CAP_TYPE_EX_CROP_MODEL, (int)msg); + // std::vector all; + // GET_SANE_OPT_EX(bool, scanner_, ex_is_paper_auto_crop, NULL, &all); + // if (Msg::Set == msg || Msg::Reset == msg) + // { + // bool def = all[sane_opts::RANGE_POS_DEFAULT]; + // if (Msg::Set == msg) + // def = data.currentItem() == 1; + // int ret = SCANNER_ERR_OK; + // SET_SANE_OPT_EX(ret, scanner_, ex_is_paper_auto_crop, &def); + // return ret == SCANNER_ERR_OK ? success() : badValue(); + // } + // BYTE crop = all[sane_opts::RANGE_POS_CURRENT]; + // return CapSupGetAll(msg, data, crop, all[sane_opts::RANGE_POS_DEFAULT]); + // }; + //} if (SANE_ID(ex_multiout_type) > 0) { @@ -3303,6 +3305,7 @@ void huagao_ds::init_support_caps(void) SET_EXISTING_EXTENSION(ANTI_NOISE_LEVEL, CapTypeEx::CAP_TYPE_EX_ANTI_NOISE); SET_EXISTING_EXTENSION(THRESHOLD, CapTypeEx::CAP_TYPE_EX_THRESHOLD); //SET_EXISTING_EXTENSION(RID_HOLE, CapTypeEx::CAP_TYPE_EX_FILL_HOLE); + SET_EXISTING_EXTENSION(DARK_SAMPLE, CapTypeEx::CAP_TYPE_EX_CROP_MODEL); SET_EXISTING_EXTENSION(NOISE_OPTIMIZE, CapTypeEx::CAP_TYPE_EX_DETACH_NOISE); SET_EXISTING_EXTENSION(NOISE_SIZE, CapTypeEx::CAP_TYPE_EX_DETACH_NOISE_THRESHOLD); SET_EXISTING_EXTENSION(RID_MULTIOUT_RED, CapTypeEx::CAP_TYPE_EX_RID_RED);