summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grapher/Form1.cs96
-rw-r--r--wrapper/wrapper.cpp23
-rw-r--r--wrapper/wrapper.hpp14
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