⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 video_channel.h

📁 实时监控
💻 H
字号:
#if !defined(AFX_VIDEO_CHANNEL_H__B15D7ED4_93C6_46DB_A5DD_E167250445AC__INCLUDED_)
#define AFX_VIDEO_CHANNEL_H__B15D7ED4_93C6_46DB_A5DD_E167250445AC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// video_channel.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// video_channel window
#include "../net/channel_info.h"
#include "selstatic.h"
#include "notif_cmd.h"
#include "notif_av.h"
#include "color_space.h"
#include "v_std.h"

class CRightLogin;
class mem_draw_base;

//##ModelId=3F90BAA6031E
class video_channel : public CSelStatic, public video_mask
{

	COLOR_SPACE cs;
	VIDEO_STANDARDS vs;

	mem_draw_base* mem_draw;
	//##ModelId=3F90BAA701E7
	typedef CSelStatic baseclass;

//	DDHANDLE dd;
	
	// 从notif_cmd来的消息
	//virtual void on_logout_success(IPPORT_TYPE);
	//virtual void on_channel_opened(IPPORT_TYPE, ULONG mip, USHORT mport, ULONG channel);
	//virtual void on_channel_closed(IPPORT_TYPE, ULONG channel);
	
	//virtual void on_video_frame(int channel, void* vid_buf, ULONG size, int w, int h);
	// 事件内部处理
	//##ModelId=3F90BAA60331
	void video_opened(ULONG ip, USHORT port, int chnl);
	//##ModelId=3F90BAA60344
	void video_closed(ULONG ip, USHORT port, int chnl);

	//##ModelId=3F90BAA60377
	ip_port v_ip;			// 已经打开的视频IP
	//##ModelId=3F90BAA6038A
	int v_chnl;			// 已经打开的视频通道号

	byte* m_checkbuf;

	//##ModelId=3F90BAA60394
	virtual void on_sel();
	//##ModelId=3F90BAA6039E
	virtual void on_unsel();
	
	/*
	 *	覆盖区域
	 */
	//##ModelId=3F90BAA603A9
	int w;
	//##ModelId=3F90BAA603B2
	int h;
	//##ModelId=3F90BAA603C

	//bool m_boolcheckbuf;
	//##ModelId=3F90BAA603D1
	bitmap_mask mask;
	//##ModelId=3F90BAA603DA
	virtual void set_data(const byte* data);
	virtual const byte* mask_data();
	//##ModelId=3F90BAA603E4
	virtual void set_grid(int w, int h);
	//##ModelId=3F90BAA70010
	virtual void clear_grid();
	//##ModelId=3F90BAA7001A
	virtual void update();

	//##ModelId=3F90BAA70024
	void check_grid(byte* yuvbuf);
	//##ModelId=3F90BAA7002E
	void calc_mask(CPoint pt, int& x, int& y);
	//##ModelId=3F90BAA70043
	void fill_black(int x, int y);

	
// Construction
public:
	//##ModelId=3F90BAA70057
	bool drawing_grid;
	BOOL m_Slow;
	BOOL tcpudp_server;

	video_channel();

	//##ModelId=3F90BAA70060
	virtual bool create(int index, CWnd* parent, const CRect& rc = CRect(0,0,0,0), 
		DWORD style = SS_WHITERECT | WS_CHILD | WS_VISIBLE | SS_NOTIFY);
	
// Attributes
public:
	//##ModelId=3F90BAA7007E
	void report_channel();
	//##ModelId=3F90BAA70088
	static void set_rlogin(CRightLogin* rl);
	//##ModelId=3F90BAA70093
	static video_channel* current_sel();
	//##ModelId=3F90BAA7009D
	static video_channel* number(int idx);
	//##ModelId=3F90BAA700B0
	static int count();

	//##ModelId=3F90BAA700BA
	ip_port channel_ip();
	//##ModelId=3F90BAA700C4
	int channel_index();

	int m_draw_id;

	void check_playing_mode();
	
	//##ModelId=3F90BAA700CE
	virtual bool is_video_opened();

	//##ModelId=3F90BAA700D0
	bool is_vod();

	VIDEO_STANDARDS On_videostandard_type();
	
// Operations
public:
	// DirectDraw更新窗口区域
	//##ModelId=3F90BAA700D8
	void dd_update();
	//##ModelId=3F90BAA700E2
	void draw(void* buf);
	
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(video_channel)
	public:
	//##ModelId=3F90BAA700EC
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	//}}AFX_VIRTUAL

// Implementation
public:
	//##ModelId=3F90BAA700F7
	virtual ~video_channel();

	// Generated message map functions
protected:

	CPoint point_ldown;

	//##ModelId=3F90BAA70101
	LRESULT on_logout(WPARAM, LPARAM);
	//##ModelId=3F90BAA7011E
	LRESULT on_channel_opened(WPARAM, LPARAM);
	//##ModelId=3F90BAA70129
	LRESULT on_channel_closed(WPARAM, LPARAM);
	//##ModelId=3F90BAA7013D
	LRESULT on_video_frame(WPARAM, LPARAM);
	//##ModelId=3F90BAA70150
	LRESULT on_vod_set_speed(WPARAM, LPARAM);

	LRESULT on_req_failure(WPARAM w, LPARAM l);
	
	//##ModelId=3F90BAA70164
	LRESULT on_snapshot(WPARAM, LPARAM);
	//{{AFX_MSG(video_channel)
	//##ModelId=3F90BAA7016F
	afx_msg void OnDestroy();
	//##ModelId=3F90BAA70183
	afx_msg void OnMove(int x, int y);
	//##ModelId=3F90BAA70197
	afx_msg void OnSize(UINT nType, int cx, int cy);
	//##ModelId=3F90BAA701B5
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	//##ModelId=3F90BAA701C9
	afx_msg void OnPaint();
	//##ModelId=3F90BAA701D3
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);

	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	//}}AFX_MSG


	//##ModelId=3F90BAA701DE
	void OnRButtonDown();

	DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_VIDEO_CHANNEL_H__B15D7ED4_93C6_46DB_A5DD_E167250445AC__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -