summaryrefslogtreecommitdiff
path: root/wrapper
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-07-31 05:12:04 -0400
committerGitHub <[email protected]>2020-07-31 05:12:04 -0400
commitd5c012bcd5b7321671f9591a3e58d0b2c9507467 (patch)
treefe64110f7678607947d19c5ba0b46ea2b15d69c4 /wrapper
parentMerge pull request #5 from JacobPalecki/WrapperAndGrapher (diff)
parentupdate grapher/wrapper for st-refactor (diff)
downloadrawaccel-d5c012bcd5b7321671f9591a3e58d0b2c9507467.tar.xz
rawaccel-d5c012bcd5b7321671f9591a3e58d0b2c9507467.zip
Merge pull request #6 from a1xd/st-refactor
Refactor
Diffstat (limited to 'wrapper')
-rw-r--r--wrapper/wrapper.cpp9
-rw-r--r--wrapper/wrapper.hpp38
2 files changed, 24 insertions, 23 deletions
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index df3f796..26d05ec 100644
--- a/wrapper/wrapper.cpp
+++ b/wrapper/wrapper.cpp
@@ -5,10 +5,13 @@
using namespace rawaccel;
using namespace System;
-Tuple<double, double>^ ManagedAccel::Accelerate(int x, int y, double time, double mode)
+Tuple<double, double>^ ManagedAccel::Accelerate(int x, int y, double time)
{
- vec2d input_vec2d = {x, y};
- vec2d output = (*accel_instance)(input_vec2d, (accel_function::milliseconds)time, (rawaccel::mode)mode);
+ 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);
} \ No newline at end of file
diff --git a/wrapper/wrapper.hpp b/wrapper/wrapper.hpp
index 24bcadb..42f5865 100644
--- a/wrapper/wrapper.hpp
+++ b/wrapper/wrapper.hpp
@@ -1,52 +1,50 @@
#pragma once
#include "..\common\rawaccel.hpp";
-#include "..\common\rawaccel-userspace.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:
- accel_function* accel_instance;
+ mouse_modifier* modifier_instance;
public:
- ManagedAccel(accel_function* accel)
- : accel_instance(accel)
+ ManagedAccel(mouse_modifier* accel)
+ : modifier_instance(accel)
{
}
- ManagedAccel(double mode, double offset, double accel, double lim_exp, double midpoint)
+ ManagedAccel(System::IntPtr args)
{
- accel_function::args_t args{};
- args.accel = accel;
- args.lim_exp = lim_exp;
- args.midpoint = midpoint;
- args.accel_mode = (rawaccel::mode)mode;
- args.offset = offset;
-
- accel_instance = new accel_function(args);
+ modifier_instance = new mouse_modifier(*reinterpret_cast<modifier_args*>(args.ToPointer()));
}
virtual ~ManagedAccel()
{
- if (accel_instance != nullptr)
+ if (modifier_instance!= nullptr)
{
- delete accel_instance;
+ delete modifier_instance;
}
}
!ManagedAccel()
{
- if (accel_instance != nullptr)
+ if (modifier_instance!= nullptr)
{
- delete accel_instance;
+ delete modifier_instance;
}
}
- accel_function* GetInstance()
+ mouse_modifier* GetInstance()
{
- return accel_instance;
+ return modifier_instance;
}
- Tuple<double, double>^ Accelerate(int x, int y, double time, double mode);
+ Tuple<double, double>^ Accelerate(int x, int y, double time);
}; \ No newline at end of file