/trunk/Inertia/Form1.cs/Form1.cs |
@@ -59,6 +59,8 @@ |
|
_inputSimulator = new InputSimulator(); |
|
_scrollCancellationTokenSource = new CancellationTokenSource(); |
|
_globalMouseKeyHook = Hook.GlobalEvents(); |
_globalMouseKeyHook.MouseWheel += GlobalMouseKeyHookMouseWheel; |
|
@@ -163,6 +165,10 @@ |
|
private static async void ScrollDown() |
{ |
_scrollCancellationTokenSource.Cancel(); |
_scrollCancellationTokenSource = new CancellationTokenSource(); |
var cancellationToken = _scrollCancellationTokenSource.Token; |
|
var downDelta = Interlocked.Read(ref _downDelta); |
var delta = Math.Abs(downDelta / SystemInformation.MouseWheelScrollDelta); |
Interlocked.Exchange(ref _downDelta, 0); |
@@ -169,14 +175,6 @@ |
|
Debug.WriteLine($"Down event expired with delta {delta}"); |
|
if (_scrollCancellationTokenSource != null) |
{ |
_scrollCancellationTokenSource.Cancel(); |
} |
|
_scrollCancellationTokenSource = new CancellationTokenSource(); |
var cancellationToken = _scrollCancellationTokenSource.Token; |
|
_globalMouseKeyHook.MouseWheel -= GlobalMouseKeyHookMouseWheel; |
|
try |
@@ -195,6 +193,10 @@ |
|
private static async void ScrollUp() |
{ |
_scrollCancellationTokenSource.Cancel(); |
_scrollCancellationTokenSource = new CancellationTokenSource(); |
var cancellationToken = _scrollCancellationTokenSource.Token; |
|
var upDelta = Interlocked.Read(ref _upDelta); |
var delta = Math.Abs(upDelta / SystemInformation.MouseWheelScrollDelta); |
Interlocked.Exchange(ref _upDelta, 0); |
@@ -201,14 +203,6 @@ |
|
Debug.WriteLine($"Up event expired with delta {delta}"); |
|
if (_scrollCancellationTokenSource != null) |
{ |
_scrollCancellationTokenSource.Cancel(); |
} |
|
_scrollCancellationTokenSource = new CancellationTokenSource(); |
var cancellationToken = _scrollCancellationTokenSource.Token; |
|
_globalMouseKeyHook.MouseWheel -= GlobalMouseKeyHookMouseWheel; |
|
try |
@@ -227,7 +221,7 @@ |
|
private static async Task ScrollUp(int delta, CancellationToken cancellationToken) |
{ |
while (!cancellationToken.IsCancellationRequested && delta > 0) |
while (!cancellationToken.IsCancellationRequested && delta > 1) |
{ |
_inputSimulator.Mouse.VerticalScroll(delta); |
await Task.Delay(25 * delta, cancellationToken); |
@@ -238,7 +232,7 @@ |
|
private static async Task ScrollDown(int delta, CancellationToken cancellationToken) |
{ |
while (!cancellationToken.IsCancellationRequested && delta > 0) |
while (!cancellationToken.IsCancellationRequested && delta > 1) |
{ |
_inputSimulator.Mouse.VerticalScroll(-delta); |
await Task.Delay(25 * delta, cancellationToken); |