code_app/app/scanner/device_user.h

110 lines
2.1 KiB
C
Raw Normal View History

2023-05-04 06:55:26 +00:00
#ifndef __DEVICE_USER_H__
#define __DEVICE_USER_H__
#include "base/HGDef.h"
#include <QDialog>
#if defined(HG_CMP_MSC)
#include "twain_user/HGTwain.h"
class DeviceUserMgr : public QObject
{
Q_OBJECT
public:
DeviceUserMgr(QWidget *wnd);
~DeviceUserMgr();
// 弹出设备选择对话框选择twain源
class DeviceUser* OpenDeviceUser();
private:
QWidget *m_wnd;
HGTwainDSM m_twainDSM;
};
class DeviceUser : public QObject
{
Q_OBJECT
friend class DeviceUserMgr;
DeviceUser(QWidget *wnd, HGTwainDS ds);
public:
~DeviceUser();
// 获取设备名字
QString GetName();
// 弹出配置对话框
HGResult ShowSettingDlg();
// 弹出扫描对话框
HGResult StartScan();
HGResult StopScan();
HGResult GetDeviceCustomInfo(HGTwainDeviceCustomInfo *info);
private:
static void HGAPI DSCloseReqFunc(HGTwainDS ds, HGPointer param);
static void HGAPI DSImageFunc(HGTwainDS ds, HGImage image, HGPointer param);
signals:
void newImage(void *image);
void finishScan();
private:
QWidget *m_wnd;
HGTwainDS m_twainDS;
};
#else
#include "sane_user/HGSane.h"
class DeviceUserMgr : public QObject
{
Q_OBJECT
public:
DeviceUserMgr(QWidget *wnd);
~DeviceUserMgr();
// 弹出设备选择对话框,选择设备
class DeviceUser* OpenDeviceUser();
private:
QWidget *m_wnd;
HGSaneManager m_saneMgr;
};
class DeviceUser : public QObject
{
Q_OBJECT
friend class DeviceUserMgr;
DeviceUser(QWidget *wnd, HGSaneSource source, HGSaneDevice dev);
public:
~DeviceUser();
// 获取设备名字
QString GetName();
// 弹出配置对话框
HGResult ShowSettingDlg();
// 弹出扫描对话框
HGResult StartScan();
HGResult StopScan();
HGResult GetDeviceCustomInfo(HGSaneCustomInfo *info);
private:
static void HGAPI DeviceImageFunc(HGSaneDevice dev, HGImage image, HGPointer param);
signals:
void newImage(void *image);
void finishScan();
private:
QWidget *m_wnd;
HGSaneSource m_source;
HGSaneDevice m_saneDev;
};
#endif
#endif /* __DEVICE_USER_H__ */