//--------------------------------------------------------------------------- #include #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(); } } //---------------------------------------------------------------------------