You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
2.6 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QLibrary>
#include "Global.h"
#include <QLabel>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
typedef struct imgstr
{
unsigned char * pbtr;
unsigned long iLen;
}myimgStr;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_pushButtonConnect_clicked();
private:
Ui::MainWindow *ui;
private:
OpenHv_Fun m_OpenHv_Fun;
CloseHv_Fun m_CloseHv_Fun;
HvIsConnected_Fun m_HvIsConnected_Fun;
SetHvCallBack_Fun m_SetHvCallBack_Fun;
HV_HANDLE m_HvHdl;
QLibrary m_Lib;
public:
int OnHvResultBegin(DWORD dwCarID);
int OnHvResultEnd(DWORD dwCarID);
int OnHvResultPlate(DWORD32 dwCarID,
PSTR pcPlateNo,
DWORD64 dwTimeMs);
int OnHvResultBigImage(DWORD32 dwCarID,
WORD wImageWidth,
WORD wImageHigh,
BYTE bType,
WORD wSize,
PBYTE pbImage,
WORD wImageID,
WORD wHighImgFlag,
WORD wPlateWidth,
WORD wPlateHigh,
DWORD64 dwTimeMs);
int OnHvResultSmallImage(DWORD32 dwCarID,
WORD wImageWidth,
WORD wImageHigh,
BYTE bType,
WORD wSize,
PBYTE pbImage,
DWORD64 dwTimeMs);
int OnHvResultBinImage(DWORD32 dwCarID,
WORD wImageWidth,
WORD wImageHigh,
BYTE bType,
WORD wSize,
PBYTE pbImage,
DWORD64 dwTimeMs);
private:
void InitStr();
void InitFunPtr();
int GetFunPtr();
int OpenLib();
int ConnectDevice(char * pIp);
int QStringToChar(char * dest,QString & Qsource, int iLen, int isChange =0);
void showInfo(QString qstr);
void ShowImage(QLabel * labptr, PBYTE pbImgData, DWORD iImgDataLen);
DWORD GetImgLen(WORD wsize, WORD Flag);
int SaveImg(myimgStr & str, PBYTE pData, DWORD dLen);
signals:
void FunCallChg(int type);
void ColorChg(QString planto, QString color);
void BigImgChg(unsigned char * pbtr,unsigned long len);
void SmallImgChg(unsigned char * pbtr,unsigned long len);
// void BinImgChg(unsigned char * pbtr,unsigned long len);
// void testsinal(int i);
private slots:
// void slotBtnStartThread();
void slotFunCallChg(int type);
void slotColorChg(QString planto, QString color);
void slotBigImgChg(unsigned char * pbtr,unsigned long len);
void slotSmallImgChg(unsigned char * pbtr,unsigned long len);
// void slotBinImgChg(unsigned char * pbtr,unsigned long len);
};
#endif // MAINWINDOW_H