// Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Input; using osu.Game.Graphics.Sprites; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace osu.Game.Graphics.Containers { public class OsuLinkTextFlowContainer : OsuLinkTextFlowContainer { public OsuLinkTextFlowContainer(Action defaultCreationParameters = null) : base(defaultCreationParameters) { } } public class OsuLinkTextFlowContainer : OsuTextFlowContainer where T : OsuLinkSpriteText, new() { public override bool HandleInput => true; public OsuLinkTextFlowContainer(Action defaultCreationParameters = null) : base(defaultCreationParameters) { } protected override SpriteText CreateSpriteText() => new T(); public void AddLink(string text, string url, Action creationParameters = null) { AddText(text, link => { ((T)link).Url = url; creationParameters?.Invoke(link); }); } } }