175 lines
5.8 KiB
C++
175 lines
5.8 KiB
C++
/********************************************************************
|
|
* Name : View.h
|
|
* Param :
|
|
* Return :
|
|
* Describ :
|
|
* Author : Zhang Botong
|
|
* Date : 2019-11-13
|
|
********************************************************************/
|
|
|
|
#ifndef VIEW_H
|
|
#define VIEW_H
|
|
|
|
#include "BackStage.h"
|
|
#include "mainUi.h"
|
|
|
|
typedef enum
|
|
{
|
|
Error1_N = 1000,
|
|
Error_INPUT_PARAM,
|
|
Error1_1,
|
|
ErrorLive,
|
|
Error_PERSON_ID_NO_EXIST,
|
|
Error_REGISTER_PERSON,
|
|
Error_DELETE_PERSON,
|
|
Error_CLEAR_PERSON,
|
|
Error_QUERY_PERSON_COUNT,
|
|
Error_QUERY_MAX_PERSON_ID,
|
|
Error_NO_FACE,
|
|
Error_NO_FACE_IMAGE,
|
|
Error_REGISTER_FACE,
|
|
Error_DELETE_FACE,
|
|
Error_QUERY_PERSONID,
|
|
Error_QUERY
|
|
}enErrCode;
|
|
|
|
class View
|
|
{
|
|
public:
|
|
enum class enRecoUiMaskType
|
|
{
|
|
enRecoUiMaskNormal,
|
|
enRecoUiMaskTempCalibra,
|
|
enRecoUiMaskLight,
|
|
enRecoUiMaskDark,
|
|
|
|
enRecoUiMaskMax
|
|
};
|
|
|
|
static View* getInstance();
|
|
static int msgShowOvertimeCloseCB(void *data);
|
|
|
|
int viewInitBackstage(void* pParaMng, void* pObjs, bool needSetupWizard);
|
|
int viewCreateUi(int languageType, bool showCursor);
|
|
int viewCreateSettingUi();
|
|
virtual ~View();
|
|
|
|
void showRecoMsgReco();
|
|
void showUnauthorizedPage();
|
|
void showScreenSaverPage();
|
|
void showErrorDisplayPage(enErrCode errCode);
|
|
void notifyFaceInfo(const bool faceAvailable);
|
|
|
|
void showRecoMsgRetry();
|
|
void showRecoMsgFail(int failType = 0);
|
|
void showRecoSuccess(const char *name);
|
|
void showFaceImg(const unsigned char *imgData, const int imgLen);
|
|
void showRecoMsgIDFail();
|
|
|
|
void startCapture();
|
|
void updatePlatformConnectionStatus(UiInterfaceForBackstage::PLATFORM_CONNECTION_STATUS_E state);
|
|
|
|
void showRecoMsgMoveForehead(); //移动到额头区
|
|
void showRecoMsgForeheadNormalTemp(const float temp, const bool isC); //显示正常温度
|
|
void showRecoMsgForeheadAbnormalTemp(const float temp, const bool isHigh, const bool isC); //显示异常温度
|
|
|
|
void showRecoMsgReadTempFailed(); //体温检测失败
|
|
void showRecoMsgNoMaskWarn(); //请戴口罩
|
|
void showRecoMsgMaskOk(); //口罩检测成功
|
|
void showRecoMsgNoEntry(const bool noEntry); //禁止通行或者清除禁止通行
|
|
void showRecoMsgMaskWarn();
|
|
void turnOffScanLine(); //关闭扫描线
|
|
void updateLogo(int logo);
|
|
void showQRCodeResult(int result);
|
|
void showQRCodeReco();
|
|
void showFaceReco();
|
|
void updateRecoUiIp();
|
|
|
|
void showFeatureUpdateProgress(const unsigned current, const unsigned all);
|
|
void closeFeatureUpdateProgress();
|
|
|
|
void showCalibrationBox();
|
|
void closeCalibrationBox();
|
|
|
|
//color:0-white, 1-red, 2-yellow
|
|
void showNotiMsg(const char *msg, int color, double displayTime = 3600 * 8);
|
|
|
|
void switchLightOrDarkRecoUi(bool isDark);
|
|
|
|
void updateScreenSaver();
|
|
void grabScreen(const char* picName, int rotate = 0);
|
|
void showDrawPage();
|
|
void switchToRecoUi();
|
|
|
|
void showCenterMsg(const char* msg, double displayTime = 3.0, int type = 0);
|
|
void closeCenterMsgWin();
|
|
|
|
void showCursorSwitch(bool sw);
|
|
void setPwdButton(bool visible);
|
|
|
|
int setNetWire(const stNetWire& wireCfg);
|
|
int setServerAddr(const char *addr, bool byQrcode = false);
|
|
|
|
void showPwdUiPersonName(const char* name);
|
|
void showUserPwd(const char* name);
|
|
void showUserPwdError(int type, int color = 0);
|
|
|
|
void showUserCandidate(const char** opns, int opnsNum);
|
|
void showDevTestPage(const char* devCfgMsg);
|
|
void setDevTestMesAddrAndProdNoText(const char* text);
|
|
void setDevTestPcbSeqText(const char* text);
|
|
#if 0
|
|
void setDevTestConfigInfo(const char* text);
|
|
#endif
|
|
|
|
void showOrHideFaceFrame(bool show);
|
|
void showPassResult(bool pass);
|
|
|
|
void showRecoUiColorFaceSnapshot(const char* path);
|
|
void showRecoUiColorFaceSnapshot(const unsigned char* jpgDate, int len);
|
|
void recoUiswitchToType(int type);
|
|
void qrcodeFastCfgResult(bool isSuccessed);
|
|
|
|
void icCardResult(const char* icCardNum);
|
|
bool isInSettingUi();
|
|
void updateAdScreen();
|
|
|
|
void showHealthMsg(int type, float temp, const char* msg, bool pass, const unsigned char* jpgDate,
|
|
int jpgLen, const char* tripCity, const char* failReason, int bgColor, int displayTime = 3);
|
|
void showHealthCodeAuthStatus(int status);
|
|
|
|
void showAntiDismantleDetect(bool upload);
|
|
|
|
void showSceneResult(int result, const char* resultText, const char* businessInfo, int displayTime);
|
|
void updatePersonNumAccessed(int personAccess, int personAll);
|
|
bool isScenePassing();
|
|
void setSceneUiPersonCountType(int type);
|
|
void updateSceneUiPersonCount(int count);
|
|
|
|
void showCallBtn(bool callButton, bool videoButton);//显示/隐藏通话按键
|
|
void showCallDialPage();//显示拨号页面
|
|
void showCallReceiverCallIn(const char* callerName, bool videoEnable);//显示接收者通话拨入
|
|
void showCallInitiatorConnected(bool videoEnable);//显示发起者通话接通
|
|
void exitCall();//退出通话界面
|
|
void showCallPlatformCallIn(const char* callerName);//显示平台通话拨入
|
|
void showCallVideoPlayer(bool show);//显示/隐藏视频播放
|
|
void setDndMode(bool enabled, const std::chrono::system_clock::time_point &time);
|
|
void showRecoUiDevIdAndVer(bool show);
|
|
void showUserItemChoose(const std::vector<std::string>& items);
|
|
|
|
protected:
|
|
View();
|
|
private:
|
|
Backstage* m_backstage;
|
|
mainUi* m_ui;
|
|
static View * m_this;
|
|
bool m_needSetupWizard = false;
|
|
|
|
unsigned long long m_ullNotiMsgShowTmr = 0;
|
|
unsigned long long m_ullCenterMsgShowTmr = 0;
|
|
};
|
|
|
|
void rotateRgbImage(const unsigned char* inputImage, int width, int height, unsigned char* outptuImg, double angle);
|
|
|
|
#endif
|