Skip to content

Commit

Permalink
Merge pull request #1351 from unoplatform/dev/vs/zcc-configure-panning
Browse files Browse the repository at this point in the history
ZoomContentControl: Switch pointer handling from events to overridden methods
  • Loading branch information
MartinZikmund authored Feb 20, 2025
2 parents 7f3c4f9 + 50b30aa commit 79e9ee3
Showing 1 changed file with 13 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,6 @@ public ZoomContentControl()
DefaultStyleKey = typeof(ZoomContentControl);

SizeChanged += OnSizeChanged;
PointerPressed += OnPointerPressed;
PointerReleased += OnPointerReleased;
PointerMoved += OnPointerMoved;
PointerWheelChanged += OnPointerWheelChanged;
}

protected override void OnApplyTemplate()
Expand Down Expand Up @@ -275,8 +271,10 @@ private void OnSizeChanged(object sender, SizeChangedEventArgs args)
}
}

private void OnPointerPressed(object sender, PointerRoutedEventArgs e)
protected override void OnPointerPressed(PointerRoutedEventArgs e)
{
base.OnPointerPressed(e);

if (!IsAllowedToWork || _translation is null) return;
var pointerPoint = e.GetCurrentPoint(this);
var pointerProperties = pointerPoint.Properties;
Expand Down Expand Up @@ -306,15 +304,19 @@ private void OnPointerPressed(object sender, PointerRoutedEventArgs e)
}
}

private void OnPointerReleased(object sender, PointerRoutedEventArgs e)
protected override void OnPointerReleased(PointerRoutedEventArgs e)
{
base.OnPointerReleased(e);

ReleasePointerCaptures();
_capturedPointerContext = default;
}

private void OnPointerMoved(object sender, PointerRoutedEventArgs e)
protected override void OnPointerMoved(PointerRoutedEventArgs e)
{
if (!IsAllowedToWork ||!IsPanAllowed) return;
base.OnPointerMoved(e);

if (!IsAllowedToWork || !IsPanAllowed) return;

if (_capturedPointerContext is { } context)
{
Expand All @@ -326,8 +328,10 @@ private void OnPointerMoved(object sender, PointerRoutedEventArgs e)
}
}

private void OnPointerWheelChanged(object sender, PointerRoutedEventArgs e)
protected override void OnPointerWheelChanged(PointerRoutedEventArgs e)
{
base.OnPointerWheelChanged(e);

if (!IsAllowedToWork) return;
if (Viewport is not { } vp) return;

Expand Down

0 comments on commit 79e9ee3

Please sign in to comment.