1.修复检查有无纸协议异常;

2.修复BitDepth协议设置异常;
3.调整TWAIN UI刷新机制,由实际设置的协议值来更新UI,以避免实际设置的值与UI显示的值不一致;
4.调整配置参数保存逻辑,由OpenDS和CloseDS接口进行更新协议和保存协议;
This commit is contained in:
lovelyyoung 2020-06-20 11:01:35 +08:00
parent 9d99bc37d0
commit 5f8576b688
2 changed files with 1925 additions and 1758 deletions

File diff suppressed because it is too large Load Diff

View File

@ -38,6 +38,7 @@ protected:
virtual Twpp::Result capabilityResetAll(const Twpp::Identity& origin) override;
virtual Twpp::Result capabilitySet(const Twpp::Identity& origin, Twpp::Capability& data) override;
virtual Twpp::Result eventProcess(const Twpp::Identity& origin, Twpp::Event& data) override;
//virtual Twpp::Result deviceEventGet(const Twpp::Identity& origin, Twpp::DeviceEvent& data) override;
virtual Twpp::Result identityOpenDs(const Twpp::Identity& origin) override;
virtual Twpp::Result identityCloseDs(const Twpp::Identity& origin) override;
virtual Twpp::Result pendingXfersGet(const Twpp::Identity& origin, Twpp::PendingXfers& data) override;
@ -57,7 +58,6 @@ protected:
virtual Twpp::Result pendingXfersStopFeeder(const Twpp::Identity& origin, Twpp::PendingXfers& data) override;
virtual Twpp::Result imageFileXferGet(const Twpp::Identity& origin) override;
//virtual Twpp::Result pendingXfersStopFeeder(const Twpp::Identity& origin, Twpp::PendingXfers& data) override;
virtual Twpp::Result setupFileXferGet(const Twpp::Identity& origin, Twpp::SetupFileXfer& data) override;
virtual Twpp::Result setupFileXferGetDefault(const Twpp::Identity& origin, Twpp::SetupFileXfer& data) override;
virtual Twpp::Result setupFileXferSet(const Twpp::Identity& origin, Twpp::SetupFileXfer& data) override;
@ -67,12 +67,12 @@ protected:
private:
Twpp::Result showTwainUI(Twpp::UserInterface& data, bool bUiOnly = false);
Twpp::Result startScan();
void saveGscanCapSetting();
const BITMAPINFOHEADER* header() const noexcept;
Twpp::UInt32 bytesPerLine() const noexcept;
Twpp::UInt32 bmpSize() const noexcept;
const char* bmpBegin() const noexcept;
const char* bmpEnd() const noexcept;
void initGScanCap();
void updataGscanCap();
Twpp::Result capCommon(const Twpp::Identity& origin, Twpp::Msg msg, Twpp::Capability& data);
@ -82,16 +82,18 @@ private:
Twpp::SetupFileXfer m_fileXfer;
Twpp::UInt32 m_memXferYOff = 0;
Twpp::UInt16 m_pendingXfers = 0;
Twpp::UInt16 m_autosize = 0;
Twpp::Int16 m_capXferCount = -1;
Twpp::Fix32 m_brightness = 0.0f;
Twpp::XferMech m_capXferMech = Twpp::XferMech::Native;
Twpp::PixelType m_capPixelType = Twpp::PixelType::Rgb;
unsigned short m_jpegQuality = 80;
Twpp::Compression m_compression= Twpp::Compression::None;
bool m_bIndicator = true;
bool m_bFeederEnabled = true;
bool m_bAutoFeed = true;
UINT16 m_iBitdepth;
Twpp::ImageFileFormat m_capImageFileFormat = Twpp::ImageFileFormat::Bmp;
std::vector<unsigned char> bmpData;