summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authora1xd <[email protected]>2021-09-23 22:14:32 -0400
committerGitHub <[email protected]>2021-09-23 22:14:32 -0400
commitc67f04ad3793babc5e8f95205ca981c412703b27 (patch)
tree5492df9f6a6f60f9d260c6554afbc615c3261382
parentMerge pull request #105 from a1xd/1.5.x (diff)
parentfix - motivity not set from input (diff)
downloadrawaccel-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.cs3
-rw-r--r--grapher/Models/Charts/ChartXY.cs7
-rw-r--r--grapher/Models/Options/AccelTypeOptions.cs14
-rw-r--r--grapher/Models/Options/LUT/LUTPanelOptions.cs16
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(',');