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

Merge pull request #1748 from peppy/popup-word-wrap

Add word wrapping support for popup dialog text
This commit is contained in:
Dan Balasescu 2017-12-26 15:56:36 +09:00 committed by GitHub
commit 678ab2a177
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 44 additions and 9 deletions

View File

@ -0,0 +1,37 @@
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Overlays.Dialog;
namespace osu.Game.Tests.Visual
{
public class TestCasePopupDialog : OsuTestCase
{
public TestCasePopupDialog()
{
var popup = new PopupDialog
{
RelativeSizeAxes = Axes.Both,
State = Framework.Graphics.Containers.Visibility.Visible,
Icon = FontAwesome.fa_assistive_listening_systems,
HeaderText = @"This is a test popup",
BodyText = "I can say lots of stuff and even wrap my words!",
Buttons = new PopupDialogButton[]
{
new PopupDialogCancelButton
{
Text = @"Yes. That you can.",
},
new PopupDialogOkButton
{
Text = @"You're a fake!",
},
}
};
Add(popup);
}
}
}

View File

@ -134,6 +134,7 @@
<Compile Include="Visual\TestCaseOsuGame.cs" /> <Compile Include="Visual\TestCaseOsuGame.cs" />
<Compile Include="Visual\TestCasePlaybackControl.cs" /> <Compile Include="Visual\TestCasePlaybackControl.cs" />
<Compile Include="Visual\TestCasePlaySongSelect.cs" /> <Compile Include="Visual\TestCasePlaySongSelect.cs" />
<Compile Include="Visual\TestCasePopupDialog.cs" />
<Compile Include="Visual\TestCaseRankGraph.cs" /> <Compile Include="Visual\TestCaseRankGraph.cs" />
<Compile Include="Visual\TestCaseReplay.cs" /> <Compile Include="Visual\TestCaseReplay.cs" />
<Compile Include="Visual\TestCaseReplaySettingsOverlay.cs" /> <Compile Include="Visual\TestCaseReplaySettingsOverlay.cs" />

View File

@ -32,7 +32,7 @@ namespace osu.Game.Overlays.Dialog
private readonly FillFlowContainer<PopupDialogButton> buttonsContainer; private readonly FillFlowContainer<PopupDialogButton> buttonsContainer;
private readonly SpriteIcon icon; private readonly SpriteIcon icon;
private readonly SpriteText header; private readonly SpriteText header;
private readonly SpriteText body; private readonly TextFlowContainer body;
public FontAwesome Icon public FontAwesome Icon
{ {
@ -48,7 +48,6 @@ namespace osu.Game.Overlays.Dialog
public string BodyText public string BodyText
{ {
get { return body.Text; }
set { body.Text = value; } set { body.Text = value; }
} }
@ -220,17 +219,15 @@ namespace osu.Game.Overlays.Dialog
{ {
Origin = Anchor.TopCentre, Origin = Anchor.TopCentre,
Anchor = Anchor.TopCentre, Anchor = Anchor.TopCentre,
Text = @"Header",
TextSize = 25, TextSize = 25,
Shadow = true, Shadow = true,
}, },
body = new OsuSpriteText body = new OsuTextFlowContainer(t => t.TextSize = 18)
{ {
Origin = Anchor.TopCentre, Padding = new MarginPadding(15),
Anchor = Anchor.TopCentre, RelativeSizeAxes = Axes.X,
Text = @"Body", AutoSizeAxes = Axes.Y,
TextSize = 18, TextAnchor = Anchor.TopCentre,
Shadow = true,
}, },
}, },
}, },