void FSceneViewport::UpdateModifierKeys( const FPointerEvent& InMouseEvent ) { KeyStateMap.Add( EKeys::LeftAlt, InMouseEvent.IsLeftAltDown() ); KeyStateMap.Add( EKeys::RightAlt, InMouseEvent.IsRightAltDown() ); KeyStateMap.Add(EKeys::LeftControl, InMouseEvent.IsLeftControlDown()); KeyStateMap.Add(EKeys::RightControl, InMouseEvent.IsRightControlDown()); KeyStateMap.Add(EKeys::LeftShift, InMouseEvent.IsLeftShiftDown()); KeyStateMap.Add(EKeys::RightShift, InMouseEvent.IsRightShiftDown()); }
FReply FSequencerTimeSliderController::OnMouseWheel( TSharedRef<SWidget> WidgetOwner, const FGeometry& MyGeometry, const FPointerEvent& MouseEvent ) { TOptional<TRange<float>> NewTargetRange; float MouseFractionX = MyGeometry.AbsoluteToLocal(MouseEvent.GetScreenSpacePosition()).X / MyGeometry.GetLocalSize().X; if ( TimeSliderArgs.AllowZoom && (MouseEvent.IsLeftControlDown() || MouseEvent.IsRightControlDown()) ) { const float ZoomDelta = -0.2f * MouseEvent.GetWheelDelta(); if (ZoomByDelta(ZoomDelta, MouseFractionX)) { return FReply::Handled(); } } else if (MouseEvent.IsLeftShiftDown() || MouseEvent.IsRightShiftDown()) { PanByDelta(-MouseEvent.GetWheelDelta()); return FReply::Handled(); } return FReply::Unhandled(); }