From 2252d308c8a67e82c81d6b76e116f00cf6f0ea95 Mon Sep 17 00:00:00 2001 From: Gagah Pangeran Rosfatiputra Date: Wed, 28 Apr 2021 10:53:00 +0700 Subject: [PATCH] add OsuMarkdownTableCell Reference : https://github.com/ppy/osu-web/blob/d56352aeefc412507c3dab7c16e3e3118421b436/resources/assets/less/bem/osu-md.less#L254-L277 --- .../Markdown/OsuMarkdownTableCell.cs | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 osu.Game/Graphics/Containers/Markdown/OsuMarkdownTableCell.cs diff --git a/osu.Game/Graphics/Containers/Markdown/OsuMarkdownTableCell.cs b/osu.Game/Graphics/Containers/Markdown/OsuMarkdownTableCell.cs new file mode 100644 index 0000000000..d8b9145228 --- /dev/null +++ b/osu.Game/Graphics/Containers/Markdown/OsuMarkdownTableCell.cs @@ -0,0 +1,52 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using Markdig.Extensions.Tables; +using osu.Framework.Allocation; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers.Markdown; +using osu.Framework.Graphics.Shapes; +using osu.Game.Overlays; + +namespace osu.Game.Graphics.Containers.Markdown +{ + public class OsuMarkdownTableCell : MarkdownTableCell + { + private readonly bool isHeading; + + public OsuMarkdownTableCell(TableCell cell, TableColumnDefinition definition, bool isHeading) + : base(cell, definition) + { + this.isHeading = isHeading; + Masking = false; + BorderThickness = 0; + } + + [BackgroundDependencyLoader] + private void load(OverlayColourProvider colourProvider) + { + var border = new Box + { + RelativeSizeAxes = Axes.X, + }; + + // TODO : Change font weight to 700 for heading + if (isHeading) + { + border.Colour = colourProvider.Background3; + border.Height = 2; + border.Anchor = Anchor.BottomLeft; + border.Origin = Anchor.BottomLeft; + } + else + { + border.Colour = colourProvider.Background4; + border.Height = 1; + border.Anchor = Anchor.TopLeft; + border.Origin = Anchor.TopLeft; + } + + AddInternal(border); + } + } +}