public VideoRenderingController(frmMain mainForm, CameraStateManager stateManager, FrameAnalysisManager analysisManager)
        {
            m_MainForm = mainForm;
            this.stateManager = stateManager;
            this.analysisManager = analysisManager;

            running = true;
            previewOn = true;

            m_DisplayIntensifyMode = Settings.Default.DisplayIntensifyMode;
            m_DisplayInvertedMode = Settings.Default.UseInvertedDisplayMode;
            m_DisplayHueIntensityMode = Settings.Default.UseHueIntensityDisplayMode;

            m_MainForm.tsmiHueIntensity.Checked = m_DisplayHueIntensityMode;
            m_MainForm.tsmiInverted.Checked = m_DisplayInvertedMode;
            m_MainForm.tsmiOff.Checked = m_DisplayIntensifyMode == DisplayIntensifyMode.Off;
            m_MainForm.tsmiLo.Checked = m_DisplayIntensifyMode == DisplayIntensifyMode.Lo;
            m_MainForm.tsmiHigh.Checked = m_DisplayIntensifyMode == DisplayIntensifyMode.Hi;

            cameraImage = new CameraImage();

            ThreadPool.QueueUserWorkItem(new WaitCallback(DisplayVideoFrames));
        }
        public void SetDisplayIntensifyMode(DisplayIntensifyMode newMode)
        {
            m_DisplayIntensifyMode = newMode;

            Settings.Default.DisplayIntensifyMode = newMode;
            Settings.Default.Save();
        }