diff --git a/hgdriver/hgdev/PaperSize.cpp b/hgdriver/hgdev/PaperSize.cpp index 8cf4a87..2bfa52f 100644 --- a/hgdriver/hgdev/PaperSize.cpp +++ b/hgdriver/hgdev/PaperSize.cpp @@ -16,26 +16,33 @@ namespace Device { void PaperSize::InitPaperMap() { - papersize.insert({ A3,SIZE{297,420} }); - papersize.insert({ A4,SIZE{210,297} }); - papersize.insert({ A5,SIZE{148,210} }); - papersize.insert({ A6,SIZE{105,148} }); - papersize.insert({ B4,SIZE{250,353} }); - papersize.insert({ B5,SIZE{176,250} }); - papersize.insert({ B6,SIZE{125,176} }); -#ifdef G400 - papersize.insert({ MaxSize,SIZE{297,420 * 1.5} }); -#else - papersize.insert({ MaxSize,SIZE{297,420 * 2} }); -#endif - papersize.insert({ USStatement,SIZE{297,long(420 * 1.5)} }); - papersize.insert({ USLetter,SIZE{216,279} }); - papersize.insert({ USLegal,SIZE{216,356} }); - papersize.insert({ USLedger,SIZE{279,432} }); - papersize.insert({ None,SIZE{297,420} }); - papersize.insert({ K8,SIZE{270,390} }); - papersize.insert({ K16,SIZE{190,270} }); - papersize.insert({ Trigeminy,SIZE{270,560} }); + papersize.insert({ A3,SIZE{297,420} }); + papersize.insert({ A4,SIZE{210,297} }); + papersize.insert({ A5,SIZE{148,210} }); + papersize.insert({ A6,SIZE{105,148} }); + papersize.insert({ B4,SIZE{250,353} }); + papersize.insert({ B5,SIZE{176,250} }); + papersize.insert({ B6,SIZE{125,176} }); + if(pid_ == 0x400) + papersize.insert({ MaxSize,SIZE{297,(long)(420 * 1.5)} }); + else if(pid_ == 0x300) + papersize.insert({ MaxSize,SIZE{210,297 * 2} }); + else + papersize.insert({ MaxSize,SIZE{297,420 * 2} }); + + + if(pid_ == 0x300) + papersize.insert({ USStatement,SIZE{210,(long)(297 * 1.5)} }); + else + papersize.insert({ USStatement,SIZE{297,(long)(420 * 1.5)} }); + + papersize.insert({ USLetter,SIZE{216,279} }); + papersize.insert({ USLegal,SIZE{216,356} }); + papersize.insert({ USLedger,SIZE{216,559} }); + papersize.insert({ None,SIZE{297,420} }); + papersize.insert({ K8,SIZE{270,390} }); + papersize.insert({ K16,SIZE{190,270} }); + papersize.insert({ Trigeminy,SIZE{270,560} }); } SIZE PaperSize::GetPaperSize(DWORD paperType, float dpi,int orentation) diff --git a/hgdriver/hgdev/PaperSize.h b/hgdriver/hgdev/PaperSize.h index 9a0bc20..7d5b21d 100644 --- a/hgdriver/hgdev/PaperSize.h +++ b/hgdriver/hgdev/PaperSize.h @@ -31,7 +31,7 @@ namespace Device { class PaperSize { public: - PaperSize(); + PaperSize(int pid); ~PaperSize(); private: void InitPaperMap(); @@ -40,6 +40,8 @@ namespace Device { std::map dpiDct_100; std::map dpiDct_400; std::map dpiDct_300; + + int pid_; public: SIZE GetPaperSize(DWORD paperType, float dpi, int orentation); }; diff --git a/hgdriver/hgdev/hg_scanner_200.cpp b/hgdriver/hgdev/hg_scanner_200.cpp index f031e54..0fac0f4 100644 --- a/hgdriver/hgdev/hg_scanner_200.cpp +++ b/hgdriver/hgdev/hg_scanner_200.cpp @@ -572,7 +572,7 @@ void hg_scanner_200::image_process(std::shared_ptr>& buffer) HG_VLOG_MINI_1(HG_LOG_LEVEL_DEBUG_INFO,"param.dpi :%d\r\n",param.dpi); - handle = hg_imgproc::init(&img_conf_,¶m); + handle = hg_imgproc::init(&img_conf_,¶m,pid_); hg_imgproc::load_buffer(handle, buffer); hg_imgproc::decode(handle,pid_); diff --git a/hgdriver/hgdev/hg_scanner_239.cpp b/hgdriver/hgdev/hg_scanner_239.cpp index febacde..061dc23 100644 --- a/hgdriver/hgdev/hg_scanner_239.cpp +++ b/hgdriver/hgdev/hg_scanner_239.cpp @@ -636,7 +636,7 @@ void hg_scanner_239::image_process(std::shared_ptr>& buff) // printf("param.double_side :%d\r\n",param.double_side); // printf("param.dpi :%d\r\n",param.dpi); - handle = hg_imgproc::init(&img_conf_,¶m); + handle = hg_imgproc::init(&img_conf_,¶m,pid_); err = hg_imgproc::load_buffer(handle, buff); err = hg_imgproc::decode(handle,pid_); diff --git a/hgdriver/hgdev/hg_scanner_300.cpp b/hgdriver/hgdev/hg_scanner_300.cpp index 9f49125..c39ff12 100644 --- a/hgdriver/hgdev/hg_scanner_300.cpp +++ b/hgdriver/hgdev/hg_scanner_300.cpp @@ -179,7 +179,7 @@ enum hg_239_setting_item -hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) : hg_scanner(G100Serial, dev_name, io),pid_(pid) +hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) : hg_scanner(G100Serial, dev_name, io),pid_(pid),papersize(pid) { string fw = get_firmware_version(); @@ -527,7 +527,7 @@ void hg_scanner_300::image_process(std::shared_ptr>& buffer) - handle = hg_imgproc::init(&img_conf_,¶m); + handle = hg_imgproc::init(&img_conf_,¶m,pid_); hg_imgproc::load_buffer(handle, buffer); hg_imgproc::decode(handle,pid_); diff --git a/hgdriver/hgdev/hg_scanner_400.cpp b/hgdriver/hgdev/hg_scanner_400.cpp index be6fa39..d0f7da0 100644 --- a/hgdriver/hgdev/hg_scanner_400.cpp +++ b/hgdriver/hgdev/hg_scanner_400.cpp @@ -180,7 +180,7 @@ enum hg_239_setting_item -hg_scanner_400::hg_scanner_400(const char* dev_name,int pid, usb_io* io) : hg_scanner(G100Serial, dev_name, io),pid_(pid) +hg_scanner_400::hg_scanner_400(const char* dev_name,int pid, usb_io* io) : hg_scanner(G100Serial, dev_name, io),pid_(pid),papersize(pid) { string fw = get_firmware_version(); @@ -528,7 +528,7 @@ void hg_scanner_400::image_process(std::shared_ptr>& buffer) HG_VLOG_MINI_1(HG_LOG_LEVEL_DEBUG_INFO,"param.dpi :%d\r\n",param.dpi); - handle = hg_imgproc::init(&img_conf_,¶m); + handle = hg_imgproc::init(&img_conf_,¶m,pid_); hg_imgproc::load_buffer(handle, buffer); hg_imgproc::decode(handle,pid_); diff --git a/hgdriver/hgdev/image_process.cpp b/hgdriver/hgdev/image_process.cpp index 9053d38..caaa84a 100644 --- a/hgdriver/hgdev/image_process.cpp +++ b/hgdriver/hgdev/image_process.cpp @@ -42,6 +42,7 @@ namespace hg_imgproc std::shared_ptr raw_data_; std::shared_ptr> buffer_; std::vector mats_; + int pid_; Device::PaperSize papersize_; @@ -66,7 +67,7 @@ namespace hg_imgproc // construction public: - imgproc(LPSCANCONF img_param,LPIMGPRCPARAM param) : img_conf_(*img_param),param_(*param) + imgproc(LPSCANCONF img_param,LPIMGPRCPARAM param,int pid) : img_conf_(*img_param),param_(*param),pid_(pid),papersize_(pid_) { my_path_ = hg_log::pe_path(); } @@ -755,9 +756,9 @@ namespace hg_imgproc //////////////////////////////////////////////////////////////////////////////////////////////////////////////// // api ... - HIMGPRC init(LPSCANCONF parameter,LPIMGPRCPARAM param) + HIMGPRC init(LPSCANCONF parameter,LPIMGPRCPARAM param,int pid) { - imgproc* obj = new imgproc(parameter,param); + imgproc* obj = new imgproc(parameter,param,pid); return (HIMGPRC)obj; } diff --git a/hgdriver/hgdev/image_process.h b/hgdriver/hgdev/image_process.h index 7690034..58a5313 100644 --- a/hgdriver/hgdev/image_process.h +++ b/hgdriver/hgdev/image_process.h @@ -158,7 +158,7 @@ namespace hg_imgproc }IMGHEAD, *LPIMGHEAD; - HIMGPRC init(LPSCANCONF parameter,LPIMGPRCPARAM param); + HIMGPRC init(LPSCANCONF parameter,LPIMGPRCPARAM param,int pid); int load_buffer(HIMGPRC himg,std::shared_ptr> buff); int load_file(HIMGPRC himg, const char* path_file);