//切割小屏 public void SmallScreenDivision(UInt16 bigScreenIndex, UInt16 x, UInt16 y) { if (x == 0 || y == 0) { return; } if (x == 1 && y == 1) { return; } BigScreen bigScreen = m_bigScreenDict[bigScreenIndex]; bigScreen.IsDivision = true; List <UInt16> list = m_stationIndexDict[bigScreenIndex]; list.Clear(); int smallScreenCount = x * y; for (UInt16 i = 0; i < smallScreenCount; ++i) { ScreenBindData data = new ScreenBindData(); bigScreen.AddSmallScreenBindData(i, data); list.Add(9999); //起到给List扩容的作用, 目前对大屏含小屏的情况,有x*y个元素 } }
//屏幕绑定CameraIndex和站台Index, 大屏索引,大屏中小屏索引, 索引从1开始 public void ScreenBindCamera(UInt16 bigScreenIndex, UInt16 smallScreenIndex, UInt16 stationIndex, UInt16 cameraIndex) { ScreenBindData data = null; if (smallScreenIndex == 0) { //表示Camera画面绑定到大屏上 List <UInt16> list = m_stationIndexDict[bigScreenIndex]; list[0] = stationIndex; } else { //表示Camera画面绑定到某个大屏的小屏上 data = m_bigScreenDict[bigScreenIndex].SmallScreenBindDataDict[smallScreenIndex]; List <UInt16> list = m_stationIndexDict[bigScreenIndex]; if (list.Count >= smallScreenIndex) { list[smallScreenIndex - 1] = stationIndex; } } if (data != null) { data.StationIndex = stationIndex; data.CameraIndex = cameraIndex; } }
public void AddSmallScreenBindData(UInt16 smallScreenIndex, ScreenBindData data) { if (System.Object.ReferenceEquals(data, null)) { return; } m_smallScreenBindDataDict.Add(smallScreenIndex, data); }