A game framework written with osu! in mind.
1// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
2// See the LICENCE file in the repository root for full licence text.
3
4using osu.Framework.Input.States;
5
6namespace osu.Framework.Input.StateChanges
7{
8 /// <summary>
9 /// Denotes an input from an <see cref="Handlers.InputHandler"/>.
10 /// </summary>
11 public interface IInput
12 {
13 /// <summary>
14 /// Applies input to an <see cref="InputState"/>.
15 /// This alters the <see cref="InputState"/> and propagates the change to an <see cref="IInputStateChangeHandler"/>.
16 /// </summary>
17 /// <param name="state">The <see cref="InputState"/> to apply changes to.</param>
18 /// <param name="handler">The <see cref="IInputStateChangeHandler"/> to handle changes to <paramref name="state"/>.</param>
19 void Apply(InputState state, IInputStateChangeHandler handler);
20 }
21}