summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2020-09-26 13:43:13 -0700
committerJacob Palecki <[email protected]>2020-09-26 13:43:13 -0700
commit0ce82f408b9c182cde407fcb0d3c98223c314ea9 (patch)
tree050b32e2a1bf43f8bcff9e5600c50fee380a7cc0
parentFAQ has conversion instructions (diff)
downloadrawaccel-0ce82f408b9c182cde407fcb0d3c98223c314ea9.tar.xz
rawaccel-0ce82f408b9c182cde407fcb0d3c98223c314ea9.zip
Scale Last Mouse Move by poll rate
-rw-r--r--grapher/Models/AccelGUI.cs4
-rw-r--r--grapher/Models/AccelGUIFactory.cs5
-rw-r--r--grapher/Models/Mouse/MouseWatcher.cs16
3 files changed, 20 insertions, 5 deletions
diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs
index cc86ff7..1fff4c3 100644
--- a/grapher/Models/AccelGUI.cs
+++ b/grapher/Models/AccelGUI.cs
@@ -19,7 +19,7 @@ namespace grapher
SettingsManager settings,
ApplyOptions applyOptions,
Button writeButton,
- Label mouseMoveLabel,
+ MouseWatcher mouseWatcher,
ToolStripMenuItem scaleMenuItem)
{
AccelForm = accelForm;
@@ -32,7 +32,7 @@ namespace grapher
Settings.Startup();
RefreshOnRead();
- MouseWatcher = new MouseWatcher(AccelForm, mouseMoveLabel, AccelCharts);
+ MouseWatcher = mouseWatcher;
ScaleMenuItem.Click += new System.EventHandler(OnScaleMenuItemClick);
WriteButton.Click += new System.EventHandler(OnWriteButtonClick);
diff --git a/grapher/Models/AccelGUIFactory.cs b/grapher/Models/AccelGUIFactory.cs
index d986369..469fcf7 100644
--- a/grapher/Models/AccelGUIFactory.cs
+++ b/grapher/Models/AccelGUIFactory.cs
@@ -1,4 +1,5 @@
using grapher.Models.Calculations;
+using grapher.Models.Mouse;
using grapher.Models.Options;
using grapher.Models.Serialized;
using System.Windows.Forms;
@@ -289,6 +290,8 @@ namespace grapher.Models
showLastMouseMoveMenuItem,
showVelocityGainToolStripMenuItem);
+ var mouseWatcher = new MouseWatcher(form, mouseLabel, accelCharts, accelCalculator.PollRate);
+
return new AccelGUI(
form,
accelCalculator,
@@ -296,7 +299,7 @@ namespace grapher.Models
settings,
applyOptions,
writeButton,
- mouseLabel,
+ mouseWatcher,
scaleMenuItem);
}
diff --git a/grapher/Models/Mouse/MouseWatcher.cs b/grapher/Models/Mouse/MouseWatcher.cs
index c6e85c1..6209445 100644
--- a/grapher/Models/Mouse/MouseWatcher.cs
+++ b/grapher/Models/Mouse/MouseWatcher.cs
@@ -677,11 +677,12 @@ namespace grapher.Models.Mouse
#region Constructors
- public MouseWatcher(Form containingForm, Label display, AccelCharts accelCharts)
+ public MouseWatcher(Form containingForm, Label display, AccelCharts accelCharts, Field pollRate)
{
ContainingForm = containingForm;
Display = display;
AccelCharts = accelCharts;
+ PollRateField = pollRate;
MouseData = new MouseData();
RAWINPUTDEVICE device = new RAWINPUTDEVICE();
@@ -694,6 +695,7 @@ namespace grapher.Models.Mouse
devices[0] = device;
RegisterRawInputDevices(devices, 1, Marshal.SizeOf(typeof(RAWINPUTDEVICE)));
PollTime = 1;
+ PollRate = 1000;
}
#endregion Constructors
@@ -706,9 +708,13 @@ namespace grapher.Models.Mouse
private AccelCharts AccelCharts { get; }
+ private Field PollRateField { get; set; }
+
private MouseData MouseData { get; }
- private double PollTime { get; }
+ private double PollRate { get; set; }
+
+ private double PollTime { get; set; }
#endregion Properties
@@ -734,6 +740,12 @@ namespace grapher.Models.Mouse
outSize = GetRawInputData((IntPtr)message.LParam, RawInputCommand.Input, out rawInput, ref size, Marshal.SizeOf(typeof(RAWINPUTHEADER)));
+ if (PollRateField.Data != PollRate)
+ {
+ PollRate = PollRateField.Data;
+ PollTime = 1000 / PollRate;
+ }
+
if (rawInput.Data.Mouse.LastX != 0 || rawInput.Data.Mouse.LastY != 0)
{
OnMouseMove(rawInput.Data.Mouse.LastX, rawInput.Data.Mouse.LastY, PollTime);