Пример #1
0
        private static void LoadInSpecificTarget(ScreenManagerKernel manager, int targetScreen, CameraSummary summary, ScreenDescriptionCapture screenDescription)
        {
            AbstractScreen screen = manager.GetScreenAt(targetScreen);

            if (screen is CaptureScreen)
            {
                CaptureScreen captureScreen = screen as CaptureScreen;
                captureScreen.LoadCamera(summary, screenDescription);

                manager.UpdateCaptureBuffers();
                manager.OrganizeScreens();
                manager.OrganizeCommonControls();
                manager.OrganizeMenus();
            }
            else if (screen is PlayerScreen)
            {
                // Loading a camera onto a video should never close the video.
                // We only load the camera if there is room to create a new capture screen, otherwise we do nothing.
                if (manager.ScreenCount == 1)
                {
                    manager.AddCaptureScreen();
                    LoadInSpecificTarget(manager, 1, summary, screenDescription);
                }
            }
        }
Пример #2
0
        public static void LoadCameraInScreen(ScreenManagerKernel manager, CameraSummary summary, int targetScreen, ScreenDescriptionCapture screenDescription = null)
        {
            CameraTypeManager.CancelThumbnails();
            CameraTypeManager.StopDiscoveringCameras();

            if (targetScreen < 0)
            {
                LoadUnspecified(manager, summary, screenDescription);
            }
            else
            {
                LoadInSpecificTarget(manager, targetScreen, summary, screenDescription);
            }
        }
Пример #3
0
 private static void LoadUnspecified(ScreenManagerKernel manager, CameraSummary summary, ScreenDescriptionCapture screenDescription)
 {
     if (manager.ScreenCount == 0)
     {
         manager.AddCaptureScreen();
         LoadInSpecificTarget(manager, 0, summary, screenDescription);
     }
     else if (manager.ScreenCount == 1)
     {
         LoadInSpecificTarget(manager, 0, summary, screenDescription);
     }
     else if (manager.ScreenCount == 2)
     {
         int target = manager.FindTargetScreen(typeof(CaptureScreen));
         if (target != -1)
         {
             LoadInSpecificTarget(manager, target, summary, screenDescription);
         }
     }
 }
Пример #4
0
 public static void LoadCameraInScreen(ScreenManagerKernel manager, CameraSummary summary, int targetScreen, ScreenDescriptionCapture screenDescription = null)
 {
     if (targetScreen < 0)
     {
         LoadUnspecified(manager, summary, screenDescription);
     }
     else
     {
         LoadInSpecificTarget(manager, targetScreen, summary, screenDescription);
     }
 }