1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-19 15:42:55 +08:00

Merge pull request #22182 from stanriders/status-icon

Update status icon design
This commit is contained in:
Dean Herbert 2023-01-14 21:05:44 +09:00 committed by GitHub
commit 2f2ab445c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 11 deletions

View File

@ -7,10 +7,10 @@ using osu.Framework.Allocation;
using osu.Framework.Extensions.Color4Extensions; using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Effects; using osu.Framework.Graphics.Effects;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface; using osu.Game.Graphics.UserInterface;
using osu.Game.Users.Drawables;
using osuTK; using osuTK;
using osuTK.Graphics; using osuTK.Graphics;
@ -78,7 +78,7 @@ namespace osu.Game.Overlays.Login
{ {
public const float LABEL_LEFT_MARGIN = 20; public const float LABEL_LEFT_MARGIN = 20;
private readonly SpriteIcon statusIcon; private readonly StatusIcon statusIcon;
public Color4 StatusColour public Color4 StatusColour
{ {
@ -101,11 +101,10 @@ namespace osu.Game.Overlays.Login
Icon.Size = new Vector2(14); Icon.Size = new Vector2(14);
Icon.Margin = new MarginPadding(0); Icon.Margin = new MarginPadding(0);
Foreground.Add(statusIcon = new SpriteIcon Foreground.Add(statusIcon = new StatusIcon
{ {
Anchor = Anchor.CentreLeft, Anchor = Anchor.CentreLeft,
Origin = Anchor.CentreLeft, Origin = Anchor.CentreLeft,
Icon = FontAwesome.Regular.Circle,
Size = new Vector2(14), Size = new Vector2(14),
}); });

View File

@ -0,0 +1,26 @@
// 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.
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osuTK;
namespace osu.Game.Users.Drawables
{
public partial class StatusIcon : CircularContainer
{
public StatusIcon()
{
Size = new Vector2(25);
BorderThickness = 4;
BorderColour = Colour4.White; // the colour is being applied through Colour - since it's multiplicative it applies to the border as well
Masking = true;
Child = new Box
{
RelativeSizeAxes = Axes.Both,
Colour = Colour4.White.Opacity(0)
};
}
}
}

View File

@ -10,7 +10,6 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
using osu.Framework.Graphics.Sprites;
using osu.Game.Users.Drawables; using osu.Game.Users.Drawables;
using osu.Framework.Input.Events; using osu.Framework.Input.Events;
using osu.Game.Online.API.Requests.Responses; using osu.Game.Online.API.Requests.Responses;
@ -25,7 +24,7 @@ namespace osu.Game.Users
protected TextFlowContainer LastVisitMessage { get; private set; } protected TextFlowContainer LastVisitMessage { get; private set; }
private SpriteIcon statusIcon; private StatusIcon statusIcon;
private OsuSpriteText statusMessage; private OsuSpriteText statusMessage;
protected ExtendedUserPanel(APIUser user) protected ExtendedUserPanel(APIUser user)
@ -59,11 +58,7 @@ namespace osu.Game.Users
Action = Action, Action = Action,
}; };
protected SpriteIcon CreateStatusIcon() => statusIcon = new SpriteIcon protected Container CreateStatusIcon() => statusIcon = new StatusIcon();
{
Icon = FontAwesome.Regular.Circle,
Size = new Vector2(25)
};
protected FillFlowContainer CreateStatusMessage(bool rightAlignedChildren) protected FillFlowContainer CreateStatusMessage(bool rightAlignedChildren)
{ {