Change selection colour to also match the colour provider scheme

This commit is contained in:
Dean Herbert 2021-10-21 12:59:40 +09:00
parent 9ad9465020
commit 7bc8f5cd5c

View File

@ -48,6 +48,8 @@ namespace osu.Game.Graphics.UserInterface
private Sample? textCommittedSample; private Sample? textCommittedSample;
private Sample? caretMovedSample; private Sample? caretMovedSample;
private OsuCaret? caret;
public OsuTextBox() public OsuTextBox()
{ {
Height = 40; Height = 40;
@ -62,8 +64,12 @@ namespace osu.Game.Graphics.UserInterface
private void load(OverlayColourProvider? colourProvider, OsuColour colour, AudioManager audio) private void load(OverlayColourProvider? colourProvider, OsuColour colour, AudioManager audio)
{ {
BackgroundUnfocused = colourProvider?.Background5 ?? Color4.Black.Opacity(0.5f); BackgroundUnfocused = colourProvider?.Background5 ?? Color4.Black.Opacity(0.5f);
BackgroundFocused = colourProvider?.Background3 ?? OsuColour.Gray(0.3f).Opacity(0.8f); BackgroundFocused = colourProvider?.Background4 ?? OsuColour.Gray(0.3f).Opacity(0.8f);
BackgroundCommit = BorderColour = colourProvider?.Highlight1 ?? colour.Yellow; BackgroundCommit = BorderColour = colourProvider?.Highlight1 ?? colour.Yellow;
selectionColour = colourProvider?.Background1 ?? new Color4(249, 90, 255, 255);
if (caret != null)
caret.SelectionColour = selectionColour;
Placeholder.Colour = colourProvider?.Foreground1 ?? new Color4(180, 180, 180, 255); Placeholder.Colour = colourProvider?.Foreground1 ?? new Color4(180, 180, 180, 255);
@ -76,7 +82,9 @@ namespace osu.Game.Graphics.UserInterface
caretMovedSample = audio.Samples.Get(@"Keyboard/key-movement"); caretMovedSample = audio.Samples.Get(@"Keyboard/key-movement");
} }
protected override Color4 SelectionColour => new Color4(249, 90, 255, 255); private Color4 selectionColour;
protected override Color4 SelectionColour => selectionColour;
protected override void OnUserTextAdded(string added) protected override void OnUserTextAdded(string added)
{ {
@ -128,7 +136,7 @@ namespace osu.Game.Graphics.UserInterface
Child = new OsuSpriteText { Text = c.ToString(), Font = OsuFont.GetFont(size: CalculatedTextSize) }, Child = new OsuSpriteText { Text = c.ToString(), Font = OsuFont.GetFont(size: CalculatedTextSize) },
}; };
protected override Caret CreateCaret() => new OsuCaret protected override Caret CreateCaret() => caret = new OsuCaret
{ {
CaretWidth = CaretWidth, CaretWidth = CaretWidth,
SelectionColour = SelectionColour, SelectionColour = SelectionColour,