summaryrefslogtreecommitdiff
path: root/wrapper
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-08-22 22:33:45 -0400
committerGitHub <[email protected]>2020-08-22 22:33:45 -0400
commit252637e53ca42353061dc3118e8625af6edc348f (patch)
tree26ea73edae996242eaef559485309fb9c66f4d30 /wrapper
parentMerge pull request #15 from JacobPalecki/GUI (diff)
parentdelete personal settings.json left in repo (diff)
downloadrawaccel-252637e53ca42353061dc3118e8625af6edc348f.tar.xz
rawaccel-252637e53ca42353061dc3118e8625af6edc348f.zip
Merge pull request #16 from JacobPalecki/Misc
Gain Styles, Settings File, and other miscellaneous
Diffstat (limited to 'wrapper')
-rw-r--r--wrapper/wrapper.cpp30
-rw-r--r--wrapper/wrapper.hpp24
2 files changed, 39 insertions, 15 deletions
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index 6a92caa..dcc9606 100644
--- a/wrapper/wrapper.cpp
+++ b/wrapper/wrapper.cpp
@@ -5,16 +5,6 @@
using namespace rawaccel;
using namespace System;
-double ManagedAccel::GetSensitivityX()
-{
- return modifier_instance->sensitivity.x;
-}
-
-double ManagedAccel::GetSensitivityY()
-{
- return modifier_instance->sensitivity.y;
-}
-
Tuple<double, double>^ ManagedAccel::Accelerate(int x, int y, double time)
{
vec2d input_vec2d = {
@@ -41,7 +31,7 @@ void ManagedAccel::UpdateAccel(
double midpoint,
double gain_cap)
{
- modifier_args args{};
+ modifier_args args = modifier_args{};
args.acc_fn_args.accel_mode = mode;
args.degrees = rotation;
args.sens.x = sensitivityX;
@@ -62,8 +52,26 @@ void ManagedAccel::UpdateAccel(
delete temp_modifier;
ReadFromDriver();
+
}
+double ManagedAccel::SensitivityX::get() { return modifier_instance->sensitivity.x; }
+double ManagedAccel::SensitivityY::get() { return modifier_instance->sensitivity.y; }
+double ManagedAccel::Rotation::get() { return atan(modifier_instance->rotate.rot_vec.y / modifier_instance->rotate.rot_vec.x) * 180 / M_PI; }
+int ManagedAccel::Type::get() { return modifier_instance->accel_fn.accel.tag; }
+double ManagedAccel::Acceleration::get() { return modifier_instance->accel_fn.impl_args.accel; }
+double ManagedAccel::CapX::get() { return modifier_instance->accel_fn.clamp.x.hi; }
+double ManagedAccel::CapY::get() { return modifier_instance->accel_fn.clamp.y.hi; }
+double ManagedAccel::GainCap::get() { return modifier_instance->accel_fn.gain_cap.threshold; }
+bool ManagedAccel::GainCapEnabled::get() { return modifier_instance->accel_fn.gain_cap.cap_gain_enabled; }
+double ManagedAccel::WeightX::get() { return modifier_instance->accel_fn.impl_args.weight.x; }
+double ManagedAccel::WeightY::get() { return modifier_instance->accel_fn.impl_args.weight.y; }
+double ManagedAccel::Offset::get() { return modifier_instance->accel_fn.speed_offset; }
+double ManagedAccel::LimitExp::get() { return modifier_instance->accel_fn.impl_args.limit; }
+double ManagedAccel::Midpoint::get() { return modifier_instance->accel_fn.impl_args.midpoint; }
+double ManagedAccel::MinimumTime::get() { return modifier_instance->accel_fn.time_min; }
+double ManagedAccel::PowerScale::get() { return modifier_instance->accel_fn.impl_args.power_scale; }
+
void ManagedAccel::WriteToDriver()
{
driverWriter->writeToDriver(modifier_instance);
diff --git a/wrapper/wrapper.hpp b/wrapper/wrapper.hpp
index b086672..3643eb5 100644
--- a/wrapper/wrapper.hpp
+++ b/wrapper/wrapper.hpp
@@ -25,6 +25,9 @@ public:
driverWriter = new wrapper_io();
}
+ // Empty constructor needed for serialization
+ ManagedAccel() {}
+
virtual ~ManagedAccel()
{
if (modifier_instance!= nullptr)
@@ -40,10 +43,23 @@ public:
}
}
- double GetSensitivityX();
-
- double GetSensitivityY();
-
+ // Duplicate all relevant rawaccel struct members here for access and display in GUI
+ property double SensitivityX { double get(); }
+ property double SensitivityY { double get(); }
+ property double Rotation { double get(); }
+ property int Type { int get(); }
+ property double Acceleration { double get(); }
+ property bool GainCapEnabled { bool get(); }
+ property double CapX { double get(); }
+ property double CapY { double get(); }
+ property double GainCap { double get(); }
+ property double WeightX { double get(); }
+ property double WeightY { double get(); }
+ property double Offset { double get(); }
+ property double LimitExp { double get(); }
+ property double Midpoint { double get(); }
+ property double MinimumTime { double get(); }
+ property double PowerScale { double get(); }
mouse_modifier* GetInstance()
{
return modifier_instance;