Esempio n. 1
0
        void UpdateDisplay(EvCapability parameter)
        {
            if (parameter == null || parameter.Candidate == null)
            {
                return;
            }

            Slider.Minimum = parameter.Candidate.MinIndex;
            Slider.Maximum = parameter.Candidate.MaxIndex;
            if (parameter.CurrentIndex < parameter.Candidate.MinIndex || parameter.CurrentIndex > parameter.Candidate.MaxIndex)
            {
                return;
            }
            Slider.Value = parameter.CurrentIndex;

            var max = EvConverter.GetEv(parameter.Candidate.MaxIndex, parameter.Candidate.IndexStep);

            MaxLabel.Text = Math.Round(max, 1, MidpointRounding.AwayFromZero).ToString("0.0");

            var min = EvConverter.GetEv(parameter.Candidate.MinIndex, parameter.Candidate.IndexStep);

            MinLabel.Text = Math.Round(min, 1, MidpointRounding.AwayFromZero).ToString("0.0");

            var center = EvConverter.GetEv(0, parameter.Candidate.IndexStep);

            CenterLabel.Text = Math.Round(center, 1, MidpointRounding.AwayFromZero).ToString("0.0");
        }
Esempio n. 2
0
 public static int GetSelectedIndex(EvCapability info)
 {
     if (info == null || info.Candidate == null)
     {
         return(0);
     }
     return(info.CurrentIndex);
 }
Esempio n. 3
0
        void UpdateDisplay(EvCapability parameter)
        {
            if (parameter == null || parameter.Candidate == null)
            {
                return;
            }

            Slider.Minimum = parameter.Candidate.MinIndex;
            Slider.Maximum = parameter.Candidate.MaxIndex;
            if (parameter.CurrentIndex < parameter.Candidate.MinIndex || parameter.CurrentIndex > parameter.Candidate.MaxIndex)
            {
                return;
            }
            Slider.Value = parameter.CurrentIndex;

            var max = EvConverter.GetEv(parameter.Candidate.MaxIndex, parameter.Candidate.IndexStep);

            MaxLabel.Text = Math.Round(max, 1, MidpointRounding.AwayFromZero).ToString("0.0");

            var min = EvConverter.GetEv(parameter.Candidate.MinIndex, parameter.Candidate.IndexStep);

            MinLabel.Text = Math.Round(min, 1, MidpointRounding.AwayFromZero).ToString("0.0");

            var center = EvConverter.GetEv(0, parameter.Candidate.IndexStep);

            CenterLabel.Text = Math.Round(center, 1, MidpointRounding.AwayFromZero).ToString("0.0");

            var    labels = new Dictionary <int, string>();
            double unit   = parameter.Candidate.IndexStep == EvStepDefinition.EV_1_3 ? 1.0 / 3.0 : 0.5;

            for (int i = parameter.Candidate.MinIndex; i <= parameter.Candidate.MaxIndex; i++)
            {
                var value    = EvConverter.GetEv(i, parameter.Candidate.IndexStep);
                var strValue = Math.Round(value, 1, MidpointRounding.AwayFromZero).ToString("0.0");

                if (value < 0)
                {
                    strValue = "EV " + strValue;
                }
                else if (value == 0.0f)
                {
                    strValue = "EV " + strValue;
                }
                else
                {
                    strValue = "EV +" + strValue;
                }
                labels.Add(i, strValue);
            }

            Slider.ThumbToolTipValueConverter = new EvValueConverter()
            {
                Labels = labels
            };
        }
Esempio n. 4
0
        public static List <string> FromExposureCompensation(EvCapability info)
        {
            if (info == null)
            {
                var disabled = SystemUtil.GetStringResource("Disabled");
                var list     = new List <string>();
                list.Add(disabled);
                return(list);
            }

            int num         = info.Candidate.MaxIndex + Math.Abs(info.Candidate.MinIndex) + 1;
            var mCandidates = new List <string>(num);

            for (int i = 0; i < num; i++)
            {
                DebugUtil.Log(() => "ev: " + i);
                mCandidates.Add(FromExposureCompensation(i + info.Candidate.MinIndex, info.Candidate.IndexStep));
            }

            return(mCandidates);
        }