Пример #1
0
        internal bool Init(JupiterDisplayConfig display, JupiterWindow wnd)
        {
            this.InitBorderTitle(wnd, axGalileoCtrl);

            Text = wnd.TitleText;
            try
            {
                if (wnd.VideoIn < 0 || wnd.VideoIn >= display.InOutConfigList.Count)
                    throw new IndexOutOfRangeException("Указан не существующий вход видеостены");

                axGalileoCtrl.SuspendLayout();
                //axGalileoCtrl.BeginInit();
                try
                {
                    JupiterInOutConfig configWindow = display.InOutConfigList[wnd.VideoIn - 1];
                    switch (configWindow.WindowType)
                    {
                        case WindowTypeEnum.RGB:
                            CreateRGB(display, wnd, configWindow);
                            break;
                        case WindowTypeEnum.Video:
                            CreateLive(display, wnd, configWindow);
                            break;
                        default:
                            throw new ApplicationException(String.Format(
                                                               "Данный тип окна: {0}, не поддерживается системой ",
                                                               configWindow.WindowType));
                    }
                    // Бага в OCX, чтобы работало контрол должен получить команду Move
                    axGalileoCtrl.Width = 0;
                    axGalileoCtrl.Height = 0;
                    axGalileoCtrl.Width = Width;
                    axGalileoCtrl.Height = Height;

                    SetCropping(wnd);
                    axGalileoCtrl.Start();
                }
                finally
                {
                    //axGalileoCtrl.EndInit();
                    axGalileoCtrl.ResumeLayout();
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
            }
            return true;
        }
Пример #2
0
 public void CreateLive(JupiterDisplayConfig display, JupiterWindow wnd, JupiterInOutConfig configWindow)
 {
     axGalileoCtrl.LVChannel = configWindow.VideoIn;
 }
Пример #3
0
 public void CreateRGB(JupiterDisplayConfig display, JupiterWindow wnd, JupiterInOutConfig configWindow)
 {
     axGalileoCtrl.RGBChannel = configWindow.VideoIn;
     SetRGBTiming(wnd);
 }