From 4af16262e3b88bf53673e3d2c8f243b30f2c7c7f Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 13 Jun 2019 16:11:15 +0900 Subject: [PATCH] Limit zoom range of bracket display --- ...{ScrollableContainer.cs => LadderDragContainer.cs} | 11 +++++++---- osu.Game.Tournament/Screens/Ladder/LadderScreen.cs | 7 ++----- 2 files changed, 9 insertions(+), 9 deletions(-) rename osu.Game.Tournament/Screens/Ladder/{ScrollableContainer.cs => LadderDragContainer.cs} (74%) diff --git a/osu.Game.Tournament/Screens/Ladder/ScrollableContainer.cs b/osu.Game.Tournament/Screens/Ladder/LadderDragContainer.cs similarity index 74% rename from osu.Game.Tournament/Screens/Ladder/ScrollableContainer.cs rename to osu.Game.Tournament/Screens/Ladder/LadderDragContainer.cs index 832e218b74..6687ca13f9 100644 --- a/osu.Game.Tournament/Screens/Ladder/ScrollableContainer.cs +++ b/osu.Game.Tournament/Screens/Ladder/LadderDragContainer.cs @@ -8,7 +8,7 @@ using osuTK; namespace osu.Game.Tournament.Screens.Ladder { - public class ScrollableContainer : Container + public class LadderDragContainer : Container { protected override bool OnDragStart(DragStartEvent e) => true; @@ -24,12 +24,15 @@ namespace osu.Game.Tournament.Screens.Ladder return true; } + private const float min_scale = 0.6f; + private const float max_scale = 1.4f; + protected override bool OnScroll(ScrollEvent e) { - var newScale = scale + e.ScrollDelta.Y / 15 * scale; - this.MoveTo(target = target - e.MousePosition * (newScale - scale), 1000, Easing.OutQuint); + var newScale = MathHelper.Clamp(scale + e.ScrollDelta.Y / 15 * scale, min_scale, max_scale); - this.ScaleTo(scale = newScale, 1000, Easing.OutQuint); + this.MoveTo(target = target - e.MousePosition * (newScale - scale), 2000, Easing.OutQuint); + this.ScaleTo(scale = newScale, 2000, Easing.OutQuint); return true; } diff --git a/osu.Game.Tournament/Screens/Ladder/LadderScreen.cs b/osu.Game.Tournament/Screens/Ladder/LadderScreen.cs index ffdc20c9e7..e54bcffe2e 100644 --- a/osu.Game.Tournament/Screens/Ladder/LadderScreen.cs +++ b/osu.Game.Tournament/Screens/Ladder/LadderScreen.cs @@ -22,7 +22,7 @@ namespace osu.Game.Tournament.Screens.Ladder private Container paths; private Container headings; - protected ScrollableContainer ScrollContent; + protected LadderDragContainer ScrollContent; [BackgroundDependencyLoader] private void load(OsuColour colours, Storage storage) @@ -42,7 +42,7 @@ namespace osu.Game.Tournament.Screens.Ladder RelativeSizeAxes = Axes.Both, Loop = true, }, - ScrollContent = new ScrollableContainer + ScrollContent = new LadderDragContainer { RelativeSizeAxes = Axes.Both, Children = new Drawable[] @@ -133,8 +133,5 @@ namespace osu.Game.Tournament.Screens.Ladder layout.Validate(); } - - // todo: remove after ppy/osu-framework#1980 is merged. - public override bool HandlePositionalInput => true; } }