Quellcode durchsuchen

Added touch gestures to zoombox

CPKreuz vor 4 Jahren
Ursprung
Commit
8e78d9df40

+ 3 - 1
PixiEditor/Views/UserControls/Zoombox.xaml

@@ -7,7 +7,9 @@
                 mc:Ignorable="d" 
                 x:Name="uc"
                 d:DesignHeight="450" d:DesignWidth="800">
-    <Canvas MouseDown="OnMouseDown" MouseUp="OnMouseUp" MouseMove="OnMouseMove" MouseWheel="OnScroll" x:Name="mainCanvas" Background="Transparent">
+    <Canvas MouseDown="OnMouseDown" MouseUp="OnMouseUp" MouseMove="OnMouseMove" MouseWheel="OnScroll"
+            IsManipulationEnabled="True" ManipulationDelta="OnManipulationDelta"
+            x:Name="mainCanvas" Background="Transparent">
         <Grid x:Name="mainGrid">
             <Grid.LayoutTransform>
                 <ScaleTransform x:Name="scaleTransform"/>

+ 8 - 0
PixiEditor/Views/UserControls/Zoombox.xaml.cs

@@ -270,5 +270,13 @@ namespace PixiEditor.Views.UserControls
         {
             ZoomInto(e.GetPosition(mainCanvas), e.Delta / 100);
         }
+
+        private void OnManipulationDelta(object sender, ManipulationDeltaEventArgs e)
+        {
+            e.Handled = true;
+
+            ZoomInto(e.ManipulationOrigin, e.DeltaManipulation.Expansion.X / 5.0);
+            SpaceOriginPos += e.DeltaManipulation.Translation;
+        }
     }
 }