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"); }
public static int GetSelectedIndex(EvCapability info) { if (info == null || info.Candidate == null) { return(0); } return(info.CurrentIndex); }
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 }; }
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); }