CamTimer.Controls.WebcamConfigurationPicker.SetResolutions C# (CSharp) Method

SetResolutions() private method

private SetResolutions ( WebcamConfiguration resolutions ) : void
resolutions WebcamConfiguration
return void
        internal void SetResolutions(WebcamConfiguration[] resolutions)
        {
            if (resolutions.Length == 0) {
                Enabled = false;
                return;
            } else {
                Enabled = true;
            }

            m_resolutions = resolutions;

            // gather a distinct list of resolutions and sort it
            m_distinctResolutions.Clear();
            for (int x = 0; x < m_resolutions.Length; x++) {
                if (!m_distinctResolutions.Contains(m_resolutions[x].Size)) {
                    m_distinctResolutions.Add(m_resolutions[x].Size);
                }
            }
            m_distinctResolutions.Sort((Comparison<Size>)delegate(Size x, Size y) {
                if ((x.Width == y.Width) && (x.Height == y.Height)) {
                    return 0;
                } else if ((x.Width < y.Width) && (x.Height < y.Height)) {
                    return -2;
                } else if ((y.Width < x.Width) && (y.Height < x.Height)) {
                    return 2;
                } else if (x.Width < y.Width) {
                    return -1;
                } else {
                    return 1;
                }
            });

            webCamResolution.Minimum = 0;
            webCamResolution.Maximum = m_distinctResolutions.Count - 1;
            webCamResolution.SmallChange = 1;
            webCamResolution.LargeChange = 1;
            webCamResolution.Value = m_distinctResolutions.Count - 1;
            webCamResolution_Scroll(null, null);

            // try default to 640x480x24
            FocusItem(new Size(640, 480), 24);
        }