summaryrefslogtreecommitdiff
path: root/wrapper
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2020-07-29 15:39:39 -0700
committerJacob Palecki <[email protected]>2020-07-29 15:39:39 -0700
commit0a8effcccac92ffd591f94c276fb797dd31f51ab (patch)
tree8e2185a334e5c7dbfc0e219b164ef9c89e209f42 /wrapper
parentAdded skeleton for input fields (diff)
downloadrawaccel-0a8effcccac92ffd591f94c276fb797dd31f51ab.tar.xz
rawaccel-0a8effcccac92ffd591f94c276fb797dd31f51ab.zip
Compiles but may file
Diffstat (limited to 'wrapper')
-rw-r--r--wrapper/wrapper.cpp24
-rw-r--r--wrapper/wrapper.hpp10
-rw-r--r--wrapper/wrapper.vcxproj2
-rw-r--r--wrapper/wrapper.vcxproj.filters6
-rw-r--r--wrapper/wrapper_writer.cpp9
-rw-r--r--wrapper/wrapper_writer.hpp7
6 files changed, 53 insertions, 5 deletions
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index c1cc570..ebf44cf 100644
--- a/wrapper/wrapper.cpp
+++ b/wrapper/wrapper.cpp
@@ -1,7 +1,6 @@
#pragma once
-#include "..\common\rawaccel.hpp";
-#include "wrapper.hpp";
+#include "wrapper.hpp"
using namespace rawaccel;
using namespace System;
@@ -11,4 +10,23 @@ Tuple<double, double>^ ManagedAccel::Accelerate(int x, int y, double time)
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
+}
+
+void ManagedAccel::UpdateAccel(int mode, double offset, double accel, double lim_exp, double midpoint)
+{
+ delete modifier_instance;
+
+ 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);
+}
+
+void ManagedAccel::WriteToDriver()
+{
+ driverWriter->writeToDriver(modifier_instance);
+}
diff --git a/wrapper/wrapper.hpp b/wrapper/wrapper.hpp
index 19b0987..5ea94fa 100644
--- a/wrapper/wrapper.hpp
+++ b/wrapper/wrapper.hpp
@@ -1,7 +1,7 @@
#pragma once
-#include "..\common\rawaccel.hpp";
-#include "..\common\error.hpp";
+#include "..\common\error.hpp"
+#include "wrapper_writer.hpp"
#include <iostream>
using namespace rawaccel;
using namespace System;
@@ -10,6 +10,7 @@ public ref class ManagedAccel
{
protected:
mouse_modifier* modifier_instance;
+ writer* driverWriter;
public:
ManagedAccel(mouse_modifier* accel)
: modifier_instance(accel)
@@ -26,6 +27,7 @@ public:
args.acc_fn_args.acc_args.offset = offset;
modifier_instance = new mouse_modifier(args);
+ driverWriter = new writer();
}
virtual ~ManagedAccel()
@@ -49,4 +51,8 @@ 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 WriteToDriver();
}; \ No newline at end of file
diff --git a/wrapper/wrapper.vcxproj b/wrapper/wrapper.vcxproj
index d27266d..28acbe7 100644
--- a/wrapper/wrapper.vcxproj
+++ b/wrapper/wrapper.vcxproj
@@ -116,9 +116,11 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="wrapper.hpp" />
+ <ClInclude Include="wrapper_writer.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="wrapper.cpp" />
+ <ClCompile Include="wrapper_writer.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/wrapper/wrapper.vcxproj.filters b/wrapper/wrapper.vcxproj.filters
index 22d967d..28b22ba 100644
--- a/wrapper/wrapper.vcxproj.filters
+++ b/wrapper/wrapper.vcxproj.filters
@@ -18,10 +18,16 @@
<ClInclude Include="wrapper.hpp">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="wrapper_writer.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="wrapper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="wrapper_writer.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/wrapper/wrapper_writer.cpp b/wrapper/wrapper_writer.cpp
new file mode 100644
index 0000000..0a74105
--- /dev/null
+++ b/wrapper/wrapper_writer.cpp
@@ -0,0 +1,9 @@
+#pragma once
+
+#include "..\console\console_write.cpp"
+#include "wrapper_writer.hpp"
+
+void writer::writeToDriver(rawaccel::mouse_modifier* modifier)
+{
+ write(*modifier);
+}
diff --git a/wrapper/wrapper_writer.hpp b/wrapper/wrapper_writer.hpp
new file mode 100644
index 0000000..591f62f
--- /dev/null
+++ b/wrapper/wrapper_writer.hpp
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "..\common\rawaccel.hpp"
+
+struct writer {
+ void writeToDriver(rawaccel::mouse_modifier* modifier);
+}; \ No newline at end of file