diff --git a/sane/scanner.cpp b/sane/scanner.cpp index b468a8b..d4ab6c5 100644 --- a/sane/scanner.cpp +++ b/sane/scanner.cpp @@ -85,13 +85,13 @@ namespace callback }SCNINST; std::vector g_scanner_instances; - int sane_event_callback( // 娉ㄥ唽鍥炶皟鐨勫璞★紝闇€瑕佷繚璇佽鍥炶皟鏄绾跨▼瀹夊叏鐨? - SANE_Handle hdev // 浜х敓浜嬩欢鐨勮澶囧彞鏌? - , int code // 鍥炶皟浜嬩欢浠g? - , void* data // 鍥炶皟浜嬩欢鏁版嵁锛屾牴鎹簨浠朵唬鐮佹湁鎵€涓嶅悓锛屽弬鐓у叿浣撲簨浠跺畾涔? - , unsigned int* len // 鏁版嵁闀垮害锛堝瓧鑺傦級锛屾垨鑰卐vent_data鐨勭紦鍐插尯闀垮害锛岃缁嗚鐪嬬浉搴旂殑浜嬩欢浠g爜 - , void* param // 鐢ㄦ埛鑷畾涔夋暟鎹紝涓庤皟鐢╯ane_init_ex浼犲叆鏃剁殑淇濇寔涓€鑷? - ) // 杩斿洖鍊间緷涓嶅悓鐨勪簨浠朵唬鐮佽€屽畾锛岄€氬父涓衡€?? + int sane_event_callback( // 濞夈劌鍞介崶鐐剁殶閻ㄥ嫬顕挒鈽呯礉闂団偓鐟曚椒绻氱拠浣筋嚉閸ョ偠鐨熼弰顖氼樋缁捐法鈻肩€瑰鍙忛惃? + SANE_Handle hdev // 娴溠呮晸娴滃娆㈤惃鍕啎婢跺洤褰為弻? + , int code // 閸ョ偠鐨熸禍瀣╂娴狅絿鐖? + , void* data // 閸ョ偠鐨熸禍瀣╂閺佺増宓侀敍灞剧壌閹诡喕绨ㄦ禒鏈靛敩閻焦婀侀幍鈧稉宥呮倱閿涘苯寮悡褍鍙挎担鎾茬皑娴犺泛鐣炬稊? + , unsigned int* len // 閺佺増宓侀梹鍨閿涘牆鐡ч懞鍌︾礆閿涘本鍨ㄩ懓鍗恦ent_data閻ㄥ嫮绱﹂崘鎻掑隘闂€鍨閿涘矁顕涚紒鍡氼嚞閻娴夋惔鏃傛畱娴滃娆㈡禒锝囩垳 + , void* param // 閻劍鍩涢懛顏勭暰娑斿鏆熼幑顕嗙礉娑撳氦鐨熼悽鈺痑ne_init_ex娴肩姴鍙嗛弮鍓佹畱娣囨繃瀵旀稉鈧懛? + ) // 鏉╂柨娲栭崐闂寸贩娑撳秴鎮撻惃鍕皑娴犳湹鍞惍浣解偓灞界暰閿涘矂鈧艾鐖舵稉琛♀偓?閳? { std::lock_guard lock(cb_lock_); std::vector::iterator it = std::find(g_scanner_instances.begin(), g_scanner_instances.end(), hdev); @@ -207,10 +207,10 @@ namespace callback , {SANE_STD_OPT_NAME_FOLD_TYPE , OPTION_TITLE_DZMS} , {SANE_STD_OPT_NAME_COLOR_CORRECTION , OPTION_TITLE_SPJZ} }, - g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // 榛戠櫧鍥惧儚鍙嶈壊杈撳嚭锛堟甯搁鑹蹭负锛?-榛戣壊锛?-鐧借壊? - , {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // 鐏板害鎴栭粦鐧藉浘鍍?- 闄よ? - , {SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH , "\350\207\252\345\212\250\346\220\223\347\272\270\345\274\272\345\272\246"} // 鑷姩鎼撶焊寮哄? - , {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , "\346\220\223\347\272\270\351\230\210\345\200\274"} // " 鎼撶焊闃堝€? + g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // 姒涙垹娅ч崶鎯у剼閸欏秷澹婃潏鎾冲毉閿涘牊顒滅敮鎼侇杹閼硅弓璐熼敍?-姒涙垼澹婇敍?-閻у€熷閿? + , {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // 閻忔澘瀹抽幋鏍拨閻ц棄娴橀崓?- 闂勩倛澹? + , {SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH , "\350\207\252\345\212\250\346\220\223\347\272\270\345\274\272\345\272\246"} // 閼奉亜濮╅幖鎾剁剨瀵搫瀹? + , {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , "\346\220\223\347\272\270\351\230\210\345\200\274"} // " 閹兼挾鐒婇梼鍫濃偓? }; const char* option_title_2_name(const char* title) { @@ -347,12 +347,12 @@ namespace callback // SANE_EVENT_IMAGE_OK - void* unused, be NULL, flag - unused, be 0 static HMODULE hui = NULL; int (*choose_scanner)(const std::vector& devs) = NULL; // blocked. return selected DEVQUE::id or -1 if user cancelled - char* (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 搴旂敤璁惧鐨勫綋鍓嶉厤? + char* (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 鎼存梻鏁ょ拋鎯ь槵閻ㄥ嫬缍嬮崜宥夊帳閿? int (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, const char* devname, bool with_scan, std::function callback) = NULL; int (*show_progress_ui)(HWND parent, std::function callback, std::function* notify) = NULL; int (*show_messagebox_ui)(HWND parent, int event, void* msg, int flag) = NULL; int (*close_ui)(int) = NULL; - int (*apply_given_config)(const char* content, SANE_Handle device, LPSANEAPI api) = NULL; // 搴旂敤鎸囧畾鐨勯厤缃紝content涓洪厤缃暟鎹? + int (*apply_given_config)(const char* content, SANE_Handle device, LPSANEAPI api) = NULL; // 鎼存梻鏁ら幐鍥х暰閻ㄥ嫰鍘ょ純顕嗙礉content娑撴椽鍘ょ純顔芥殶閹诡喗绁? char* (*get_config_content)(const char* dev_name, const char* name) = NULL; void (*twain_ui_free)(void* buf) = NULL; @@ -614,22 +614,14 @@ bool scanner::is_belong_serial(int vid, int pid, SCANNERID serial) } else if (vid == PRODUCT_VENDOR_DL) { - if (GET_SCANNER_VID(serial) == PRODUCT_VENDOR_DL) + if (GET_SCANNER_PID(serial) == 0x401C) { - if (GET_SCANNER_PID(serial) == 0x401C) - { - return pid == 0x401C || pid == 0x401D || pid == 0x401E || pid == 0x401F || pid == 0x4020 || pid == 0x4021 || pid == 0x4022; - } - else if (GET_SCANNER_PID(serial) == 0x4015) - { - return pid == 0x4015 || pid == 0x4016 || pid == 0x4017 || pid == 0x4018; - } - else if (GET_SCANNER_PID(serial) == 0x4019) - { - return pid == 0x4019 || pid == 0x401A || pid == 0x401B; - } + return pid == 0x401C || pid == 0x4020; + } + else + { + return GET_SCANNER_VID(serial) == vid && GET_SCANNER_PID(serial) == pid; } - return false; } return true; @@ -985,7 +977,7 @@ int scanner::open(void) { if (callback::show_messagebox_ui) { - // 绾歌疆鎼撶焊娆℃暟宸茶秴杩囪璁′娇鐢ㄨ寖鍥达紝鎵弿杩囩▼涓悡绾稿け璐ャ€佹鏂溿€佹悡澶氬紶绛夊紓甯搁娆″彲鑳戒細鏄庢樉澧炲锛岃娉ㄦ剰鍙婃椂娓呮磥銆佸苟鑱旂郴璁惧渚涘簲鍟嗚喘涔版浛鎹㈢焊杞? + // 缁炬瓕鐤嗛幖鎾剁剨濞嗏剝鏆熷鑼剁Т鏉╁洩顔曠拋鈥插▏閻劏瀵栭崶杈剧礉閹殿偅寮挎潻鍥┾柤娑擃厽鎮$痪绋裤亼鐠愩儯鈧焦顒i弬婧库偓浣规偂婢舵艾绱剁粵澶婄磽鐢悂顣跺▎鈥冲讲閼虫垝绱伴弰搴㈡▔婢х偛顦块敍宀冾嚞濞夈劍鍓伴崣濠冩濞撳懏纾ラ妴浣歌嫙閼辨梻閮寸拋鎯ь槵娓氭稑绨查崯鍡氬枠娑旂増娴涢幑銏㈢剨鏉烆噯绱? std::wstring roller_msgw(local_trans::lang_trans_between_hz936(L"\u7EB8\u8F6E\u6413\u7EB8\u6B21\u6570\u5DF2\u8D85\u8FC7\u8BBE\u8BA1\u4F7F\u7528\u8303\u56F4\uFF0C\u626B\u63CF\u8FC7\u7A0B\u4E2D\u6413\u7EB8\u5931\u8D25\u3001\u6B6A\u659C\u3001\u6413\u591A\u5F20\u7B49\u5F02\u5E38\u9891\u6B21\u53EF\u80FD\u4F1A\u660E\u663E\u589E\u591A\uFF0C\u8BF7\u6CE8\u610F\u53CA\u65F6\u6E05\u6D01\u3001\u5E76\u8054\u7CFB\u8BBE\u5907\u4F9B\u5E94\u5546\u8D2D\u4E70\u66FF\u6362\u7EB8\u8F6E\uFF01")); std::string roller_msg(local_trans::u2a(roller_msgw.c_str(), CP_UTF8)); app_wnd_ = callback::find_main_wnd(); @@ -1199,7 +1191,7 @@ int scanner::init_options_id(void) if (is_erase_hole_id_ == -1) { - // 鍏煎鑰佺殑闄ゅ瓟绠楁硶 + // 閸忕厧顔愰懓浣烘畱闂勩倕鐡熺粻妤佺《 EXAPI ea; ea.ind = is_erase_hole_id_ = ex_id_++; @@ -3551,13 +3543,13 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len) log_info(msg, 1); } } - //else if (ev_code == SANE_EVENT_ERROR) // 灞忚斀锛屽湪鍋滄鎵弿鏃跺睍绀轰俊?- 2023-05-30 + //else if (ev_code == SANE_EVENT_ERROR) // 鐏炲繗鏂€閿涘苯婀崑婊勵剾閹殿偅寮块弮璺虹潔缁€杞颁繆閹?- 2023-05-30 //{ // if (callback::show_messagebox_ui && *len) // { // callback::show_messagebox_ui(app_wnd_, ev_code, (void*)data, 0); // } - // else if (*len) //閿欒寮瑰嚭 + // else if (*len) //闁挎瑨顕ゅ鐟板毉 // { // std::wstring msg(local_trans::a2u((char*)data, CP_UTF8)); // if (!IsWindow(app_wnd_))