123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "FrmCameraScreenF.h"
- #include "FrmCameraFullScreenF.h"
- #include "AppGlobalF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "FRAME_CameraF"
- #pragma resource "*.dfm"
- TFrmCameraScreen *FrmCameraScreen = NULL;
- //---------------------------------------------------------------------------
- __fastcall TFrmCameraScreen::TFrmCameraScreen(TComponent* Owner)
- : TForm(Owner)
- {
- FTitle = Caption;
- if (g_AppCfg.sLang != "kr") FTitle = "Camera monitoring";
- FFullCrsCam = NULL;
- FOldCross = NULL;
- FCurCross = NULL;
- Init();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmCameraScreen::ResetScreenForm(String AScreenName)
- {
- StopAll();
- PnlCrs->Caption = " 교차로 ";
- TMonitoringScreen* pObj = ObjScreenManager->FLists.Find(AScreenName);
- if (!pObj)
- {
- String sMsg;
- if (g_AppCfg.sLang != "kr") sMsg = "Change monitoring screen\r\nNot found screen information.\r\n[" + AScreenName + "]";
- else sMsg = "모니터링 화면 변경\r\n화면정보를 찾을 수 없습니다..\r\n[" + AScreenName + "]";
- Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return;
- }
- FCurCross = pObj;
- PnlCrs->Caption = AScreenName;//pObj->CROSS_NAME;
- try {
- LockWindowUpdate(Handle);
- FOR_STL(TScreenCtlr*, pScr, pObj->FLists) {
- TFRAMECamera *pFrameCamera = (TFRAMECamera*)FindComponent("FRAMECamera" + String(pScr->DIRECTION));
- if (pFrameCamera) {
- pFrameCamera->Init(pScr, pScr->CAM_ID, pScr->CAM_ID, pScr->CAM_NAME, pScr->STRM_ADDR);
- }
- }
- } __finally {
- LockWindowUpdate(0);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmCameraScreen::Init()
- {
- for (int ii = 1; ii <= 8; ii++) {
- TFRAMECamera *pFrameCamera = (TFRAMECamera*)FindComponent("FRAMECamera" + String(ii));
- if (pFrameCamera) {
- pFrameCamera->LoadEmptyImage();
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmCameraScreen::StopAll()
- {
- try {
- LockWindowUpdate(Handle);
- for (int ii = 1; ii <= 8; ii++) {
- TFRAMECamera *pFrameCamera = (TFRAMECamera*)FindComponent("FRAMECamera" + String(ii));
- if (pFrameCamera) {
- pFrameCamera->Init(NULL);
- }
- }
- } __finally {
- LockWindowUpdate(0);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmCameraScreen::Play()
- {
- try {
- LockWindowUpdate(Handle);
- for (int ii = 1; ii <= 8; ii++) {
- TFRAMECamera *pFrameCamera = (TFRAMECamera*)FindComponent("FRAMECamera" + String(ii));
- if (pFrameCamera) {
- pFrameCamera->Connect();
- }
- }
- } __finally {
- LockWindowUpdate(0);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmCameraScreen::Stop()
- {
- try {
- LockWindowUpdate(Handle);
- for (int ii = 1; ii <= 8; ii++) {
- TFRAMECamera *pFrameCamera = (TFRAMECamera*)FindComponent("FRAMECamera" + String(ii));
- if (pFrameCamera) {
- pFrameCamera->Disconnect();
- }
- }
- } __finally {
- LockWindowUpdate(0);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmCameraScreen::TmrFullScreenTimer(TObject *Sender)
- {
- TmrFullScreen->Enabled = false;
- if (FFullCrsCam != NULL) {
- Stop();
- TFrmCameraFullScreen *pFrmFullScreen = new TFrmCameraFullScreen(this);
- pFrmFullScreen->BoundsRect = this->Monitor->BoundsRect;
- pFrmFullScreen->PnlStream->Align = alNone;
- pFrmFullScreen->PnlStream->Align = alClient;
- pFrmFullScreen->RTSP_ADDR = FFullCrsCam->FULL_STRM_ADDR;
- pFrmFullScreen->ShowModal();
- PnlCamera->Parent = this;
- PnlCamera->Tag = (int)this;
- delete pFrmFullScreen;
- pFrmFullScreen = NULL;
- Play();
- }
- }
- //---------------------------------------------------------------------------
|