twain2/hugaotwainds/TwainUIDlg.h

141 lines
7.9 KiB
C
Raw Permalink Normal View History

2020-03-11 02:53:30 +00:00
<EFBFBD><EFBFBD>#pragma once
#include "BasicSetting.h"
#include "BrightSetting.h"
#include "ImageProcess.h"
#include "FeederPaper.h"
#include "MFC_UI.h"
#include "SaveConfigDlg.h"
#include "JsonConfig.h"
#include <vector>
// TwainUIDlg <EFBFBD>[݋Fh
//class MFC_UI;
/*.^<EFBFBD>R<EFBFBD>echX[<EFBFBD>P_*/
#define DOCHELPPATH "C:/Windows/twain_32/HuagaoT/HuaGoScan TWAIN_Cs.chm"
/*M<EFBFBD>n<EFBFBD>e<EFBFBD>N؞<EFBFBD><EFBFBD>"}_<>S*/
#define DEFAULTCONGFIGINDEX 1
#define RESOLUTIONCOUNT 5
#define RESOLUTION 100,150,200,240,300
#define TOTALPAPARTYPE 18
#define PAPARTYPE 11,1,60,5,61,13,62,6,2,70,7,71,3,80,81,4,0,91
#define MAXCOUNT 0xFFFF
#define TWSS_A3 11
#define TWSS_A4 1
#define TWSS_A4R 60
#define TWSS_A5 5
#define TWSS_A5R 61
#define TWSS_A6 13
#define TWSS_A6R 62
#define TWSS_B4 6
#define TWSS_B5 2
#define TWSS_B5R 70
#define TWSS_B6R 71
#define TWSS_USLETTER 3
#define LETTERR 80
#define DOUBLELETTER 81
#define TWSS_USLEGAL 4
#define TWSS_AUTOCROP 90
#define TWSS_LONGDOCMENT 91
#ifdef G200
static std::map<int, int> papersizelist{ {0,TWSS_A3},{1,TWSS_A4},{2,TWSS_A4R},{3,TWSS_A5} ,{4,TWSS_A5R} ,{5,TWSS_A6} ,{6,TWSS_A6R},{7,TWSS_B4} ,{8,TWSS_B5}
,{9,TWSS_B5R} ,{10,TWSS_B6} ,{11,TWSS_B6R} ,{12,TWSS_USLETTER} ,{13,LETTERR} ,{14,DOUBLELETTER} ,{15,TWSS_USLEGAL},{16,TWSS_AUTOCROP} ,{17,TWSS_LONGDOCMENT}};
#elif defined G300
static std::map<int, int> papersizelist{{0,TWSS_A4},{1,TWSS_A5} ,{2,TWSS_A6} ,{3,TWSS_B5},{4,TWSS_B6} ,{5,TWSS_USLETTER} ,{6,TWSS_USLEGAL},{7,TWSS_AUTOCROP} };
#elif defined G400
static std::map<int, int> papersizelist{ {0,TWSS_A3},{1,TWSS_A4},{2,TWSS_A4R},{3,TWSS_A5} ,{4,TWSS_A5R} ,{5,TWSS_A6} ,{6,TWSS_A6R},{7,TWSS_B4} ,{8,TWSS_B5}
,{9,TWSS_B5R} ,{10,TWSS_B6} ,{11,TWSS_B6R} ,{12,TWSS_USLETTER} ,{13,LETTERR} ,{14,DOUBLELETTER} ,{15,TWSS_USLEGAL},{16,TWSS_AUTOCROP} };
#endif // G200
2020-03-11 02:53:30 +00:00
struct tagSCANCONFIGPARAM
{
UINT32 ColorModal;
UINT32 PaperSize;
FLOAT Resoulation;
UINT32 DuplexType;
BOOL IsDoubleFeeded;
BOOL IsBingdingDetectable;
BOOL SkrewDetectable;
BOOL Is10BitTure;
BOOL Is11BitTure;
BOOL Is12BitTure;
};
typedef tagSCANCONFIGPARAM SCANCONFIGPARAM, PSCANCONFIGPARAM;
struct tagIMAGEPROCESSPARAMS
{
UINT32 PaperSize;
BOOL IsDiscardBlankPage;
BOOL IsFlodPages;
INT Brightness;
INT Contrast;
INT Gamma;
INT Filter;
BOOL IsFillBlack;
BOOL IsAutoCrop;
INT ScanCount;
INT Orentation;
BOOL IsBackImageFlip180;
};
typedef tagIMAGEPROCESSPARAMS IMAGEPROCESSPARAMS, PIMAGEPROCESSPARAMS;
class TwainUIDlg : public CDialog
{
DECLARE_DYNAMIC(TwainUIDlg)
public:
TwainUIDlg(MFC_UI* pUI, CWnd* pParent = nullptr); // h<EFBFBD>Q<EFBFBD>g <EFBFBD><EFBFBD>Qpe
virtual ~TwainUIDlg();
// <EFBFBD>[݋Fhpenc
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_DIALOG_TWAINUI };
#endif
BasicSetting basicSetting;
BrightSetting brightSetting;
ImageProcess imageProcess;
FeederPaper feederPaper;
CTabCtrl m_tabCtrl;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV /ec
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnBnClickedCancel();
afx_msg void OnBnClickedDefault();
afx_msg void OnBnClickedHelp();
afx_msg void OnBnClickedSaveItem();
afx_msg void OnBnClickedDeletItem();
afx_msg void OnBnClickedRecovery();
afx_msg void OnBnClickedBackUp();
virtual BOOL OnInitDialog();
afx_msg void OnSelchangeTab(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnBnClickedConfirm();
void UpdateUI(CONFIGPARAMS configParams);
void UpDateScanParam(PCONFIGPARAMS pConfigItem,bool updateDs=true);
void UpdateListConfig();
std::string getSerialNum();
std::string getHardVersion();
private:
MFC_UI * ui;
std::vector<CONFIGINFO> cfi;
int getResolution(int index);
int getPaparSize(int index);
int getResolutionIndex(int resolution);
int getPaparSizeIndex(int papersize);
int getColorModel(int index);
int getColorModelIndex(int pixtype);
std::vector<CONFIGINFO> getConfigFiles();
char strB[1];
char strC[1];
char strG[10];
public:
afx_msg void OnLbnSelchangeLstconfig();
};