osu/osu.Game/Graphics/UserInterface/SlimEnumDropdown.cs

45 lines
1.3 KiB
C#
Raw Normal View History

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
2018-04-13 09:19:50 +00:00
2019-12-07 11:56:56 +00:00
using System;
2018-04-13 09:19:50 +00:00
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
2018-11-20 07:51:59 +00:00
using osuTK;
2020-12-07 13:07:11 +00:00
using osuTK.Graphics;
2018-04-13 09:19:50 +00:00
2020-12-07 13:07:11 +00:00
namespace osu.Game.Graphics.UserInterface
2018-04-13 09:19:50 +00:00
{
public class SlimEnumDropdown<T> : OsuEnumDropdown<T>
2019-12-07 11:56:56 +00:00
where T : struct, Enum
2018-04-13 09:19:50 +00:00
{
protected override DropdownHeader CreateHeader() => new SlimDropdownHeader();
protected override DropdownMenu CreateMenu() => new SlimMenu();
private class SlimDropdownHeader : OsuDropdownHeader
{
public SlimDropdownHeader()
{
Height = 25;
Icon.Size = new Vector2(16);
Foreground.Padding = new MarginPadding { Top = 4, Bottom = 4, Left = 8, Right = 4 };
}
protected override void LoadComplete()
{
base.LoadComplete();
BackgroundColour = Color4.Black.Opacity(0.25f);
}
}
private class SlimMenu : OsuDropdownMenu
{
public SlimMenu()
{
BackgroundColour = Color4.Black.Opacity(0.7f);
}
}
}
}