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.

154 lines
3.3 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
// 输出双击图像时的脱靶量
// flag = 0: 脱靶量
// flag = 1: 对话框坐标
typedef void (CALLBACK* SendPixXYOffsetProc)(CPoint xy, int flag);
// 输出双击点与对话框中点的夹角
typedef void (CALLBACK* SendAngleProc)(double angle);
// 当鼠标按下时,输出鼠标点与对话框中心点的距离比例系数和角度
typedef void (CALLBACK* SendDistRatioAndAngleProc)(double distRatio, double angle);
// 通知简单图像显示对话框被左键双击
typedef void (CALLBACK* SendLButtonDblClkInfoProc)();
// 通知简单图像显示对话框被右键按下 1Ctrl
typedef void (CALLBACK* SendButtonDownInfoProc)(int type);
// 声明 图像显示对话框类
class CSimpleImgShowDlg;
class AFX_CLASS_EXPORT CExportSimpleImgShow: public CObject
{
public:
CExportSimpleImgShow(void);
~CExportSimpleImgShow(void);
public:
/************************************************************************/
/* part 1窗口创建、销毁、图像显示、标注等 */
/************************************************************************/
// 1 功能:创建视频显示窗口
// 输入:
// 1. hParentWnd: 父窗口句柄
//
// 输出创建成功返回TRUE否则返回FALSE
BOOL CreateWnd(const HWND hParentWnd);
// 2 功能:移动(设置)窗口(整个视频显示窗口)至指定位置
// 输入:
// 1. clientRect移动至该区域
//
// 输出:无
void MoveWnd(const CRect &clientRect);
// 3 功能显示SW_SHOW 或隐藏 SW_HIDE 窗口
// 输入:
// 1. nCmdShowSW_SHOW 或 SW_HIDE
//
// 输出:无
void ShowWnd(const int nCmdShow);
// 4 功能:显示一帧图像
// 输入:
// 1. pImgInfo图像信息头
// 2. pImgData图像数据指针
//
// 输出显示成功返回TRUE否则返回FALSE
BOOL ShowImage(const BITMAPINFO* pImgInfo, BYTE* pImgData);
// 5 功能:删除视频显示窗口,同时释放所有占用资源
// 输入:无
//
// 输出:无
void DestroyWnd();
// 6 功能:设置回调函数
// 输入:
// 1. fun 函数指针
//
// 输出:无
void SetCallBackFun(SendPixXYOffsetProc fun);
// 7 功能:设置回调函数
// 输入:
// 1. fun 函数指针
//
// 输出:无
void SetCallBackFun(SendAngleProc fun);
// 8 功能:设置回调函数
// 输入:
// 1. fun 函数指针
//
// 输出:无
void SetCallBackFun(SendDistRatioAndAngleProc fun);
// 9 功能:设置回调函数
// 输入:
// 1. fun 函数指针
//
// 输出:无
void SetCallBackFun(SendLButtonDblClkInfoProc fun);
// 10 功能:设置是否显著标记对话框
// 输入:
// 1. bMark: 是否标记
// 2. bEnhance: 增强该功能
//
// 输出:无
void MarkDialog(bool bMark, bool bEnhance = false);
// 11 功能:设置回调函数
// 输入:
// 1. fun 函数指针
//
// 输出:无
void SetCallBackFun(SendButtonDownInfoProc fun);
// 12 功能:获取当前显示图像
// 输入:
// 无
// 输出:
// 1imgWidth 图像宽
// 2imgHeight 图像高
// 3bitCount 图像位数
// 4pImgData 图像数据指针
// 返回值:
// 成功返回true,失败返回false
bool GetCurrentImg(int &imgWidth, int &imgHeight, int& bitCount, unsigned char* &pImgData);
// 13 功能:设置空屏文字
// 输入:
// 1. str 主题文字
// 输出:
// 无
// 返回值:
// 无
void SetThemeText(CString str);
// 13 功能:关闭右键菜单
void CloseRightBtnDownMenu(bool bClose = true);
// 14 功能:清空显示
void ClearImg();
private:
CSimpleImgShowDlg* m_ShowDlg; // MFC 对话框
};