From 0ce82f408b9c182cde407fcb0d3c98223c314ea9 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Sat, 26 Sep 2020 13:43:13 -0700 Subject: Scale Last Mouse Move by poll rate --- grapher/Models/AccelGUI.cs | 4 ++-- grapher/Models/AccelGUIFactory.cs | 5 ++++- grapher/Models/Mouse/MouseWatcher.cs | 16 ++++++++++++++-- 3 files changed, 20 insertions(+), 5 deletions(-) (limited to 'grapher/Models') 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); -- cgit v1.2.3 From 80ffeaf6d6cb00106991bb7cc202c957c3e10d34 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Sat, 26 Sep 2020 15:13:53 -0700 Subject: Remove logarithm --- grapher/Models/Options/AccelTypeOptions.cs | 1 - 1 file changed, 1 deletion(-) (limited to 'grapher/Models') diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs index 9bd42f5..573e9b9 100644 --- a/grapher/Models/Options/AccelTypeOptions.cs +++ b/grapher/Models/Options/AccelTypeOptions.cs @@ -19,7 +19,6 @@ namespace grapher new NaturalLayout(), new NaturalGainLayout(), new PowerLayout(), - new LogarithmLayout(), new MotivityLayout(), new OffLayout() }.ToDictionary(k => k.Name); -- cgit v1.2.3