diff options
| author | a1xd <[email protected]> | 2021-09-23 22:14:32 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-09-23 22:14:32 -0400 |
| commit | c67f04ad3793babc5e8f95205ca981c412703b27 (patch) | |
| tree | 5492df9f6a6f60f9d260c6554afbc615c3261382 | |
| parent | Merge pull request #105 from a1xd/1.5.x (diff) | |
| parent | fix - motivity not set from input (diff) | |
| download | rawaccel-c67f04ad3793babc5e8f95205ca981c412703b27.tar.xz rawaccel-c67f04ad3793babc5e8f95205ca981c412703b27.zip | |
Merge pull request #107 from a1xd/1.5.0-fix
1.5 pre-release fixes
| -rw-r--r-- | grapher/Constants/Constants.cs | 3 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartXY.cs | 7 | ||||
| -rw-r--r-- | grapher/Models/Options/AccelTypeOptions.cs | 14 | ||||
| -rw-r--r-- | grapher/Models/Options/LUT/LUTPanelOptions.cs | 16 |
4 files changed, 36 insertions, 4 deletions
diff --git a/grapher/Constants/Constants.cs b/grapher/Constants/Constants.cs index 703c488..383d7f4 100644 --- a/grapher/Constants/Constants.cs +++ b/grapher/Constants/Constants.cs @@ -146,6 +146,9 @@ namespace grapher /// <summary> Line Width For Series data on chart </summary> public const int ChartSeriesLineWidth = 3; + /// <summary> Marker size for last-mouse-move chart series. </summary> + public const int DotMarkerSize = 7; + /// <summary> Foreground Color When Streamer Mode Active </summary> public static readonly System.Drawing.Color fgStreamer = System.Drawing.Color.White; diff --git a/grapher/Models/Charts/ChartXY.cs b/grapher/Models/Charts/ChartXY.cs index c74929d..5143f9f 100644 --- a/grapher/Models/Charts/ChartXY.cs +++ b/grapher/Models/Charts/ChartXY.cs @@ -155,7 +155,7 @@ namespace grapher chart.Series[1].Points.Clear(); chart.Series[1].Points.AddXY(0, 0); - + area.AxisX.TitleFont = new System.Drawing.Font(area.AxisX.TitleFont.Name, Constants.ChartAxisFontSize, System.Drawing.FontStyle.Bold); area.AxisY.TitleFont = area.AxisX.TitleFont; @@ -166,6 +166,11 @@ namespace grapher chart.Series[2].BorderWidth = Constants.ChartSeriesLineWidth; chart.Series[2].MarkerSize = Constants.ChartSeriesLineWidth * 2; + for (int i = 1; i < chart.Series.Count; i += 2) + { + chart.Series[i].MarkerSize = Constants.DotMarkerSize; + } + area.AxisX.MinorGrid.Enabled = true; area.AxisX.MinorGrid.LineDashStyle = ChartDashStyle.Dot; diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs index e5b0fde..44c9ea8 100644 --- a/grapher/Models/Options/AccelTypeOptions.cs +++ b/grapher/Models/Options/AccelTypeOptions.cs @@ -271,7 +271,7 @@ namespace grapher GrowthRate.SetActiveValue(args.growthRate); Smooth.SetActiveValue(args.smooth); Scale.SetActiveValue(args.scale); - Limit.SetActiveValue(args.limit); + Limit.SetActiveValue((args.mode == AccelMode.motivity) ? args.motivity : args.limit); PowerClassic.SetActiveValue(args.power); Exponent.SetActiveValue(args.exponent); Midpoint.SetActiveValue(args.midpoint); @@ -319,7 +319,17 @@ namespace grapher if (Smooth.Visible) args.smooth = Smooth.Field.Data; if (Scale.Visible) args.scale = Scale.Field.Data; if (Cap.Visible) args.cap = Cap.Field.Data; - if (Limit.Visible) args.limit = Limit.Field.Data; + if (Limit.Visible) + { + if (args.mode == AccelMode.motivity) + { + args.motivity = Limit.Field.Data; + } + else + { + args.limit = Limit.Field.Data; + } + } if (PowerClassic.Visible) args.power = PowerClassic.Field.Data; if (Exponent.Visible)args.exponent = Exponent.Field.Data; if (Offset.Visible) args.offset = Offset.Field.Data; diff --git a/grapher/Models/Options/LUT/LUTPanelOptions.cs b/grapher/Models/Options/LUT/LUTPanelOptions.cs index 4357619..3690c76 100644 --- a/grapher/Models/Options/LUT/LUTPanelOptions.cs +++ b/grapher/Models/Options/LUT/LUTPanelOptions.cs @@ -135,17 +135,31 @@ namespace grapher.Models.Options.LUT private static (Vec2<float>[], int length) UserTextToPoints(string userText) { + const int MaxPoints = 256; + if (string.IsNullOrWhiteSpace(userText)) { throw new ApplicationException("Text must be entered in text box to fill Look Up Table."); } - Vec2<float>[] points = new Vec2<float>[256]; + Vec2<float>[] points = new Vec2<float>[MaxPoints]; var userTextSplit = userText.Trim().Trim(';').Split(';'); int index = 0; float lastX = 0; + int pointsCount = userTextSplit.Count(); + + if (pointsCount < 2) + { + throw new ApplicationException("At least 2 points required"); + } + + if (pointsCount > MaxPoints) + { + throw new ApplicationException($"Number of points exceeds max ({MaxPoints})"); + } + foreach(var pointEntry in userTextSplit) { var pointSplit = pointEntry.Trim().Split(','); |