/********************************************************************** 
Copyright (c) 2014 
All rights reserved. 
文件名称：CLS_DlgEZoom.h 
摘 要：电子放大 
版 本：0.1s
作 者：helixiang
完成日期：2014年02月22日 
*********************************************************************/


#pragma once
#include "afxwin.h"
#include "CLS_DlgVedio.h"

#define  MAXPANELNUM     5		//PNL总个数
// CLS_DlgEZoom dialog

class CLS_DlgEZoom : public CDialog
{
	DECLARE_DYNAMIC(CLS_DlgEZoom)

public:
	CLS_DlgEZoom(CWnd* pParent = NULL);   // standard constructor
	virtual ~CLS_DlgEZoom();


	CLS_DlgVedio *m_pDlgVedio[MAXPANELNUM];		//定义DlgVedio类型的数组指针

// Dialog Data
	enum { IDD = IDD_ZOOM };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	virtual BOOL OnInitDialog();
	afx_msg LRESULT OnPanelClick(WPARAM wParam, LPARAM lParam);	
	afx_msg LRESULT OnPanelDblClick(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT pnlVideoMouseUp(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT pnlVideoMouseMove(WPARAM wParam, LPARAM lParam);
	afx_msg void OnBnClickedBtnSet();
	afx_msg void OnClose();

	DECLARE_MESSAGE_MAP()
public:
	int m_iEdtPanelId;
	int m_iEdtZoomPnlId;
	int m_iEdtBottom;
	int m_iEdtLeft;
	int m_iEdtRight;
	int m_iEdtTop;
	CStatic m_gpVideoPnl;
	CStatic m_gpZoomPnl1;
	CStatic m_gpZoomPnl2;
	CStatic m_gpZoomPnl3;
	CStatic m_gpZoomPnl4;

	bool    m_bMouseDown;		//鼠标是否按住状态
	int     m_iPlayerID;		//当前播放ID
	int     m_iEZoomID[MAXPANELNUM];	//每个PNL的电子放大编号
	RECT    m_rctShow[MAXPANELNUM];		//窗口上显示的矩形大小，可转化成视频上显示的矩形
	RECT    m_rctVideo[MAXPANELNUM];	//视频上显示矩形大小数组


		

	/**************************************************************************************************
	函数  ：IsWhatPnl
	功能  ：根据点判断选中的哪一个PNL
	参数  ：CPoint
	返回值：1、2、3、4：选中PNL的ID，默认使用PNL1
	**************************************************************************************************/
	
	void UpdateUI(const int _iPanelID);

	/**************************************************************************************************
	函数  ：PanelRectToVideoRect
	功能  ：把界面的矩形大小转化成视频矩形大小
	参数  ：RECT 
	返回值：Void
	**************************************************************************************************/
	void PanelRectToVideoRect(RECT &_rct);

	/**************************************************************************************************
	函数  ：EZoom
	功能  ：电子放大显示到PNL上
	参数  ：int  要显示的PNL ID
	返回值：Void
	**************************************************************************************************/
	void EZoom(const int _iID);


};
