diff --git a/osu.Game/Screens/Edit/Components/Menus/EditorMenuBar.cs b/osu.Game/Screens/Edit/Components/Menus/EditorMenuBar.cs
index 2a8435ff47..440071bc4c 100644
--- a/osu.Game/Screens/Edit/Components/Menus/EditorMenuBar.cs
+++ b/osu.Game/Screens/Edit/Components/Menus/EditorMenuBar.cs
@@ -2,16 +2,13 @@
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
-using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
-using osu.Framework.Graphics.Containers;
-using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
+using osu.Game.Overlays;
using osuTK;
-using osuTK.Graphics;
namespace osu.Game.Screens.Edit.Components.Menus
{
@@ -24,7 +21,12 @@ namespace osu.Game.Screens.Edit.Components.Menus
MaskingContainer.CornerRadius = 0;
ItemsContainer.Padding = new MarginPadding { Left = 100 };
- BackgroundColour = Color4Extensions.FromHex("111");
+ }
+
+ [BackgroundDependencyLoader]
+ private void load(OverlayColourProvider colourProvider)
+ {
+ BackgroundColour = colourProvider.Background3;
}
protected override Framework.Graphics.UserInterface.Menu CreateSubMenu() => new SubMenu();
@@ -33,29 +35,26 @@ namespace osu.Game.Screens.Edit.Components.Menus
private class DrawableEditorBarMenuItem : DrawableOsuMenuItem
{
- private BackgroundBox background;
-
public DrawableEditorBarMenuItem(MenuItem item)
: base(item)
{
- Anchor = Anchor.CentreLeft;
- Origin = Anchor.CentreLeft;
-
- StateChanged += stateChanged;
}
[BackgroundDependencyLoader]
- private void load(OsuColour colours)
+ private void load(OverlayColourProvider colourProvider)
{
- ForegroundColour = colours.BlueLight;
- BackgroundColour = Color4.Transparent;
- ForegroundColourHover = Color4.White;
- BackgroundColourHover = colours.Gray3;
+ ForegroundColour = colourProvider.Light3;
+ BackgroundColour = colourProvider.Background2;
+ ForegroundColourHover = colourProvider.Content1;
+ BackgroundColourHover = colourProvider.Background1;
}
- public override void SetFlowDirection(Direction direction)
+ protected override void LoadComplete()
{
- AutoSizeAxes = Axes.Both;
+ base.LoadComplete();
+
+ Foreground.Anchor = Anchor.CentreLeft;
+ Foreground.Origin = Anchor.CentreLeft;
}
protected override void UpdateBackgroundColour()
@@ -74,54 +73,16 @@ namespace osu.Game.Screens.Edit.Components.Menus
base.UpdateForegroundColour();
}
- private void stateChanged(MenuItemState newState)
- {
- if (newState == MenuItemState.Selected)
- background.Expand();
- else
- background.Contract();
- }
-
- protected override Drawable CreateBackground() => background = new BackgroundBox();
protected override DrawableOsuMenuItem.TextContainer CreateTextContainer() => new TextContainer();
private new class TextContainer : DrawableOsuMenuItem.TextContainer
{
public TextContainer()
{
- NormalText.Font = NormalText.Font.With(size: 14);
- BoldText.Font = BoldText.Font.With(size: 14);
- NormalText.Margin = BoldText.Margin = new MarginPadding { Horizontal = 10, Vertical = MARGIN_VERTICAL };
+ NormalText.Font = OsuFont.TorusAlternate;
+ BoldText.Font = OsuFont.TorusAlternate.With(weight: FontWeight.Bold);
}
}
-
- private class BackgroundBox : CompositeDrawable
- {
- private readonly Container innerBackground;
-
- public BackgroundBox()
- {
- RelativeSizeAxes = Axes.Both;
- Masking = true;
- InternalChild = innerBackground = new Container
- {
- RelativeSizeAxes = Axes.Both,
- Masking = true,
- CornerRadius = 4,
- Child = new Box { RelativeSizeAxes = Axes.Both }
- };
- }
-
- ///
- /// Expands the background such that it doesn't show the bottom corners.
- ///
- public void Expand() => innerBackground.Height = 2;
-
- ///
- /// Contracts the background such that it shows the bottom corners.
- ///
- public void Contract() => innerBackground.Height = 1;
- }
}
private class SubMenu : OsuMenu
@@ -129,14 +90,15 @@ namespace osu.Game.Screens.Edit.Components.Menus
public SubMenu()
: base(Direction.Vertical)
{
- OriginPosition = new Vector2(5, 1);
- ItemsContainer.Padding = new MarginPadding { Top = 5, Bottom = 5 };
+ ItemsContainer.Padding = new MarginPadding();
+
+ MaskingContainer.CornerRadius = 0;
}
[BackgroundDependencyLoader]
- private void load(OsuColour colours)
+ private void load(OverlayColourProvider colourProvider)
{
- BackgroundColour = colours.Gray3;
+ BackgroundColour = colourProvider.Background2;
}
protected override Framework.Graphics.UserInterface.Menu CreateSubMenu() => new SubMenu();
@@ -147,9 +109,27 @@ namespace osu.Game.Screens.Edit.Components.Menus
{
case EditorMenuItemSpacer spacer:
return new DrawableSpacer(spacer);
+
+ default:
+ return new EditorMenuItem(item);
+ }
+ }
+
+ private class EditorMenuItem : DrawableOsuMenuItem
+ {
+ public EditorMenuItem(MenuItem item)
+ : base(item)
+ {
}
- return base.CreateDrawableMenuItem(item);
+ [BackgroundDependencyLoader]
+ private void load(OverlayColourProvider colourProvider)
+ {
+ BackgroundColour = colourProvider.Background2;
+ BackgroundColourHover = colourProvider.Background1;
+
+ Foreground.Padding = new MarginPadding { Vertical = 2 };
+ }
}
private class DrawableSpacer : DrawableOsuMenuItem
@@ -157,6 +137,7 @@ namespace osu.Game.Screens.Edit.Components.Menus
public DrawableSpacer(MenuItem item)
: base(item)
{
+ Scale = new Vector2(1, 0.3f);
}
protected override bool OnHover(HoverEvent e) => true;