📄 video_channel.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 + -