summaryrefslogtreecommitdiff
path: root/wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'wrapper')
-rw-r--r--wrapper/wrapper.cpp12
-rw-r--r--wrapper/wrapper.hpp20
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();
}