Exemplo n.º 1
0
    //切割小屏
    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个元素
        }
    }
Exemplo n.º 2
0
    //屏幕绑定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;
        }
    }
Exemplo n.º 3
0
 public void AddSmallScreenBindData(UInt16 smallScreenIndex, ScreenBindData data)
 {
     if (System.Object.ReferenceEquals(data, null))
     {
         return;
     }
     m_smallScreenBindDataDict.Add(smallScreenIndex, data);
 }