diff options
Diffstat (limited to 'wrapper')
| -rw-r--r-- | wrapper/wrapper.cpp | 12 | ||||
| -rw-r--r-- | wrapper/wrapper.hpp | 20 |
2 files changed, 18 insertions, 14 deletions
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp index de2916c..ceee1a1 100644 --- a/wrapper/wrapper.cpp +++ b/wrapper/wrapper.cpp @@ -6,7 +6,10 @@ using namespace System; Tuple<double, double>^ ManagedAccel::Accelerate(int x, int y, double time) { - vec2d input_vec2d = {x, y}; + vec2d input_vec2d = { + (double)x, + (double)y + }; vec2d output = (*modifier_instance).modify_with_accel(input_vec2d, (milliseconds)time); return gcnew Tuple<double, double>(output.x, output.y); @@ -33,13 +36,14 @@ void ManagedAccel::UpdateAccel( args.degrees = rotation; 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.acc_args.weight.x = weightX; + args.acc_fn_args.acc_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.limit = lim_exp; + args.acc_fn_args.acc_args.exponent = lim_exp; args.acc_fn_args.acc_args.midpoint = midpoint; modifier_instance = new mouse_modifier(args); diff --git a/wrapper/wrapper.hpp b/wrapper/wrapper.hpp index ff2720c..870aca7 100644 --- a/wrapper/wrapper.hpp +++ b/wrapper/wrapper.hpp @@ -1,11 +1,17 @@ #pragma once -#include "..\common\error.hpp" #include "wrapper_writer.hpp" +#include "..\common\rawaccel.hpp"; +#include "..\common\accel-error.hpp"; #include <iostream> using namespace rawaccel; using namespace System; + +public value struct ArgsWrapper { + int a; +}; + public ref class ManagedAccel { protected: @@ -15,18 +21,12 @@ public: ManagedAccel(mouse_modifier* accel) : modifier_instance(accel) { + driverWriter = new writer(); } - ManagedAccel(int mode, double offset, double accel, double lim_exp, double midpoint) + ManagedAccel(System::IntPtr args) { - modifier_args args{}; - 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); + modifier_instance = new mouse_modifier(*reinterpret_cast<modifier_args*>(args.ToPointer())); driverWriter = new writer(); } |