Inertia – Diff between revs 3 and 5
?pathlinks?
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); |