Browse Source

Fixed scrolling and zooming

Krzysztof Krysiński 2 months ago
parent
commit
dceb7541c2
1 changed files with 10 additions and 2 deletions
  1. 10 2
      src/PixiEditor/Views/Animations/Timeline.cs

+ 10 - 2
src/PixiEditor/Views/Animations/Timeline.cs

@@ -332,7 +332,15 @@ internal class Timeline : TemplatedControl, INotifyPropertyChanged
 
 
         _selectionRectangle = e.NameScope.Find<Rectangle>("PART_SelectionRectangle");
         _selectionRectangle = e.NameScope.Find<Rectangle>("PART_SelectionRectangle");
 
 
-        _timelineKeyFramesScroll.PointerWheelChanged += TimelineSliderOnPointerWheelChanged;
+        _timelineKeyFramesScroll.AddHandler(PointerWheelChangedEvent, (s, e) =>
+        {
+            if (!e.KeyModifiers.HasFlag(KeyModifiers.Shift))
+            {
+                return;
+            }
+
+            TimelineSliderOnPointerWheelChanged(s, e);
+        }, RoutingStrategies.Tunnel);
         _timelineSlider.PointerWheelChanged += TimelineSliderOnPointerWheelChanged;
         _timelineSlider.PointerWheelChanged += TimelineSliderOnPointerWheelChanged;
         _timelineKeyFramesScroll.ScrollChanged += TimelineKeyFramesScrollOnScrollChanged;
         _timelineKeyFramesScroll.ScrollChanged += TimelineKeyFramesScrollOnScrollChanged;
         _contentGrid.PointerPressed += ContentOnPointerPressed;
         _contentGrid.PointerPressed += ContentOnPointerPressed;
@@ -410,7 +418,7 @@ internal class Timeline : TemplatedControl, INotifyPropertyChanged
 
 
     private void KeyFramesDragged(PointerEventArgs? e)
     private void KeyFramesDragged(PointerEventArgs? e)
     {
     {
-        if (clickedCel == null) return;
+        if (clickedCel == null || e.GetMouseButton(this) != MouseButton.Left) return;
 
 
         int frameUnderMouse = MousePosToFrame(e);
         int frameUnderMouse = MousePosToFrame(e);
         int delta = frameUnderMouse - dragStartFrame;
         int delta = frameUnderMouse - dragStartFrame;