summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-09-29 07:43:50 -0400
committera1xd <[email protected]>2020-09-29 07:43:50 -0400
commit9bb5616061d823fa3632b0d99ba177ac2de74ade (patch)
tree9cc4f48bfedd64f46a3c391677be5c793c4af243
parentadd wrapper optimization (diff)
downloadrawaccel-9bb5616061d823fa3632b0d99ba177ac2de74ade.tar.xz
rawaccel-9bb5616061d823fa3632b0d99ba177ac2de74ade.zip
set invisible args to default values before write
-rw-r--r--grapher/Models/AccelGUI.cs2
-rw-r--r--grapher/Models/Options/AccelOptionSet.cs8
-rw-r--r--grapher/Models/Options/AccelTypeOptions.cs25
-rw-r--r--grapher/Models/Options/ApplyOptions.cs6
-rw-r--r--wrapper/wrapper.cpp1
5 files changed, 22 insertions, 20 deletions
diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs
index 15a0c0e..11685ee 100644
--- a/grapher/Models/AccelGUI.cs
+++ b/grapher/Models/AccelGUI.cs
@@ -84,7 +84,7 @@ namespace grapher
},
combineMagnitudes = ApplyOptions.IsWhole,
modes = ApplyOptions.GetModes(),
- args = ApplyOptions.GetUpdatedArgs(ref driverSettings.args),
+ args = ApplyOptions.GetArgs(),
minimumTime = driverSettings.minimumTime
};
diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs
index 53c39af..11a7f10 100644
--- a/grapher/Models/Options/AccelOptionSet.cs
+++ b/grapher/Models/Options/AccelOptionSet.cs
@@ -98,14 +98,14 @@ namespace grapher.Models.Options
Options.Top = TopAnchor;
}
- public void SetArgs(ref AccelArgs args, ref /*readonly*/ AccelArgs last)
+ public void SetArgs(ref AccelArgs args)
{
- Options.SetArgs(ref args, ref last);
+ Options.SetArgs(ref args);
}
- public AccelArgs GenerateArgs(ref /*readonly*/ AccelArgs last)
+ public AccelArgs GenerateArgs()
{
- return Options.GenerateArgs(ref last);
+ return Options.GenerateArgs();
}
public void SetActiveValues(int mode, AccelArgs args)
diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs
index 9a4ab7c..f9ecac1 100644
--- a/grapher/Models/Options/AccelTypeOptions.cs
+++ b/grapher/Models/Options/AccelTypeOptions.cs
@@ -225,24 +225,25 @@ namespace grapher
Width = Acceleration.Field.Width;
}
- public void SetArgs(ref AccelArgs args, ref /*readonly*/ AccelArgs last)
+ public void SetArgs(ref AccelArgs args)
{
- args.acceleration = Acceleration.Visible ? Acceleration.Field.Data : last.acceleration;
- args.scale = Scale.Visible ? Scale.Field.Data : last.scale;
- args.gainCap = Cap.VelocityGainCap;
- args.scaleCap = Cap.SensitivityCap;
- args.limit = Limit.Visible ? Limit.Field.Data : last.limit;
- args.exponent = Exponent.Visible ? Exponent.Field.Data : last.exponent;
- args.offset = Offset.Offset;
+ AccelArgs defaults = (AccelArgs)DriverInterop.DefaultArgs;
+ args.acceleration = Acceleration.Visible ? Acceleration.Field.Data : defaults.acceleration;
+ args.scale = Scale.Visible ? Scale.Field.Data : defaults.scale;
+ args.gainCap = Cap.Visible ? Cap.VelocityGainCap : defaults.gainCap;
+ args.scaleCap = Cap.Visible ? Cap.SensitivityCap : defaults.scaleCap;
+ args.limit = Limit.Visible ? Limit.Field.Data : defaults.limit;
+ args.exponent = Exponent.Visible ? Exponent.Field.Data : defaults.exponent;
+ args.offset = Offset.Visible ? Offset.Offset : defaults.offset;
args.legacyOffset = Offset.IsLegacy;
- args.midpoint = Midpoint.Visible ? Midpoint.Field.Data : last.midpoint;
- args.weight = Weight.Visible ? Weight.Field.Data : last.weight;
+ args.midpoint = Midpoint.Visible ? Midpoint.Field.Data : defaults.midpoint;
+ args.weight = Weight.Visible ? Weight.Field.Data : defaults.weight;
}
- public AccelArgs GenerateArgs(ref /*readonly*/ AccelArgs last)
+ public AccelArgs GenerateArgs()
{
AccelArgs args = new AccelArgs();
- SetArgs(ref args, ref last);
+ SetArgs(ref args);
return args;
}
diff --git a/grapher/Models/Options/ApplyOptions.cs b/grapher/Models/Options/ApplyOptions.cs
index 51c80ea..c2ed498 100644
--- a/grapher/Models/Options/ApplyOptions.cs
+++ b/grapher/Models/Options/ApplyOptions.cs
@@ -89,14 +89,14 @@ namespace grapher.Models.Options
};
}
- public Vec2<AccelArgs> GetUpdatedArgs(ref /*readonly*/ Vec2<AccelArgs> last)
+ public Vec2<AccelArgs> GetArgs()
{
- var xArgs = OptionSetX.GenerateArgs(ref last.x);
+ var xArgs = OptionSetX.GenerateArgs();
return new Vec2<AccelArgs>
{
x = xArgs,
- y = ByComponentVectorXYLock.Checked ? xArgs : OptionSetY.GenerateArgs(ref last.y)
+ y = ByComponentVectorXYLock.Checked ? xArgs : OptionSetY.GenerateArgs()
};
}
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index ebc4a2e..c5834d9 100644
--- a/wrapper/wrapper.cpp
+++ b/wrapper/wrapper.cpp
@@ -174,6 +174,7 @@ public:
public ref struct DriverInterop
{
literal double WriteDelayMs = WRITE_DELAY;
+ static initonly AccelArgs^ DefaultArgs = get_default()->args.x;
static DriverSettings^ GetActiveSettings()
{