diff --git a/sane/scanner.cpp b/sane/scanner.cpp index fefbcb1..4b95b5e 100644 --- a/sane/scanner.cpp +++ b/sane/scanner.cpp @@ -1,4 +1,4 @@ - + #include "scanner.h" @@ -85,13 +85,13 @@ namespace callback }SCNINST; std::vector g_scanner_instances; - int sane_event_callback( // 注册回调的对象,需要保证该回调是多线程安全? - SANE_Handle hdev // 产生事件的设备句? - , int code // 回调事件代码 - , void* data // 回调事件数据,根据事件代码有所不同,参照具体事件定? - , unsigned int* len // 数据长度(字节),或者event_data的缓冲区长度,详细请看相应的事件代码 - , void* param // 用户自定义数据,与调用sane_init_ex传入时的保持一? - ) // 返回值依不同的事件代码而定,通常为?? + int sane_event_callback( // 娉ㄥ唽鍥炶皟鐨勫璞★紝闇€瑕佷繚璇佽鍥炶皟鏄绾跨▼瀹夊叏鐨? + SANE_Handle hdev // 浜х敓浜嬩欢鐨勮澶囧彞鏌? + , int code // 鍥炶皟浜嬩欢浠g爜 + , void* data // 鍥炶皟浜嬩欢鏁版嵁锛屾牴鎹簨浠朵唬鐮佹湁鎵€涓嶅悓锛屽弬鐓у叿浣撲簨浠跺畾涔? + , unsigned int* len // 鏁版嵁闀垮害锛堝瓧鑺傦級锛屾垨鑰卐vent_data鐨勭紦鍐插尯闀垮害锛岃缁嗚鐪嬬浉搴旂殑浜嬩欢浠g爜 + , void* param // 鐢ㄦ埛鑷畾涔夋暟鎹紝涓庤皟鐢╯ane_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; @@ -945,7 +945,7 @@ int scanner::open(void) { if (callback::show_messagebox_ui) { - // 纸轮搓纸次数已超过设计使用范围,扫描过程中搓纸失败、歪斜、搓多张等异常频次可能会明显增多,请注意及时清洁、并联系设备供应商购买替换纸轮! + // 绾歌疆鎼撶焊娆℃暟宸茶秴杩囪璁′娇鐢ㄨ寖鍥达紝鎵弿杩囩▼涓悡绾稿け璐ャ€佹鏂溿€佹悡澶氬紶绛夊紓甯搁娆″彲鑳戒細鏄庢樉澧炲锛岃娉ㄦ剰鍙婃椂娓呮磥銆佸苟鑱旂郴璁惧渚涘簲鍟嗚喘涔版浛鎹㈢焊杞紒 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(); @@ -1159,7 +1159,7 @@ int scanner::init_options_id(void) if (is_erase_hole_id_ == -1) { - // 兼容老的除孔算法 + // 鍏煎鑰佺殑闄ゅ瓟绠楁硶 EXAPI ea; ea.ind = is_erase_hole_id_ = ex_id_++; @@ -2674,7 +2674,7 @@ COM_API_IMPLEMENT(scanner, IScanImg*, take_first_image(twain_xfer xfer)) if (img) { - img->prepare_data_for_transfer(xfer); + //img->prepare_data_for_transfer(xfer); wchar_t msg[128] = { 0 }; swprintf_s(msg, _countof(msg) - 1, L"Begin transferring image %d of %p\r\n", fetch_imgs_ + 1, img); @@ -3497,13 +3497,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_))