// 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.
usingSystem;
usingSystem.Collections.Generic;
usingosu.Framework.Allocation;
usingosu.Framework.Graphics;
usingosu.Framework.Graphics.Containers;
usingosu.Framework.Graphics.Shapes;
usingosu.Framework.Input;
usingosu.Framework.Input.Bindings;
usingosu.Framework.Input.Events;
usingosu.Game.Graphics;
usingosuTK;
namespaceosu.Game.Rulesets.Taiko.UI
{
/// <summary>
/// An overlay that captures and displays Taiko mouse and touch input.
/// The boundaries of this overlay defines the interactable area for touch input.
/// A secondary InputDrum is attached by this overlay, which defines the circulary boundary which distinguishes "centre" from "rim" hits, and also displays input.
/// </summary>
publicclassDrumTouchInputArea:Container
{
// The percent of the drum that extends past the bottom of the screen (set to 0.0f to show the full drum)
// Which Taiko action was pressed by the last OnMouseDown event, so that the corresponding action can be released OnMouseUp even if the cursor position moved
privateTaikoActionmouseAction;
// A map of (Finger Index OnTouchDown -> Which Taiko action was pressed), so that the corresponding action can be released OnTouchUp is released even if the touch position moved