diff --git a/osu.Desktop/osu.Desktop.csproj b/osu.Desktop/osu.Desktop.csproj
index 904f5edf2bfb..2cdbaddf723b 100644
--- a/osu.Desktop/osu.Desktop.csproj
+++ b/osu.Desktop/osu.Desktop.csproj
@@ -26,7 +26,7 @@
-
+
diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs b/osu.Game/Screens/Select/BeatmapCarousel.cs
index 412e44cbdecc..5716b2c918be 100644
--- a/osu.Game/Screens/Select/BeatmapCarousel.cs
+++ b/osu.Game/Screens/Select/BeatmapCarousel.cs
@@ -222,12 +222,6 @@ public BeatmapCarousel(FilterCriteria initialCriteria)
InternalChild = new Container
{
RelativeSizeAxes = Axes.Both,
- Padding = new MarginPadding
- {
- // Avoid clash between scrollbar and osu! logo.
- Top = 10,
- Bottom = 100,
- },
Children = new Drawable[]
{
setPool,
@@ -1271,6 +1265,38 @@ protected override bool OnDragStart(DragStartEvent e)
return base.OnDragStart(e);
}
+
+ protected override ScrollbarContainer CreateScrollbar(Direction direction)
+ {
+ return new PaddedScrollbar();
+ }
+
+ protected partial class PaddedScrollbar : OsuScrollbar
+ {
+ public PaddedScrollbar()
+ : base(Direction.Vertical)
+ {
+ }
+ }
+
+ private const float top_padding = 10;
+ private const float bottom_padding = 70;
+
+ protected override float ToScrollbarPosition(float scrollPosition)
+ {
+ if (Precision.AlmostEquals(0, ScrollableExtent))
+ return 0;
+
+ return top_padding + (ScrollbarMovementExtent - (top_padding + bottom_padding)) * (scrollPosition / ScrollableExtent);
+ }
+
+ protected override float FromScrollbarPosition(float scrollbarPosition)
+ {
+ if (Precision.AlmostEquals(0, ScrollbarMovementExtent))
+ return 0;
+
+ return ScrollableExtent * ((scrollbarPosition - top_padding) / (ScrollbarMovementExtent - (top_padding + bottom_padding)));
+ }
}
protected override void Dispose(bool isDisposing)
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 7405a7c587fa..855ba3374b48 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -20,7 +20,7 @@
-
+
@@ -35,9 +35,9 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
-
+