208 lines
4.8 KiB
C++
208 lines
4.8 KiB
C++
|
|
/*******************************************************
|
|||
|
|
Copyright 2008-2011 Digital Technology Co., Ltd.
|
|||
|
|
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> PTZButton.cpp
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
<EFBFBD><EFBFBD> д<EFBFBD><EFBFBD> shizhiping
|
|||
|
|
<EFBFBD><EFBFBD> <EFBFBD>ڣ<EFBFBD> 2009.5
|
|||
|
|
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD>ť<EFBFBD><EFBFBD>
|
|||
|
|
<EFBFBD><EFBFBD> <EFBFBD>ģ<EFBFBD>
|
|||
|
|
********************************************************/
|
|||
|
|
#include "stdafx.h"
|
|||
|
|
#include "RealPlay.h"
|
|||
|
|
#include "PTZButton.h"
|
|||
|
|
|
|||
|
|
#ifdef _DEBUG
|
|||
|
|
#define new DEBUG_NEW
|
|||
|
|
#undef THIS_FILE
|
|||
|
|
static char THIS_FILE[] = __FILE__;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
int g_iPtzBtnIndex = 0;
|
|||
|
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
|
// CPTZButton
|
|||
|
|
|
|||
|
|
CPTZButton::CPTZButton()
|
|||
|
|
{
|
|||
|
|
m_iSubBtnIndex = g_iPtzBtnIndex++;
|
|||
|
|
m_lPlayHandle = -1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CPTZButton::~CPTZButton()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
BEGIN_MESSAGE_MAP(CPTZButton, CButton)
|
|||
|
|
//{{AFX_MSG_MAP(CPTZButton)
|
|||
|
|
ON_WM_LBUTTONDOWN()
|
|||
|
|
ON_WM_LBUTTONUP()
|
|||
|
|
//}}AFX_MSG_MAP
|
|||
|
|
END_MESSAGE_MAP()
|
|||
|
|
|
|||
|
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
|
// CPTZButton message handlers
|
|||
|
|
|
|||
|
|
/*************************************************
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: OnLButtonDown
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ:
|
|||
|
|
*************************************************/
|
|||
|
|
void CPTZButton::OnLButtonDown(UINT nFlags, CPoint point)
|
|||
|
|
{
|
|||
|
|
LONG lPlayHandle = g_pMainDlg->GetPlayHandle();
|
|||
|
|
int iPTZSpeed = g_pMainDlg->GetPTZSpeed();
|
|||
|
|
switch(m_iSubBtnIndex)
|
|||
|
|
{
|
|||
|
|
case 0: //<2F><>̨<EFBFBD><CCA8>
|
|||
|
|
PTZControlAll(lPlayHandle,TILT_UP,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 1: //<2F><>̨<EFBFBD><CCA8>
|
|||
|
|
PTZControlAll(lPlayHandle,TILT_DOWN,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 2: //<2F><>̨<EFBFBD><CCA8>
|
|||
|
|
PTZControlAll(lPlayHandle,PAN_LEFT,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 3: //<2F><>̨<EFBFBD><CCA8>
|
|||
|
|
PTZControlAll(lPlayHandle,PAN_RIGHT,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 4: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,ZOOM_IN,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 5: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,ZOOM_OUT,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 6: //<2F>۽<EFBFBD><DBBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,FOCUS_NEAR,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 7: //<2F>۽<EFBFBD><DBBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,FOCUS_FAR,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 8: //<2F><>Ȧ<EFBFBD><C8A6>
|
|||
|
|
PTZControlAll(lPlayHandle,IRIS_OPEN,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 9: //<2F><>Ȧ<EFBFBD><C8A6>
|
|||
|
|
PTZControlAll(lPlayHandle,IRIS_CLOSE,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 10: //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,UP_LEFT,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 11: //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,UP_RIGHT,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 12: //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,DOWN_LEFT,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 13: //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,DOWN_RIGHT,0,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
|
|||
|
|
default:
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CButton::OnLButtonDown(nFlags, point);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*************************************************
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: OnLButtonUp
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ:
|
|||
|
|
*************************************************/
|
|||
|
|
void CPTZButton::OnLButtonUp(UINT nFlags, CPoint point)
|
|||
|
|
{
|
|||
|
|
// int iChanIndex = pMainDlg->GetCurChanIndex();
|
|||
|
|
LONG lPlayHandle = g_pMainDlg->GetPlayHandle();
|
|||
|
|
int iPTZSpeed = g_pMainDlg->GetPTZSpeed();
|
|||
|
|
switch(m_iSubBtnIndex)
|
|||
|
|
{
|
|||
|
|
case 0: //<2F><>̨<EFBFBD><CCA8>
|
|||
|
|
PTZControlAll(lPlayHandle,TILT_UP,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 1: //<2F><>̨<EFBFBD><CCA8>
|
|||
|
|
PTZControlAll(lPlayHandle,TILT_DOWN,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 2: //<2F><>̨<EFBFBD><CCA8>
|
|||
|
|
PTZControlAll(lPlayHandle,PAN_LEFT,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 3: //<2F><>̨<EFBFBD><CCA8>
|
|||
|
|
PTZControlAll(lPlayHandle,PAN_RIGHT,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 4: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,ZOOM_IN,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 5: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,ZOOM_OUT,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 6: //<2F>۽<EFBFBD><DBBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,FOCUS_NEAR,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 7: //<2F>۽<EFBFBD><DBBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,FOCUS_FAR,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 8: //<2F><>Ȧ<EFBFBD><C8A6>
|
|||
|
|
PTZControlAll(lPlayHandle,IRIS_OPEN,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 9: //<2F><>Ȧ<EFBFBD><C8A6>
|
|||
|
|
PTZControlAll(lPlayHandle,IRIS_CLOSE,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 10: //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,UP_LEFT,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 11: //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,UP_RIGHT,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 12: //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,DOWN_LEFT,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
case 13: //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
PTZControlAll(lPlayHandle,DOWN_RIGHT,1,iPTZSpeed);
|
|||
|
|
break;
|
|||
|
|
// case 14: //<2F>Զ<EFBFBD>
|
|||
|
|
// PTZControlAll(lPlayHandle,PAN_AUTO,1,iPTZSpeed);
|
|||
|
|
// break;
|
|||
|
|
default:
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
CButton::OnLButtonUp(nFlags, point);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*************************************************
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PTZControlAll
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ:
|
|||
|
|
*************************************************/
|
|||
|
|
void CPTZButton::PTZControlAll(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, int Speed)
|
|||
|
|
{
|
|||
|
|
if(lRealHandle>=0)
|
|||
|
|
{
|
|||
|
|
BOOL ret;
|
|||
|
|
if(Speed>=1)
|
|||
|
|
{
|
|||
|
|
ret = NET_DVR_PTZControlWithSpeed(lRealHandle,dwPTZCommand,dwStop,Speed);
|
|||
|
|
if(!ret)
|
|||
|
|
{
|
|||
|
|
MessageBox("<EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
ret = NET_DVR_PTZControl(lRealHandle,dwPTZCommand,dwStop);
|
|||
|
|
if(!ret)
|
|||
|
|
{
|
|||
|
|
MessageBox("<EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|