|
|
|
@ -140,24 +140,25 @@ static std::string bmp_821(unsigned char* bits/*bits data*/, int w, int h, int*
|
|
|
|
|
static bool is_firstopen_ = true; //第二次打开设备就不在去获取和设置设备锁定状态
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// hg_scanner
|
|
|
|
|
hg_scanner::hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io,int pid)
|
|
|
|
|
: name_(dev_name ? dev_name : ""), io_(io), status_(SCANNER_ERR_NOT_START), serial_(serial)
|
|
|
|
|
, scan_count_(-1), run_(true), paper_size_(TwSS::A4), erase_bkg_range_(10), read_over_with_no_data_(false)
|
|
|
|
|
, noise_range_(30), omit_empty_level_(50), resolution_(200), rid_hole_range_(10.0f)
|
|
|
|
|
, bright_(128), contrast_(4), gamma_(1.0f), threshold_(40), anti_noise_(8), margin_(5)
|
|
|
|
|
, fractate_level_(50), ui_ev_cb_(ui_default_callback), scan_life_(NULL)
|
|
|
|
|
, notify_setting_result_(false), user_cancel_(false), cb_mem_(true), test_1_paper_(false)
|
|
|
|
|
, img_type_(""), online_(false),is_quality_(-1),is_color_fill(false),is_multiout(false),save_multiout(hg_log::lang_load(ID_OPTION_VALUE_DLSCLX_CS_HD_HB))
|
|
|
|
|
, final_img_index_(0), custom_area_(false),save_sizecheck(false), bw_threshold_(128), custom_gamma_(false)
|
|
|
|
|
, double_paper_handle_(0), keep_watermark_(false), save_feedmode_type_(false), feedmode_(1), sleeptime_(-1),split3399_(0)
|
|
|
|
|
, async_io_(false), is_white_0_(true), isremove_left_hole(false), isremove_right_hole(false), isremove_top_hole(false), isremove_low_hole(false)
|
|
|
|
|
, isremove_left_hole_threshold(0), isremove_right_hole_threshold(0), isremove_top_hole_threshold(0), isremove_low_hole_threshold(0)
|
|
|
|
|
, dump_usb_path_(""),is_kernelsnap_211209_(false),dump_img_(&hg_scanner::dump_image_empty), is_kernelsnap_220830_(false),is_kernelsnap3288_221106_(false)
|
|
|
|
|
, is_kernelsnap_221027_(false), memory_size_(2000/*USB+JPEG压缩及图像处理图队列,总共1GB*/), isx86_Advan_(true), stop_fatal_(SCANNER_ERR_OK), is_auto_paper_scan(false)
|
|
|
|
|
, size_check(false), save_sleeptime_type_(false), is_kernelsnap_devsislock(false), is_checksum_strat_scan(false), is_cis_image(false)
|
|
|
|
|
, is_dpi_color_check(false),save_dpi_color_check_val(0.0f), is_auto_falt(false),HGVersion_mgr_(NULL), HGVersion_Init_(NULL)
|
|
|
|
|
, HGVersion_Islock_(NULL), HGVersion_Postlog_(NULL), HGVersion_Free_(NULL), Dynamicopen_HGVersion_pHandle_(NULL),pid_(pid), fetching_id_(-1)
|
|
|
|
|
, is_kernelsnap3288_230210_(false), color_correction_(false), is_kernelsnap_3C_cccc(false), is_kernelsnap_220500_(false), is_kernelsnap3288_230303_(false)
|
|
|
|
|
hg_scanner::hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io, int pid)
|
|
|
|
|
: name_(dev_name ? dev_name : ""), io_(io), status_(SCANNER_ERR_NOT_START), serial_(serial)
|
|
|
|
|
, scan_count_(-1), run_(true), paper_size_(TwSS::A4), erase_bkg_range_(10), read_over_with_no_data_(false)
|
|
|
|
|
, noise_range_(30), omit_empty_level_(50), resolution_(200), rid_hole_range_(10.0f)
|
|
|
|
|
, bright_(128), contrast_(4), gamma_(1.0f), threshold_(40), anti_noise_(8), margin_(5)
|
|
|
|
|
, fractate_level_(50), ui_ev_cb_(ui_default_callback), scan_life_(NULL)
|
|
|
|
|
, notify_setting_result_(false), user_cancel_(false), cb_mem_(true), test_1_paper_(false)
|
|
|
|
|
, img_type_(""), online_(false), is_quality_(-1), is_color_fill(false), is_multiout(false), save_multiout(hg_log::lang_load(ID_OPTION_VALUE_DLSCLX_CS_HD_HB))
|
|
|
|
|
, final_img_index_(0), custom_area_(false), save_sizecheck(false), bw_threshold_(128), custom_gamma_(false)
|
|
|
|
|
, double_paper_handle_(0), keep_watermark_(false), save_feedmode_type_(false), feedmode_(1), sleeptime_(-1), split3399_(0)
|
|
|
|
|
, async_io_(false), is_white_0_(true), isremove_left_hole(false), isremove_right_hole(false), isremove_top_hole(false), isremove_low_hole(false)
|
|
|
|
|
, isremove_left_hole_threshold(0), isremove_right_hole_threshold(0), isremove_top_hole_threshold(0), isremove_low_hole_threshold(0)
|
|
|
|
|
, dump_usb_path_(""), is_kernelsnap_211209_(false), dump_img_(&hg_scanner::dump_image_empty), is_kernelsnap_220830_(false), is_kernelsnap3288_221106_(false)
|
|
|
|
|
, is_kernelsnap_221027_(false), memory_size_(2000/*USB+JPEG压缩及图像处理图队列,总共1GB*/), isx86_Advan_(true), stop_fatal_(SCANNER_ERR_OK), is_auto_paper_scan(false)
|
|
|
|
|
, size_check(false), save_sleeptime_type_(false), is_kernelsnap_devsislock(false), is_checksum_strat_scan(false), is_cis_image(false)
|
|
|
|
|
, is_dpi_color_check(false), save_dpi_color_check_val(0.0f), is_auto_falt(false), HGVersion_mgr_(NULL), HGVersion_Init_(NULL)
|
|
|
|
|
, HGVersion_Islock_(NULL), HGVersion_Postlog_(NULL), HGVersion_Free_(NULL), Dynamicopen_HGVersion_pHandle_(NULL), pid_(pid), fetching_id_(-1)
|
|
|
|
|
, is_kernelsnap3288_230210_(false), color_correction_(false), is_kernelsnap_3C_cccc(false), is_kernelsnap_220500_(false), is_kernelsnap3288_230303_(false)
|
|
|
|
|
, is_kernelsnap_211227_(false),is_auto_paper_scan_exit_time(60)
|
|
|
|
|
{
|
|
|
|
|
#if !defined(_WIN32) && !defined(_WIN64) &&defined(x86_64)
|
|
|
|
|
isx86_Advan_ = false;
|
|
|
|
@ -605,6 +606,7 @@ void hg_scanner::init_setting_func_map(void)
|
|
|
|
|
setting_map_[SANE_STD_OPT_NAME_SEARCH_HOLE_RANGE_B] = &hg_scanner::setting_isremove_low_hole_threshold;
|
|
|
|
|
setting_map_[SANE_STD_OPT_NAME_FOLD_TYPE] = &hg_scanner::setting_fold_type;
|
|
|
|
|
setting_map_[SANE_STD_OPT_NAME_COLOR_CORRECTION] = &hg_scanner::setting_color_correction;
|
|
|
|
|
setting_map_[SANE_STD_OPT_NAME_WAIT_SCAN_EXIT] = &hg_scanner::setting_auto_paper_scan_exit_time;
|
|
|
|
|
}
|
|
|
|
|
std::string hg_scanner::setting_name_from(const char* n_or_id, int* id)
|
|
|
|
|
{
|
|
|
|
@ -2246,6 +2248,11 @@ int hg_scanner::setting_color_correction(void* data)
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
int hg_scanner::setting_auto_paper_scan_exit_time(void* data)
|
|
|
|
|
{
|
|
|
|
|
is_auto_paper_scan_exit_time = *((int*)data);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
int hg_scanner::on_color_mode_changed(int& color_mode)
|
|
|
|
|
{
|
|
|
|
|
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
|
|
|
|