code_app/modules/saneui/dialog_device_scan.hpp

53 lines
1.3 KiB
C++
Raw Normal View History

#ifndef DIALOG_DEVICE_SCAN_H
#define DIALOG_DEVICE_SCAN_H
#include "base/HGDef.h"
#include "base/HGThread.h"
#include "sane/sane_ex.h"
#include "HGSaneUI.h"
#include <QDialog>
namespace Ui {
class Dialog_Device_Scan;
}
class Dialog_Device_Scan : public QDialog
{
Q_OBJECT
public:
2023-04-03 03:06:14 +00:00
Dialog_Device_Scan(SANEAPI* saneApi, SANE_Handle dev, const char *devName,
show_scan_ui_image_callback callback, void *callbackParam, QWidget *parent = nullptr);
~Dialog_Device_Scan();
signals:
2023-04-03 03:06:14 +00:00
void eventFunc(std::string errInfo);
void newImage(SANE_Parameters format, SANE_Byte *data);
private slots:
2023-04-03 03:06:14 +00:00
void on_eventFunc(std::string errInfo);
void on_newImage(SANE_Parameters format, SANE_Byte *data);
void on_pushButton_Cancel_clicked();
void on_pushButton_Complete_clicked();
void on_pushButton_Continue_clicked();
protected:
virtual void closeEvent(QCloseEvent *e) override;
private:
static void HGAPI ThreadFunc(HGThread thread, HGPointer param);
private:
Ui::Dialog_Device_Scan *ui;
SANEAPI m_saneAPI;
SANE_Handle m_saneDev;
show_scan_ui_image_callback m_callback;
void *m_callbackParam;
HGByte* m_buffer;
HGInt m_bufferSize;
volatile HGBool m_stopThread;
HGThread m_thread;
};
#endif // DIALOG_DEVICE_SCAN_H