Inertia – Diff between revs 3 and 5

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 3 Rev 5
Line 57... Line 57...
57 Settings.Default.SettingsSaving += DefaultOnSettingsSaving; 57 Settings.Default.SettingsSaving += DefaultOnSettingsSaving;
58 Settings.Default.PropertyChanged += DefaultOnPropertyChanged; 58 Settings.Default.PropertyChanged += DefaultOnPropertyChanged;
Line 59... Line 59...
59   59  
Line -... Line 60...
-   60 _inputSimulator = new InputSimulator();
-   61  
60 _inputSimulator = new InputSimulator(); 62 _scrollCancellationTokenSource = new CancellationTokenSource();
61   63  
Line 62... Line 64...
62 _globalMouseKeyHook = Hook.GlobalEvents(); 64 _globalMouseKeyHook = Hook.GlobalEvents();
63 _globalMouseKeyHook.MouseWheel += GlobalMouseKeyHookMouseWheel; 65 _globalMouseKeyHook.MouseWheel += GlobalMouseKeyHookMouseWheel;
Line 161... Line 163...
161   163  
Line 162... Line 164...
162 #region Private Methods 164 #region Private Methods
163   165  
-   166 private static async void ScrollDown()
-   167 {
-   168 _scrollCancellationTokenSource.Cancel();
-   169 _scrollCancellationTokenSource = new CancellationTokenSource();
164 private static async void ScrollDown() 170 var cancellationToken = _scrollCancellationTokenSource.Token;
165 { 171  
166 var downDelta = Interlocked.Read(ref _downDelta); 172 var downDelta = Interlocked.Read(ref _downDelta);
Line 167... Line 173...
167 var delta = Math.Abs(downDelta / SystemInformation.MouseWheelScrollDelta); 173 var delta = Math.Abs(downDelta / SystemInformation.MouseWheelScrollDelta);
Line 168... Line -...
168 Interlocked.Exchange(ref _downDelta, 0); -  
169   -  
170 Debug.WriteLine($"Down event expired with delta {delta}"); -  
171   -  
172 if (_scrollCancellationTokenSource != null) -  
173 { -  
174 _scrollCancellationTokenSource.Cancel(); -  
175 } -  
176   174 Interlocked.Exchange(ref _downDelta, 0);
Line 177... Line 175...
177 _scrollCancellationTokenSource = new CancellationTokenSource(); 175  
178 var cancellationToken = _scrollCancellationTokenSource.Token; 176 Debug.WriteLine($"Down event expired with delta {delta}");
179   177  
180 _globalMouseKeyHook.MouseWheel -= GlobalMouseKeyHookMouseWheel; 178 _globalMouseKeyHook.MouseWheel -= GlobalMouseKeyHookMouseWheel;
181   179  
182 try 180 try
183 { 181 {
Line 193... Line 191...
193 } 191 }
194 } 192 }
Line 195... Line 193...
195   193  
196 private static async void ScrollUp() 194 private static async void ScrollUp()
-   195 {
-   196 _scrollCancellationTokenSource.Cancel();
-   197 _scrollCancellationTokenSource = new CancellationTokenSource();
-   198 var cancellationToken = _scrollCancellationTokenSource.Token;
197 { 199  
198 var upDelta = Interlocked.Read(ref _upDelta); 200 var upDelta = Interlocked.Read(ref _upDelta);
199 var delta = Math.Abs(upDelta / SystemInformation.MouseWheelScrollDelta); 201 var delta = Math.Abs(upDelta / SystemInformation.MouseWheelScrollDelta);
Line 200... Line 202...
200 Interlocked.Exchange(ref _upDelta, 0); 202 Interlocked.Exchange(ref _upDelta, 0);
Line 201... Line -...
201   -  
202 Debug.WriteLine($"Up event expired with delta {delta}"); -  
203   -  
204 if (_scrollCancellationTokenSource != null) -  
205 { -  
206 _scrollCancellationTokenSource.Cancel(); -  
207 } -  
208   -  
209 _scrollCancellationTokenSource = new CancellationTokenSource(); 203  
Line 210... Line 204...
210 var cancellationToken = _scrollCancellationTokenSource.Token; 204 Debug.WriteLine($"Up event expired with delta {delta}");
211   205  
212 _globalMouseKeyHook.MouseWheel -= GlobalMouseKeyHookMouseWheel; 206 _globalMouseKeyHook.MouseWheel -= GlobalMouseKeyHookMouseWheel;
Line 225... Line 219...
225 } 219 }
226 } 220 }
Line 227... Line 221...
227   221  
228 private static async Task ScrollUp(int delta, CancellationToken cancellationToken) 222 private static async Task ScrollUp(int delta, CancellationToken cancellationToken)
229 { 223 {
230 while (!cancellationToken.IsCancellationRequested && delta > 0) 224 while (!cancellationToken.IsCancellationRequested && delta > 1)
231 { 225 {
232 _inputSimulator.Mouse.VerticalScroll(delta); 226 _inputSimulator.Mouse.VerticalScroll(delta);
233 await Task.Delay(25 * delta, cancellationToken); 227 await Task.Delay(25 * delta, cancellationToken);
234 Debug.WriteLine($"Moving: {delta}"); 228 Debug.WriteLine($"Moving: {delta}");
235 delta = (int) Math.Log(delta, 2); 229 delta = (int) Math.Log(delta, 2);
236 } 230 }
Line 237... Line 231...
237 } 231 }
238   232  
239 private static async Task ScrollDown(int delta, CancellationToken cancellationToken) 233 private static async Task ScrollDown(int delta, CancellationToken cancellationToken)
240 { 234 {
241 while (!cancellationToken.IsCancellationRequested && delta > 0) 235 while (!cancellationToken.IsCancellationRequested && delta > 1)
242 { 236 {
243 _inputSimulator.Mouse.VerticalScroll(-delta); 237 _inputSimulator.Mouse.VerticalScroll(-delta);
244 await Task.Delay(25 * delta, cancellationToken); 238 await Task.Delay(25 * delta, cancellationToken);