// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Collections.Generic; using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Game.Graphics.Backgrounds; namespace osu.Game.Graphics.UserInterface { /// /// A button with moving triangles in the background. /// public class TriangleButton : OsuButton, IFilterable { protected Triangles Triangles { get; private set; } [BackgroundDependencyLoader] private void load(OsuColour colours) { Add(Triangles = new Triangles { RelativeSizeAxes = Axes.Both, ColourDark = colours.BlueDarker, ColourLight = colours.Blue, }); } public virtual IEnumerable FilterTerms => new[] { Text }; public bool MatchingFilter { set => this.FadeTo(value ? 1 : 0); } public bool FilteringActive { get; set; } } }