diff options
| -rw-r--r-- | grapher/Form1.cs | 96 | ||||
| -rw-r--r-- | wrapper/wrapper.cpp | 23 | ||||
| -rw-r--r-- | wrapper/wrapper.hpp | 14 |
3 files changed, 103 insertions, 30 deletions
diff --git a/grapher/Form1.cs b/grapher/Form1.cs index 431dd53..d1244f3 100644 --- a/grapher/Form1.cs +++ b/grapher/Form1.cs @@ -17,7 +17,18 @@ namespace grapher public RawAcceleration() { InitializeComponent(); + ManagedAcceleration = new ManagedAccel(5, 0, 0.3, 1.25, 15); + AccelerationType = 5; + Sensitivity = new VectorXY(1); + Rotation = 0; + Weight = new VectorXY(1); + Cap = new VectorXY(0); + Offset = 0; + Acceleration = 0; + LimitOrExponent = 1.01; + Midpoint = 0; + UpdateGraph(); this.AccelerationChart.ChartAreas[0].AxisX.RoundAxisValues(); @@ -38,11 +49,8 @@ namespace grapher this.AccelerationChart.ChartAreas[0].CursorX.IsUserEnabled = true; this.AccelerationChart.ChartAreas[0].CursorY.IsUserEnabled = true; - - Acceleration = 0; - LimitOrExponent = 1.01; - Midpoint = 0; } + #endregion Constructor #region Properties @@ -51,13 +59,13 @@ namespace grapher private int AccelerationType { get; set; } - private double Sensitivity { get; set; } + private VectorXY Sensitivity { get; set; } private double Rotation { get; set; } - private Tuple<double, double> Weight { get; set; } + private VectorXY Weight { get; set; } - private double Cap { get; set; } + private VectorXY Cap { get; set; } private double Offset { get; set; } @@ -98,7 +106,7 @@ namespace grapher var inMagnitude = Magnitude(i,j); var outMagnitude = Magnitude(output.Item1, output.Item2); - var ratio = inMagnitude > 0 ? outMagnitude / inMagnitude : 0; + var ratio = inMagnitude > 0 ? outMagnitude / inMagnitude : Sensitivity.X; if (!orderedPoints.ContainsKey(inMagnitude)) { @@ -116,23 +124,6 @@ namespace grapher } } - #endregion Methods - - private void writeButton_Click(object sender, EventArgs e) - { - ManagedAcceleration.UpdateAccel(5, 0, Acceleration, LimitOrExponent, Midpoint); - ManagedAcceleration.WriteToDriver(); - UpdateGraph(); - } - - private void sensitivityBox_KeyDown(object sender, KeyEventArgs e) - { - if (TryHandleWithEnter(e, sender, out double data)) - { - Sensitivity = data; - } - } - private bool TryHandleWithEnter(KeyEventArgs e, object sender, out double data) { bool validEntry = false; @@ -156,6 +147,32 @@ namespace grapher return validEntry; } + private void writeButton_Click(object sender, EventArgs e) + { + ManagedAcceleration.UpdateAccel( + AccelerationType, + Sensitivity.X, + Sensitivity.Y, + Weight.X, + Weight.Y, + Cap.X, + Cap.Y, + Offset, + Acceleration, + LimitOrExponent, + Midpoint); + ManagedAcceleration.WriteToDriver(); + UpdateGraph(); + } + + private void sensitivityBox_KeyDown(object sender, KeyEventArgs e) + { + if (TryHandleWithEnter(e, sender, out double data)) + { + Sensitivity.SetBoth(data); + } + } + private void accelerationBox_KeyDown(object sender, KeyEventArgs e) { if (TryHandleWithEnter(e, sender, out double data)) @@ -176,7 +193,7 @@ namespace grapher { if (TryHandleWithEnter(e, sender, out double data)) { - Cap = data; + Cap.SetBoth(data); } } @@ -203,5 +220,32 @@ namespace grapher Midpoint = data; } } + + #endregion Methods + + public class VectorXY + { + public VectorXY(double x) + { + X = x; + Y = x; + } + + public VectorXY(double x, double y) + { + X = x; + Y = y; + } + + public double X { get; set; } + + public double Y { get; set; } + + public void SetBoth(double value) + { + X = value; + Y = value; + } + } } } diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp index ebf44cf..e1aa35e 100644 --- a/wrapper/wrapper.cpp +++ b/wrapper/wrapper.cpp @@ -12,16 +12,33 @@ Tuple<double, double>^ ManagedAccel::Accelerate(int x, int y, double time) return gcnew Tuple<double, double>(output.x, output.y); } -void ManagedAccel::UpdateAccel(int mode, double offset, double accel, double lim_exp, double midpoint) +void ManagedAccel::UpdateAccel( + int mode, + double sensitivityX, + double sensitivityY, + double weightX, + double weightY, + double capX, + double capY, + double offset, + double accel, + double lim_exp, + double midpoint) { delete modifier_instance; modifier_args args{}; + args.acc_fn_args.accel_mode = mode; + args.sens.x = sensitivityX; + args.sens.y = sensitivityY; + args.acc_fn_args.weight.x = weightX; + args.acc_fn_args.weight.y = weightY; + args.acc_fn_args.cap.x = capX; + args.acc_fn_args.cap.y = capY; + args.acc_fn_args.acc_args.offset = offset; args.acc_fn_args.acc_args.accel = accel; args.acc_fn_args.acc_args.lim_exp = lim_exp; args.acc_fn_args.acc_args.midpoint = midpoint; - args.acc_fn_args.accel_mode = mode; - args.acc_fn_args.acc_args.offset = offset; modifier_instance = new mouse_modifier(args); } diff --git a/wrapper/wrapper.hpp b/wrapper/wrapper.hpp index 5ea94fa..b8f0751 100644 --- a/wrapper/wrapper.hpp +++ b/wrapper/wrapper.hpp @@ -52,7 +52,19 @@ public: Tuple<double, double>^ Accelerate(int x, int y, double time); - void UpdateAccel(int mode, double offset, double accel, double lim_exp, double midpoint); + void UpdateAccel( + int mode, + double sensitivityX, + double sensitivityY, + double weightX, + double weightY, + double capX, + double capY, + double offset, + double accel, + double lim_exp, + double midpoint); + void WriteToDriver(); };
\ No newline at end of file |