// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable disable using osu.Framework.Graphics; using osu.Framework.Graphics.Cursor; namespace osu.Game.Graphics.Cursor { /// <summary> /// Interface for <see cref="IDrawable"/>s that display cursors which can replace the user's cursor. /// </summary> public interface IProvideCursor : IDrawable { /// <summary> /// The cursor provided by this <see cref="IDrawable"/>. /// May be null if no cursor should be visible. /// </summary> CursorContainer Cursor { get; } /// <summary> /// Whether <see cref="Cursor"/> should be displayed as the singular user cursor. This will temporarily hide any other user cursor. /// This value is checked every frame and may be used to control whether multiple cursors are displayed (e.g. watching replays). /// </summary> bool ProvidingUserCursor { get; } } }