diff options
| author | JacobPalecki <[email protected]> | 2020-08-31 23:03:46 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-08-31 23:03:46 -0700 |
| commit | 471fe599bab6ba0632ddd1dacd20c7fc42db0eee (patch) | |
| tree | 90a82ee14dbb112621657efbd2523ed35f59d154 /grapher/Models/AccelGUI.cs | |
| parent | Merge pull request #16 from JacobPalecki/Misc (diff) | |
| parent | add independent xy accel to driver (diff) | |
| download | rawaccel-471fe599bab6ba0632ddd1dacd20c7fc42db0eee.tar.xz rawaccel-471fe599bab6ba0632ddd1dacd20c7fc42db0eee.zip | |
Merge pull request #17 from a1xd/indep
Indep
Diffstat (limited to 'grapher/Models/AccelGUI.cs')
| -rw-r--r-- | grapher/Models/AccelGUI.cs | 72 |
1 files changed, 48 insertions, 24 deletions
diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs index e0dcc03..a15dba8 100644 --- a/grapher/Models/AccelGUI.cs +++ b/grapher/Models/AccelGUI.cs @@ -2,6 +2,7 @@ using grapher.Models.Mouse; using grapher.Models.Serialized; using System; +using System.CodeDom; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; @@ -101,41 +102,64 @@ namespace grapher public void UpdateActiveSettingsFromFields() { - Settings.UpdateActiveSettings( - AccelerationOptions.AccelerationIndex, - Rotation.Field.Data, - Sensitivity.Fields.X, - Sensitivity.Fields.Y, - Weight.Fields.X, - Weight.Fields.Y, - Cap.SensitivityCapX, - Cap.SensitivityCapY, - Offset.Field.Data, - Acceleration.Field.Data, - LimitOrExponent.Field.Data, - Midpoint.Field.Data, - Cap.VelocityGainCap); + Settings.UpdateActiveSettings(new DriverSettings + { + rotation = Rotation.Field.Data, + sensitivity = new Vec2<double> + { + x = Sensitivity.Fields.X, + y = Sensitivity.Fields.Y + }, + combineMagnitudes = true, + modes = new Vec2<AccelMode> + { + x = (AccelMode)AccelerationOptions.AccelerationIndex + }, + args = new Vec2<AccelArgs> + { + x = new AccelArgs + { + offset = Offset.Field.Data, + weight = Weight.Fields.X, + gainCap = Cap.VelocityGainCap, + scaleCap = Cap.SensitivityCapX, + accel = Acceleration.Field.Data, + rate = Acceleration.Field.Data, + powerScale = Acceleration.Field.Data, + limit = LimitOrExponent.Field.Data, + exponent = LimitOrExponent.Field.Data, + powerExponent = LimitOrExponent.Field.Data, + midpoint = Midpoint.Field.Data + } + }, + minimumTime = .4 + }); UpdateGraph(); } public void UpdateGraph() { - AccelCalculator.Calculate(AccelCharts.AccelData, Settings.ActiveAccel); + AccelCalculator.Calculate( + AccelCharts.AccelData, + Settings.ActiveAccel, + Settings.RawAccelSettings.AccelerationSettings); AccelCharts.Bind(); UpdateActiveValueLabels(); } public void UpdateActiveValueLabels() { - Sensitivity.SetActiveValues(Settings.ActiveAccel.SensitivityX, Settings.ActiveAccel.SensitivityY); - Rotation.SetActiveValue(Settings.ActiveAccel.Rotation); - AccelerationOptions.SetActiveValue(Settings.ActiveAccel.Type); - Offset.SetActiveValue(Settings.ActiveAccel.Offset); - Acceleration.SetActiveValue(Settings.ActiveAccel.Acceleration); - Cap.SetActiveValues(Settings.ActiveAccel.GainCap, Settings.ActiveAccel.CapX, Settings.ActiveAccel.CapY, Settings.ActiveAccel.GainCapEnabled); - Weight.SetActiveValues(Settings.ActiveAccel.WeightX, Settings.ActiveAccel.WeightY); - LimitOrExponent.SetActiveValue(Settings.ActiveAccel.LimitExp); - Midpoint.SetActiveValue(Settings.ActiveAccel.Midpoint); + var settings = Settings.RawAccelSettings.AccelerationSettings; + + Sensitivity.SetActiveValues(settings.sensitivity.x, settings.sensitivity.y); + Rotation.SetActiveValue(settings.rotation); + AccelerationOptions.SetActiveValue((int)settings.modes.x); + Offset.SetActiveValue(settings.args.x.offset); + Weight.SetActiveValues(settings.args.x.weight, settings.args.x.weight); + Acceleration.SetActiveValue(settings.args.x.accel); // rate, powerscale + LimitOrExponent.SetActiveValue(settings.args.x.limit); //exp, powerexp + Midpoint.SetActiveValue(settings.args.x.midpoint); + //Cap.SetActiveValues(Settings.ActiveAccel.GainCap, Settings.ActiveAccel.CapX, Settings.ActiveAccel.CapY, Settings.ActiveAccel.GainCapEnabled); } private void OnScaleMenuItemClick(object sender, EventArgs e) |