// 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.Input.States; using osuTK.Input; namespace osu.Framework.Input.StateChanges { public class MouseButtonInput : ButtonInput { public MouseButtonInput(IEnumerable> entries) : base(entries) { } public MouseButtonInput(MouseButton button, bool isPressed) : base(button, isPressed) { } public MouseButtonInput(ButtonStates current, ButtonStates previous) : base(current, previous) { } protected override ButtonStates GetButtonStates(InputState state) => state.Mouse.Buttons; public override void Apply(InputState state, IInputStateChangeHandler handler) { state.Mouse.LastSource = this; base.Apply(state, handler); } } }