添加APP取图日志

This commit is contained in:
gb 2023-08-03 09:47:58 +08:00
parent de2036ea2c
commit 146521f743
1 changed files with 25 additions and 10 deletions

View File

@ -85,13 +85,13 @@ namespace callback
}SCNINST;
std::vector<SCNINST> g_scanner_instances;
int sane_event_callback( // 注册回调的对象,需要保证该回调是多线程安全的
SANE_Handle hdev // 产生事件的设备句柄
int sane_event_callback( // 注册åžè°ƒçš„对象,需è¦<EFBFBD>ä¿<EFBFBD>è¯<EFBFBD>该åžè°ƒæ˜¯å¤šçº¿ç¨å®‰å…¨çš?
SANE_Handle hdev // 产生äºä»¶çš„设备å<EFBFBD>¥æŸ?
, int code // 回调事件代码
, void* data // 回调事件数据,根据事件代码有所不同,参照具体事件定义
, void* data // åžè°ƒäºä»¶æ•°æ<EFBFBD>®ï¼Œæ ¹æ<EFBFBD>®äºä»¶ä»£ç <EFBFBD>有所ä¸<EFBFBD>å<EFBFBD>Œï¼Œå<EFBFBD>照具体äºä»¶å®šä¹?
, unsigned int* len // 数据长度字节或者event_data的缓冲区长度详细请看相应的事件代码
, void* param // 用户自定义数据与调用sane_init_ex传入时的保持一致
) // 返回值依不同的事件代码而定通常为“0”
, void* param // 用户自定义数æ<EFBFBD>®ï¼Œä¸Žè°ƒç”¨sane_init_ex传入时的ä¿<EFBFBD>æŒ<EFBFBD>一è‡?
) // è¿”åžå€¼ä¾<EFBFBD>ä¸<EFBFBD>å<EFBFBD>Œçš„äºä»¶ä»£ç <EFBFBD>而定,通常为â€?â€?
{
std::lock_guard<std::mutex> lock(cb_lock_);
std::vector<SCNINST>::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"} // 黑白图像反色输出正常颜色为0-黑色1-白色)
, {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"} // 灰度或黑白图像 - 除色
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"} // é»ç™½å¾åƒ<EFBFBD>å<EFBFBD><EFBFBD>色输出(正常颜色为ï¼?-黑色ï¼?-白色ï¼?
, {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"} // ç<EFBFBD>°åº¦æˆé»ç™½å¾åƒ?- 除色
, {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"} // " 搓纸阈值"
, {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , "\346\220\223\347\272\270\351\230\210\345\200\274"} // " æ<EFBFBD>“纸阈å€?
};
const char* option_title_2_name(const char* title)
{
@ -347,7 +347,7 @@ namespace callback
// SANE_EVENT_IMAGE_OK - void* unused, be NULL, flag - unused, be 0
static HMODULE hui = NULL;
int (*choose_scanner)(const std::vector<DEVQUEUI>& 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; // 应用设备的当前配<EFBFBD>?
char* (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当å‰<EFBFBD>é…<EFBFBD>ï¿?
int (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, const char* devname, bool with_scan, std::function<void(ui_result)> callback) = NULL;
int (*show_progress_ui)(HWND parent, std::function<void(ui_result)> callback, std::function<void(int/*event*/, void*/*msg*/, int/*flag*/)>* notify) = NULL;
int (*show_messagebox_ui)(HWND parent, int event, void* msg, int flag) = NULL;
@ -2672,6 +2672,15 @@ COM_API_IMPLEMENT(scanner, IScanImg*, take_first_image(twain_xfer xfer))
{
scanned_img* img = images_.take();
if (img)
{
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);
log_info(msg, 1);
}
return dynamic_cast<IScanImg*>(img);
}
COM_API_IMPLEMENT(scanner, bool, get_first_image_header(SANE_Parameters* header, size_t* bytes, int* dpi))
@ -2706,6 +2715,12 @@ COM_API_IMPLEMENT(scanner, int, image_fetched(IScanImg* tx))
else if (indicator_.get())
indicator_->notify_data_arrived(false);
{
wchar_t msg[128] = { 0 };
swprintf_s(msg, _countof(msg) - 1, L"Transferring image %d of %p finished.\r\n", fetch_imgs_, tx);
log_info(msg, 1);
}
return 0;
}
@ -3482,7 +3497,7 @@ 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) // å±<EFBFBD>蔽,在å<EFBFBD>œæ­¢æ‰«æ<EFBFBD><EFBFBD>时展示信æ<EFBFBD>?- 2023-05-30
//{
// if (callback::show_messagebox_ui && *len)
// {