diff --git a/modules/sane_user/HGSaneImpl.cpp b/modules/sane_user/HGSaneImpl.cpp index bb9413b7..62b5de06 100644 --- a/modules/sane_user/HGSaneImpl.cpp +++ b/modules/sane_user/HGSaneImpl.cpp @@ -1036,17 +1036,6 @@ void HGAPI HGSaneDeviceImpl::ThreadFunc(HGThread thread, HGPointer param) HGUInt doubleImgRet = HGBASE_ERR_OK; bool clickedReserveImg = false; - int imageCount =0; - int scanCount = -1; - p->GetScanCount(&scanCount); - - //获取扫描页面类型,双张或单张 - HGChar scanPage[256] = { 0 }; - p->GetScanPage(scanPage, 256); - bool isDuplex = true; - if (0 == strcmp(OPTION_VALUE_SMYM_DM, scanPage)) - isDuplex = false; - while (!p->m_stopThread) { SANE_Parameters params; @@ -1171,7 +1160,6 @@ void HGAPI HGSaneDeviceImpl::ThreadFunc(HGThread thread, HGPointer param) // 普通图片或第二个双张图片 p->m_imageFunc((HGSaneDevice)p, img, HGSANE_IMAGE_TYPE_NORMAL, p->m_imageParam); doubleImgRet = HGBASE_ERR_OK; - imageCount++; } HGBase_DestroyImage(img); @@ -1182,12 +1170,7 @@ void HGAPI HGSaneDeviceImpl::ThreadFunc(HGThread thread, HGPointer param) buffer = NULL; bufferSize = 0; - // 保留双张后继续扫描,重置图像数量,然后重新按照指定张数扫描 - if (clickedReserveImg) - imageCount = 0; - - if (HGSANE_ERR_IMAGE_DISCARD == doubleImgRet || - ((isDuplex ? imageCount == scanCount * 2 : imageCount == scanCount) && !clickedReserveImg)) //图像数量和扫描张数对应时正常结束扫描,双张保留则继续扫描 + if (HGSANE_ERR_IMAGE_DISCARD == doubleImgRet) { saneAPI.sane_cancel_api(p->m_devHandle); if (NULL != p->m_scanNotify) @@ -1439,32 +1422,3 @@ HGResult HGSaneDeviceImpl::GetDoubleImgStatus(HGUInt *status) return HGBASE_ERR_FAIL; } - -HGResult HGSaneDeviceImpl::GetScanPage(HGChar *scanPage, HGUInt maxLen) -{ - if (NULL == scanPage || 0 == maxLen) - { - return HGBASE_ERR_INVALIDARG; - } - - SANE_Int dev_options = 0; - SANE_Int method = 0; - m_sourceImpl->m_saneApi.sane_control_option_api(m_devHandle, 0, SANE_ACTION_GET_VALUE, &dev_options, nullptr); - for (int i = 1; i < dev_options; ++i) - { - const SANE_Option_Descriptor* opt = m_sourceImpl->m_saneApi.sane_get_option_descriptor_api(m_devHandle, i); - if (strcmp(opt->name, SANE_STD_OPT_NAME_PAGE) == 0) - { - char *value = (char*)malloc(opt->size * 2 + 4); - SANE_Status ret = m_sourceImpl->m_saneApi.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, value, &method); - if (ret == SANE_STATUS_GOOD) - { - strcpy(scanPage, value); - free(value); - return HGBASE_ERR_OK; - } - } - } - - return HGBASE_ERR_FAIL; -} diff --git a/modules/sane_user/HGSaneImpl.hpp b/modules/sane_user/HGSaneImpl.hpp index 0dbbb9e7..f22626fd 100644 --- a/modules/sane_user/HGSaneImpl.hpp +++ b/modules/sane_user/HGSaneImpl.hpp @@ -105,7 +105,6 @@ private: HGResult SetScanMode(const HGChar *scanMode); HGResult SetScanCount(HGInt scanCount); HGResult GetDoubleImgStatus(HGUInt *status); - HGResult GetScanPage(HGChar *scanPage, HGUInt maxLen); private: HGSaneSourceImpl* m_sourceImpl;