// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; namespace osu.Game.Graphics.UserInterfaceV2 { /// /// Represents an interface for all form controls. /// public interface IFormControl : IDrawable, IHasFilterTerms { /// /// Invoked when the value of the control has changed. /// event Action ValueChanged; /// /// Whether the value of this control is in a default state. /// bool IsDefault { get; } /// /// If enabled, resets the control to its default state. /// void SetDefault(); /// /// Whether the control is currently disabled. /// bool IsDisabled { get; } /// /// The height of the main part of the control (when not expanded). /// This is used to attach external elements. /// float MainDrawHeight { get; } } }