summaryrefslogtreecommitdiff
path: root/wrapper
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-07-31 17:56:46 -0400
committerGitHub <[email protected]>2020-07-31 17:56:46 -0400
commit1fcbb0fa51dbc35958d211026e4d40384a049049 (patch)
treeefb65bf3f305f376ea75f4f687b08bf8998c020f /wrapper
parentMerge pull request #6 from a1xd/st-refactor (diff)
parentShow no settings for off, remove unused class for PR (diff)
downloadrawaccel-1fcbb0fa51dbc35958d211026e4d40384a049049.tar.xz
rawaccel-1fcbb0fa51dbc35958d211026e4d40384a049049.zip
Merge pull request #7 from JacobPalecki/GUI
Add GUI
Diffstat (limited to 'wrapper')
-rw-r--r--wrapper/wrapper.cpp44
-rw-r--r--wrapper/wrapper.hpp21
-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, 86 insertions, 3 deletions
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index 26d05ec..ceee1a1 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;
@@ -14,4 +13,43 @@ 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 rotation,
+ double sensitivityX,
+ double sensitivityY,
+ double weightX,
+ double weightY,
+ double capX,
+ double capY,
+ double offset,
+ double accel,
+ double lim_exp,
+ double midpoint)
+{
+ delete modifier_instance;
+
+ modifier_args args{};
+ args.acc_fn_args.accel_mode = mode;
+ args.degrees = rotation;
+ args.sens.x = sensitivityX;
+ args.sens.y = sensitivityY;
+ 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.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);
+}
+
+void ManagedAccel::WriteToDriver()
+{
+ driverWriter->writeToDriver(modifier_instance);
+}
diff --git a/wrapper/wrapper.hpp b/wrapper/wrapper.hpp
index 42f5865..870aca7 100644
--- a/wrapper/wrapper.hpp
+++ b/wrapper/wrapper.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include "wrapper_writer.hpp"
#include "..\common\rawaccel.hpp";
#include "..\common\accel-error.hpp";
#include <iostream>
@@ -15,15 +16,18 @@ public ref class ManagedAccel
{
protected:
mouse_modifier* modifier_instance;
+ writer* driverWriter;
public:
ManagedAccel(mouse_modifier* accel)
: modifier_instance(accel)
{
+ driverWriter = new writer();
}
ManagedAccel(System::IntPtr args)
{
modifier_instance = new mouse_modifier(*reinterpret_cast<modifier_args*>(args.ToPointer()));
+ driverWriter = new writer();
}
virtual ~ManagedAccel()
@@ -47,4 +51,21 @@ public:
}
Tuple<double, double>^ Accelerate(int x, int y, double time);
+
+ void UpdateAccel(
+ int mode,
+ double rotation,
+ double sensitivityX,
+ double sensitivityY,
+ double weightX,
+ double weightY,
+ double capX,
+ double capY,
+ 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