From 6a921af08555a0b868cacc04a623f07b69e4211d Mon Sep 17 00:00:00 2001 From: Gagah Pangeran Rosfatiputra Date: Wed, 28 Apr 2021 09:23:05 +0700 Subject: [PATCH] add OsuMarkdownSeparator Reference https://github.com/ppy/osu-web/blob/d56352aeefc412507c3dab7c16e3e3118421b436/resources/assets/less/bem/osu-md.less#L19-L21 --- .../TestSceneOsuMarkdownContainer.cs | 13 ++++++++++ .../Markdown/OsuMarkdownContainer.cs | 2 ++ .../Markdown/OsuMarkdownSeparator.cs | 26 +++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 osu.Game/Graphics/Containers/Markdown/OsuMarkdownSeparator.cs diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneOsuMarkdownContainer.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneOsuMarkdownContainer.cs index 3d782ee184..966b5095f9 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneOsuMarkdownContainer.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneOsuMarkdownContainer.cs @@ -62,5 +62,18 @@ This is markdown code block. ```"; }); } + + [Test] + public void TestSeparator() + { + AddStep("Add Seperator", () => + { + markdownContainer.Text = @"Line above + +--- + +Line below"; + }); + } } } diff --git a/osu.Game/Graphics/Containers/Markdown/OsuMarkdownContainer.cs b/osu.Game/Graphics/Containers/Markdown/OsuMarkdownContainer.cs index 95f538eab7..6885e3d60b 100644 --- a/osu.Game/Graphics/Containers/Markdown/OsuMarkdownContainer.cs +++ b/osu.Game/Graphics/Containers/Markdown/OsuMarkdownContainer.cs @@ -30,6 +30,8 @@ namespace osu.Game.Graphics.Containers.Markdown protected override MarkdownFencedCodeBlock CreateFencedCodeBlock(FencedCodeBlock fencedCodeBlock) => new OsuMarkdownFencedCodeBlock(fencedCodeBlock); + protected override MarkdownSeparator CreateSeparator(ThematicBreakBlock thematicBlock) => new OsuMarkdownSeparator(); + protected override MarkdownPipeline CreateBuilder() => new MarkdownPipelineBuilder().UseAutoIdentifiers(AutoIdentifierOptions.GitHub) .UseEmojiAndSmiley() diff --git a/osu.Game/Graphics/Containers/Markdown/OsuMarkdownSeparator.cs b/osu.Game/Graphics/Containers/Markdown/OsuMarkdownSeparator.cs new file mode 100644 index 0000000000..9b28200452 --- /dev/null +++ b/osu.Game/Graphics/Containers/Markdown/OsuMarkdownSeparator.cs @@ -0,0 +1,26 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using osu.Framework.Allocation; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers.Markdown; +using osu.Game.Overlays; + +namespace osu.Game.Graphics.Containers.Markdown +{ + public class OsuMarkdownSeparator : MarkdownSeparator + { + private Drawable separator; + + [BackgroundDependencyLoader] + private void load(OverlayColourProvider colourProvider) + { + separator.Colour = colourProvider.Background3; + } + + protected override Drawable CreateSeparator() + { + return separator = base.CreateSeparator(); + } + } +}