using System; using System.Numerics; using Avalonia; using Avalonia.Controls; using Avalonia.Input; using Avalonia.LogicalTree; using Avalonia.Markup.Xaml; using Avalonia.Rendering.Composition; using Avalonia.Utilities; namespace ControlCatalog.Pages { public class GesturePage : UserControl { private bool _isInit; private double _currentScale; public GesturePage() { this.InitializeComponent(); } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e) { base.OnAttachedToVisualTree(e); if(_isInit) { return; } _isInit = true; SetPullHandlers(this.Find("TopPullZone"), false); SetPullHandlers(this.Find("BottomPullZone"), true); SetPullHandlers(this.Find("RightPullZone"), true); SetPullHandlers(this.Find("LeftPullZone"), false); var image = this.Find("PinchImage"); SetPinchHandlers(image); var reset = this.Find