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

📄 videorendereroverlay1.cpp

📁 ZPAV (H265) PC(X86) demo ZPAV (H265) 是 音视频 压缩解压 协议
💻 CPP
字号:

/*
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Copyright (C) 2006-2008  Beijing,  pengzhen (pengzhenxp@yahoo.com.cn)   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
*/


#include "VideoRendererOverlay0.cpp" 


int MediaVideoRendererOverlay::m_iScroll_CX =1;
int MediaVideoRendererOverlay::m_iScroll_CY =1;
int MediaVideoRendererOverlay::m_iScrollPageNo =0;
int MediaVideoRendererOverlay::m_iScrollPageNo_Bak =0;

int MediaVideoRendererOverlay::ddraw_init( int iTotalCard , int nvidWidth,  int nvidHeight ) 
{

	BOOL nRet = FALSE ;

	m_iTotalCard =  iTotalCard ; 

	//Get_Video_CaptureSize( ) ; // VideoRendererOverlay0.cpp 

	m_vidWidth  = nvidWidth ;
	m_vidHeight = nvidHeight ; // zhou 

	get_card_size( m_iTotalCard )  ;

	nRet = DrawInit( (m_iCardNo_CX * m_vidWidth) , (m_iCardNo_CY * m_vidHeight) ) ;

	GetDrawRect( )  ;

	return nRet  ;
}


int MediaVideoRendererOverlay::ddraw_init( int iTotalCard )
{

	BOOL nRet = FALSE ;

	m_iTotalCard =  iTotalCard ; 

	Get_Video_CaptureSize( ) ; // VideoRendererOverlay0.cpp 

	get_card_size( m_iTotalCard )  ;

	nRet = DrawInit( (m_iCardNo_CX * m_vidWidth) , (m_iCardNo_CY * m_vidHeight) ) ;

	GetDrawRect( )  ;

	return nRet  ;
}


void MediaVideoRendererOverlay::ddraw_exit()
{
	DrawFree() ; 
}


SIZE MediaVideoRendererOverlay::GetCardScales( )
{

	SIZE lpSize = { m_iCardNo_CX , m_iCardNo_CY } ;

    return lpSize ;
}


void MediaVideoRendererOverlay::Get_rdRect_op()
{

	//GetWindowRect(m_hWnd, &m_rdRect ); 
	

	m_rdWid = ( m_rdRect.right -  m_rdRect.left ) / m_iScroll_CX ;
	m_rdHei = ( m_rdRect.bottom -  m_rdRect.top ) / m_iScroll_CY ;

	if( m_rdWid <= 0 ) m_rdWid = 1; 
	if( m_rdHei <= 0 ) m_rdHei = 1;

	m_rdRect_op = m_rdRect ; 

}


void MediaVideoRendererOverlay::SetScroll( int iWhichScroll )
{

	if ( (iWhichScroll < 0 ) | (iWhichScroll >3 ) ) iWhichScroll = 0 ;

	SIZE lpScrollSize[4] = { {1,1}, {2,2} ,{3,3} , {4,4} } ;  // 0 1 2 3  // 1 4 8 16 

	int iScroll_CX = lpScrollSize[iWhichScroll].cx  ; 
	int iScroll_CY = lpScrollSize[iWhichScroll].cy  ; 

	if( ( (m_iScroll_CX != iScroll_CX) | (m_iScroll_CY != iScroll_CY) ) | 
		( (m_iCardNo_CX == iScroll_CX) & (m_iCardNo_CY == iScroll_CY) )   )  
	{
		m_iScrollPageNo = 0 ; m_iScrollPageNo_Bak = 0 ;
	}

	m_iScroll_CX = iScroll_CX ; 
	m_iScroll_CY = iScroll_CY ;

	m_iCurCardOverlayNo = m_iScrollPageNo_Bak ; 
	m_iCurCardFullFlag  = FALSE ; 
	
	GetDrawRect()  ;  m_rsRect_op = m_rsRect_bak[ m_iCurCardOverlayNo ] ;

	Get_rdRect_op()  ; 
	
#ifdef __INSERT_FONT__
	SetFontPos() ; InvalidateFont() ; 
#endif //__INSERT_FONT__

}


void MediaVideoRendererOverlay::ScrollPage() 
{


	if( (m_iCardNo_CX <= m_iScroll_CX) & (m_iCardNo_CY <= m_iScroll_CY) ) return ;

	int cx1 =  (m_iCardNo_CX-m_iScroll_CX+1) ;
	int cy1 =  (m_iCardNo_CY-m_iScroll_CY+1) ;

	m_iScrollPageNo ++ ; 
	if( (m_iScrollPageNo >= m_iTotalCard) | (m_iScrollPageNo >= cx1*cy1) ) { m_iScrollPageNo = 0 ; } 

	int cy , cx  ; 

    cy = m_iScrollPageNo / cx1 ; 
	cx = m_iScrollPageNo - cy * cx1  ;

	m_iScrollPageNo_Bak = m_iCurCardOverlayNo = cx + cy *m_iCardNo_CX ;

	m_rsRect_op = m_rsRect_bak[ m_iScrollPageNo_Bak  ] ;

	m_iCurCardFullFlag  = FALSE ;  // ! full windows 

#ifdef __INSERT_FONT__
    SetFontPos( ) ; //InvalidateFont() ; 
#endif //__INSERT_FONT__

}




⌨️ 快捷键说明

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