code_app/modules/saneui/dialog_device_scan.h

62 lines
1.4 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 "HGSaneUI.h"
#include <QDialog>
namespace Ui {
class Dialog_Device_Scan;
}
class Dialog_Device_Scan : public QDialog
{
Q_OBJECT
public:
Dialog_Device_Scan(const SANEAPI* saneApi, SANE_Handle dev, const char *devName,
2023-05-23 06:37:34 +00:00
show_scan_ui_event_callback eventCallback, void *eventParam,
show_scan_ui_image_callback imageCallback, void *imageParam, QWidget *parent = nullptr);
~Dialog_Device_Scan();
2023-06-03 09:25:56 +00:00
protected:
void keyPressEvent(QKeyEvent *e) override;
signals:
2023-06-03 09:25:56 +00:00
void eventFunc(int flag, QString errInfo);
void imageCount(int count);
private slots:
2023-06-03 09:25:56 +00:00
void on_eventFunc(int flag, QString errInfo);
void on_pushButton_Cancel_clicked();
void on_pushButton_Complete_clicked();
2023-06-03 09:25:56 +00:00
void on_imageCount(int count);
private:
void startScan();
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;
2023-05-23 06:37:34 +00:00
show_scan_ui_event_callback m_eventCallback;
void *m_eventParam;
show_scan_ui_image_callback m_imageCallback;
void *m_imageParam;
HGByte* m_buffer;
HGInt m_bufferSize;
volatile HGBool m_stopThread;
HGThread m_thread;
2023-06-03 09:25:56 +00:00
QTimer *m_timer;
};
#endif // DIALOG_DEVICE_SCAN_H