1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 12:07:23 +08:00

Merge pull request #3523 from ekrctb/handle-input-framework-update

Update framework (UIEvent arg, HandleInput usage)
This commit is contained in:
Dan Balasescu 2018-10-02 15:55:13 +09:00 committed by GitHub
commit dbe055a877
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
126 changed files with 736 additions and 805 deletions

View File

@ -27,9 +27,6 @@ namespace osu.Desktop.Overlays
private NotificationOverlay notificationOverlay;
private GameHost host;
public override bool HandleNonPositionalInput => false;
public override bool HandlePositionalInput => false;
[BackgroundDependencyLoader]
private void load(NotificationOverlay notification, OsuColour colours, TextureStore textures, OsuGameBase game, OsuConfigManager config, GameHost host)
{

View File

@ -12,6 +12,9 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
{
public class CirclePiece : Container, IKeyBindingHandler<OsuAction>
{
// IsHovered is used
public override bool HandlePositionalInput => true;
public Func<bool> Hit;
public CirclePiece()

View File

@ -5,11 +5,11 @@ using System.Linq;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Rulesets.Objects.Types;
using OpenTK.Graphics;
using osu.Game.Skinning;
using OpenTK;
namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
{
@ -102,24 +102,24 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
};
}
private InputState lastState;
private Vector2? lastScreenSpaceMousePosition;
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
lastState = state;
return base.OnMouseDown(state, args);
lastScreenSpaceMousePosition = e.ScreenSpaceMousePosition;
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
lastState = state;
return base.OnMouseUp(state, args);
lastScreenSpaceMousePosition = e.ScreenSpaceMousePosition;
return base.OnMouseUp(e);
}
protected override bool OnMouseMove(InputState state)
protected override bool OnMouseMove(MouseMoveEvent e)
{
lastState = state;
return base.OnMouseMove(state);
lastScreenSpaceMousePosition = e.ScreenSpaceMousePosition;
return base.OnMouseMove(e);
}
public override void ClearTransformsAfter(double time, bool propagateChildren = false, string targetMember = null)
@ -155,8 +155,8 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
{
// Make sure to use the base version of ReceivePositionalInputAt so that we correctly check the position.
Tracking = canCurrentlyTrack
&& lastState != null
&& ReceivePositionalInputAt(lastState.Mouse.NativeState.Position)
&& lastScreenSpaceMousePosition.HasValue
&& ReceivePositionalInputAt(lastScreenSpaceMousePosition.Value)
&& (drawableSlider?.OsuActionInputManager?.PressedActions.Any(x => x == OsuAction.LeftButton || x == OsuAction.RightButton) ?? false);
}
}

View File

@ -11,9 +11,6 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
{
public class SpinnerBackground : CircularContainer, IHasAccentColour
{
public override bool HandleNonPositionalInput => false;
public override bool HandlePositionalInput => false;
protected Box Disc;
public Color4 AccentColour

View File

@ -4,7 +4,7 @@
using System;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using OpenTK;
using OpenTK.Graphics;
@ -68,10 +68,10 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
}
}
protected override bool OnMouseMove(InputState state)
protected override bool OnMouseMove(MouseMoveEvent e)
{
mousePosition = Parent.ToLocalSpace(state.Mouse.NativeState.Position);
return base.OnMouseMove(state);
mousePosition = Parent.ToLocalSpace(e.ScreenSpaceMousePosition);
return base.OnMouseMove(e);
}
private Vector2 mousePosition;

View File

@ -4,8 +4,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Rulesets.UI;
namespace osu.Game.Rulesets.Osu
@ -36,13 +35,11 @@ namespace osu.Game.Rulesets.Osu
{
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args) => AllowUserPresses && base.OnKeyDown(state, args);
protected override bool OnKeyUp(InputState state, KeyUpEventArgs args) => AllowUserPresses && base.OnKeyUp(state, args);
protected override bool OnJoystickPress(InputState state, JoystickEventArgs args) => AllowUserPresses && base.OnJoystickPress(state, args);
protected override bool OnJoystickRelease(InputState state, JoystickEventArgs args) => AllowUserPresses && base.OnJoystickRelease(state, args);
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args) => AllowUserPresses && base.OnMouseDown(state, args);
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args) => AllowUserPresses && base.OnMouseUp(state, args);
protected override bool OnScroll(InputState state) => AllowUserPresses && base.OnScroll(state);
protected override bool Handle(UIEvent e)
{
if (!AllowUserPresses) return false;
return base.Handle(e);
}
}
}

View File

@ -12,7 +12,7 @@ using osu.Framework.Graphics.Primitives;
using osu.Framework.Graphics.Shaders;
using osu.Framework.Graphics.Textures;
using osu.Framework.Input;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Timing;
using OpenTK;
using OpenTK.Graphics;
@ -117,15 +117,15 @@ namespace osu.Game.Rulesets.Osu.UI.Cursor
timeOffset = Time.Current;
}
protected override bool OnMouseMove(InputState state)
protected override bool OnMouseMove(MouseMoveEvent e)
{
Vector2 pos = state.Mouse.NativeState.Position;
Vector2 pos = e.ScreenSpaceMousePosition;
if (lastPosition == null)
{
lastPosition = pos;
resampler.AddPosition(lastPosition.Value);
return base.OnMouseMove(state);
return base.OnMouseMove(e);
}
foreach (Vector2 pos2 in resampler.AddPosition(pos))
@ -147,7 +147,7 @@ namespace osu.Game.Rulesets.Osu.UI.Cursor
}
}
return base.OnMouseMove(state);
return base.OnMouseMove(e);
}
private void addPosition(Vector2 pos)

View File

@ -7,7 +7,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.MathUtils;
using osu.Game.Graphics.Cursor;
using osu.Game.Graphics.Sprites;
@ -184,7 +184,7 @@ namespace osu.Game.Tests.Visual
/// </summary>
/// <param name="cursorContainer">The cursor to check.</param>
private bool checkAtMouse(CursorContainer cursorContainer)
=> Precision.AlmostEquals(InputManager.CurrentState.Mouse.NativeState.Position, cursorContainer.ToScreenSpace(cursorContainer.ActiveCursor.DrawPosition));
=> Precision.AlmostEquals(InputManager.CurrentState.Mouse.Position, cursorContainer.ToScreenSpace(cursorContainer.ActiveCursor.DrawPosition));
private class CustomCursorBox : Container, IProvideCursor
{
@ -224,16 +224,16 @@ namespace osu.Game.Tests.Visual
};
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
background.FadeTo(0.4f, 250, Easing.OutQuint);
return false;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
background.FadeTo(0.1f, 250);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
}

View File

@ -30,10 +30,6 @@ namespace osu.Game.Graphics.Backgrounds
/// </summary>
private const float edge_smoothness = 1;
public override bool HandleNonPositionalInput => false;
public override bool HandlePositionalInput => false;
public Color4 ColourLight = Color4.White;
public Color4 ColourDark = Color4.Black;

View File

@ -20,8 +20,6 @@ namespace osu.Game.Graphics.Containers
{
}
public override bool HandlePositionalInput => true;
private OsuGame game;
private Action showNotImplementedError;

View File

@ -8,7 +8,7 @@ using osu.Framework.Graphics.Containers;
using OpenTK;
using osu.Framework.Configuration;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Audio;
using osu.Game.Input.Bindings;
using osu.Game.Overlays;
@ -59,15 +59,15 @@ namespace osu.Game.Graphics.Containers
// receive input outside our bounds so we can trigger a close event on ourselves.
public override bool ReceivePositionalInputAt(Vector2 screenSpacePos) => BlockScreenWideMouse || base.ReceivePositionalInputAt(screenSpacePos);
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if (!base.ReceivePositionalInputAt(state.Mouse.NativeState.Position))
if (!base.ReceivePositionalInputAt(e.ScreenSpaceMousePosition))
{
State = Visibility.Hidden;
return true;
}
return base.OnClick(state);
return base.OnClick(e);
}
public virtual bool OnPressed(GlobalAction action)

View File

@ -6,7 +6,7 @@ using OpenTK.Graphics;
using osu.Framework.Allocation;
using osu.Framework.Extensions.IEnumerableExtensions;
using osu.Framework.Graphics;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Graphics.Containers
{
@ -18,16 +18,16 @@ namespace osu.Game.Graphics.Containers
protected virtual IEnumerable<Drawable> EffectTargets => new[] { Content };
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
EffectTargets.ForEach(d => d.FadeColour(HoverColour, 500, Easing.OutQuint));
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
EffectTargets.ForEach(d => d.FadeColour(IdleColour, 500, Easing.OutQuint));
base.OnHoverLost(state);
base.OnHoverLost(e);
}
[BackgroundDependencyLoader]

View File

@ -2,8 +2,7 @@
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using OpenTK.Input;
namespace osu.Game.Graphics.Containers
@ -21,7 +20,7 @@ namespace osu.Game.Graphics.Containers
/// </summary>
public double DistanceDecayOnRightMouseScrollbar = 0.02;
private bool shouldPerformRightMouseScroll(InputState state) => RightMouseScrollbar && state.Mouse.IsPressed(MouseButton.Right);
private bool shouldPerformRightMouseScroll(MouseButtonEvent e) => RightMouseScrollbar && e.Button == MouseButton.Right;
private void scrollToRelative(float value) => ScrollTo(Clamp((value - Scrollbar.DrawSize[ScrollDim] / 2) / Scrollbar.Size[ScrollDim]), true, DistanceDecayOnRightMouseScrollbar);
@ -29,40 +28,40 @@ namespace osu.Game.Graphics.Containers
protected override bool IsDragging => base.IsDragging || mouseScrollBarDragging;
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
if (shouldPerformRightMouseScroll(state))
if (shouldPerformRightMouseScroll(e))
{
scrollToRelative(state.Mouse.Position[ScrollDim]);
scrollToRelative(e.MousePosition[ScrollDim]);
return true;
}
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnDrag(InputState state)
protected override bool OnDrag(DragEvent e)
{
if (mouseScrollBarDragging)
{
scrollToRelative(state.Mouse.Position[ScrollDim]);
scrollToRelative(e.MousePosition[ScrollDim]);
return true;
}
return base.OnDrag(state);
return base.OnDrag(e);
}
protected override bool OnDragStart(InputState state)
protected override bool OnDragStart(DragStartEvent e)
{
if (shouldPerformRightMouseScroll(state))
if (shouldPerformRightMouseScroll(e))
{
mouseScrollBarDragging = true;
return true;
}
return base.OnDragStart(state);
return base.OnDragStart(e);
}
protected override bool OnDragEnd(InputState state)
protected override bool OnDragEnd(DragEndEvent e)
{
if (mouseScrollBarDragging)
{
@ -70,7 +69,7 @@ namespace osu.Game.Graphics.Containers
return true;
}
return base.OnDragEnd(state);
return base.OnDragEnd(e);
}
}
}

View File

@ -67,7 +67,7 @@ namespace osu.Game.Graphics.Containers
if (parallaxEnabled)
{
Vector2 offset = (input.CurrentState.Mouse == null ? Vector2.Zero : ToLocalSpace(input.CurrentState.Mouse.NativeState.Position) - DrawSize / 2) * ParallaxAmount;
Vector2 offset = (input.CurrentState.Mouse == null ? Vector2.Zero : ToLocalSpace(input.CurrentState.Mouse.Position) - DrawSize / 2) * ParallaxAmount;
double elapsed = MathHelper.Clamp(Clock.ElapsedFrameTime, 0, 1000);

View File

@ -12,8 +12,7 @@ using osu.Game.Configuration;
using System;
using JetBrains.Annotations;
using osu.Framework.Graphics.Textures;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using OpenTK.Input;
namespace osu.Game.Graphics.Cursor
@ -40,11 +39,11 @@ namespace osu.Game.Graphics.Cursor
screenshotCursorVisibility.BindTo(screenshotManager.CursorVisibility);
}
protected override bool OnMouseMove(InputState state)
protected override bool OnMouseMove(MouseMoveEvent e)
{
if (dragRotationState != DragRotationState.NotDragging)
{
var position = state.Mouse.Position;
var position = e.MousePosition;
var distance = Vector2Extensions.Distance(position, positionMouseDown);
// don't start rotating until we're moved a minimum distance away from the mouse down location,
// else it can have an annoying effect.
@ -53,7 +52,7 @@ namespace osu.Game.Graphics.Cursor
// don't rotate when distance is zero to avoid NaN
if (dragRotationState == DragRotationState.Rotating && distance > 0)
{
Vector2 offset = state.Mouse.Position - positionMouseDown;
Vector2 offset = e.MousePosition - positionMouseDown;
float degrees = (float)MathHelper.RadiansToDegrees(Math.Atan2(-offset.X, offset.Y)) + 24.3f;
// Always rotate in the direction of least distance
@ -66,13 +65,13 @@ namespace osu.Game.Graphics.Cursor
}
}
return base.OnMouseMove(state);
return base.OnMouseMove(e);
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
// only trigger animation for main mouse buttons
if (args.Button <= MouseButton.Right)
if (e.Button <= MouseButton.Right)
{
activeCursor.Scale = new Vector2(1);
activeCursor.ScaleTo(0.90f, 800, Easing.OutQuint);
@ -81,29 +80,29 @@ namespace osu.Game.Graphics.Cursor
activeCursor.AdditiveLayer.FadeInFromZero(800, Easing.OutQuint);
}
if (args.Button == MouseButton.Left && cursorRotate)
if (e.Button == MouseButton.Left && cursorRotate)
{
dragRotationState = DragRotationState.DragStarted;
positionMouseDown = state.Mouse.Position;
positionMouseDown = e.MousePosition;
}
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
if (!state.Mouse.HasMainButtonPressed)
if (!e.IsPressed(MouseButton.Left) && !e.IsPressed(MouseButton.Right))
{
activeCursor.AdditiveLayer.FadeOutFromOne(500, Easing.OutQuint);
activeCursor.ScaleTo(1, 500, Easing.OutElastic);
}
if (args.Button == MouseButton.Left)
if (e.Button == MouseButton.Left)
{
if (dragRotationState == DragRotationState.Rotating)
activeCursor.RotateTo(0, 600 * (1 + Math.Abs(activeCursor.Rotation / 720)), Easing.OutElasticHalf);
dragRotationState = DragRotationState.NotDragging;
}
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
protected override void PopIn()

View File

@ -54,8 +54,6 @@ namespace osu.Game.Graphics
Scheduler.AddDelayed(updateTimeWithReschedule, timeUntilNextUpdate);
}
public override bool HandlePositionalInput => true;
protected virtual string Format() => Date.Humanize();
private void updateTime() => Text = Format();

View File

@ -13,7 +13,7 @@ using osu.Game.Graphics.Sprites;
using osu.Framework.Extensions.Color4Extensions;
using osu.Game.Graphics.Containers;
using osu.Framework.Configuration;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Graphics.UserInterface
{
@ -213,7 +213,7 @@ namespace osu.Game.Graphics.UserInterface
public override bool ReceivePositionalInputAt(Vector2 screenSpacePos) => backgroundContainer.ReceivePositionalInputAt(screenSpacePos);
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
colourContainer.ResizeTo(new Vector2(1.5f, 1f), click_duration, Easing.In);
flash();
@ -225,20 +225,20 @@ namespace osu.Game.Graphics.UserInterface
glowContainer.FadeOut();
});
return base.OnClick(state);
return base.OnClick(e);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
base.OnHover(state);
base.OnHover(e);
Selected.Value = true;
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
base.OnHoverLost(state);
base.OnHoverLost(e);
Selected.Value = false;
}

View File

@ -5,7 +5,7 @@ using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Platform;
using OpenTK;
using OpenTK.Graphics;
@ -37,19 +37,19 @@ namespace osu.Game.Graphics.UserInterface
this.host = host;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
InternalChild.FadeColour(hoverColour, 500, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
InternalChild.FadeColour(Color4.White, 500, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if(Link != null)
host.OpenUrlExternally(Link);

View File

@ -3,8 +3,7 @@
using OpenTK.Graphics;
using System;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Input.Bindings;
using OpenTK.Input;
@ -36,20 +35,20 @@ namespace osu.Game.Graphics.UserInterface
// We may not be focused yet, but we need to handle keyboard input to be able to request focus
public override bool HandleNonPositionalInput => HoldFocus || base.HandleNonPositionalInput;
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
base.OnFocus(state);
base.OnFocus(e);
BorderThickness = 0;
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
if (!HasFocus) return false;
if (args.Key == Key.Escape)
if (e.Key == Key.Escape)
return false; // disable the framework-level handling of escape key for confority (we use GlobalAction.Back).
return base.OnKeyDown(state, args);
return base.OnKeyDown(e);
}
public override bool OnPressed(GlobalAction action)

View File

@ -5,7 +5,7 @@ using osu.Framework.Allocation;
using osu.Framework.Audio;
using osu.Framework.Audio.Sample;
using osu.Framework.Extensions;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Graphics.UserInterface
{
@ -21,10 +21,10 @@ namespace osu.Game.Graphics.UserInterface
{
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
sampleClick?.Play();
return base.OnClick(state);
return base.OnClick(e);
}
[BackgroundDependencyLoader]

View File

@ -8,7 +8,7 @@ using osu.Framework.Audio.Sample;
using osu.Framework.Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Graphics.UserInterface
{
@ -28,10 +28,10 @@ namespace osu.Game.Graphics.UserInterface
RelativeSizeAxes = Axes.Both;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
sampleHover?.Play();
return base.OnHover(state);
return base.OnHover(e);
}
[BackgroundDependencyLoader]

View File

@ -4,7 +4,7 @@
using OpenTK;
using OpenTK.Graphics;
using osu.Framework.Graphics;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Graphics.UserInterface
{
@ -84,16 +84,16 @@ namespace osu.Game.Graphics.UserInterface
});
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
icon.FadeColour(IconHoverColour, 500, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
icon.FadeColour(IconColour, 500, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
}
}

View File

@ -6,8 +6,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Containers;
using OpenTK.Graphics;
@ -77,34 +76,34 @@ namespace osu.Game.Graphics.UserInterface
Enabled.BindValueChanged(enabled => this.FadeColour(enabled ? Color4.White : colours.Gray9, 200, Easing.OutQuint), true);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
hover.FadeIn(500, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
hover.FadeOut(500, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
hover.FlashColour(FlashColour, 800, Easing.OutQuint);
return base.OnClick(state);
return base.OnClick(e);
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
Content.ScaleTo(0.75f, 2000, Easing.OutQuint);
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
Content.ScaleTo(1, 1000, Easing.OutElastic);
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
}
}

View File

@ -7,8 +7,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Sprites;
using OpenTK.Graphics;
@ -56,28 +55,28 @@ namespace osu.Game.Graphics.UserInterface
this.FadeColour(enabled ? Color4.White : Color4.Gray, 200, Easing.OutQuint);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
hover.FadeIn(200);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
hover.FadeOut(200);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
Content.ScaleTo(0.9f, 4000, Easing.OutQuint);
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
Content.ScaleTo(1, 1000, Easing.OutElastic);
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
protected override SpriteText CreateText() => new OsuSpriteText

View File

@ -8,7 +8,7 @@ using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Sprites;
using OpenTK.Graphics;
@ -95,18 +95,18 @@ namespace osu.Game.Graphics.UserInterface
};
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
Nub.Glowing = true;
Nub.Expanded = true;
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
Nub.Glowing = false;
Nub.Expanded = false;
base.OnHoverLost(state);
base.OnHoverLost(e);
}
[BackgroundDependencyLoader]

View File

@ -97,6 +97,9 @@ namespace osu.Game.Graphics.UserInterface
#region DrawableOsuDropdownMenuItem
public class DrawableOsuDropdownMenuItem : DrawableDropdownMenuItem, IHasAccentColour
{
// IsHovered is used
public override bool HandlePositionalInput => true;
private Color4? accentColour;
public Color4 AccentColour
{

View File

@ -10,7 +10,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Sprites;
using OpenTK;
@ -97,25 +97,25 @@ namespace osu.Game.Graphics.UserInterface
}
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
sampleHover.Play();
text.BoldText.FadeIn(transition_length, Easing.OutQuint);
text.NormalText.FadeOut(transition_length, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
text.BoldText.FadeOut(transition_length, Easing.OutQuint);
text.NormalText.FadeIn(transition_length, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
sampleClick.Play();
return base.OnClick(state);
return base.OnClick(e);
}
protected sealed override Drawable CreateContent() => text = CreateTextContainer();

View File

@ -9,8 +9,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Platform;
namespace osu.Game.Graphics.UserInterface
@ -43,23 +42,23 @@ namespace osu.Game.Graphics.UserInterface
this.host = host;
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
if (args.Key == Key.CapsLock)
if (e.Key == Key.CapsLock)
updateCapsWarning(host.CapsLockEnabled);
return base.OnKeyDown(state, args);
return base.OnKeyDown(e);
}
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
updateCapsWarning(host.CapsLockEnabled);
base.OnFocus(state);
base.OnFocus(e);
}
protected override void OnFocusLost(InputState state)
protected override void OnFocusLost(FocusLostEvent e)
{
updateCapsWarning(false);
base.OnFocusLost(state);
base.OnFocusLost(e);
}
private void updateCapsWarning(bool visible) => warning.FadeTo(visible ? 1 : 0, 250, Easing.OutQuint);

View File

@ -13,8 +13,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Graphics.UserInterface
{
@ -125,16 +124,16 @@ namespace osu.Game.Graphics.UserInterface
AccentColour = colours.Pink;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
Nub.Glowing = true;
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
Nub.Glowing = false;
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override void OnUserChange()
@ -164,16 +163,16 @@ namespace osu.Game.Graphics.UserInterface
sample.Play();
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
Nub.Current.Value = true;
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
Nub.Current.Value = false;
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
protected override void UpdateAfterChildren()

View File

@ -14,7 +14,7 @@ using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.MathUtils;
using osu.Game.Graphics.Sprites;
@ -126,14 +126,14 @@ namespace osu.Game.Graphics.UserInterface
Text.FadeColour(AccentColour, transition_length, Easing.OutQuint);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
if (!Active)
fadeActive();
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
if (!Active)
fadeInactive();
@ -265,16 +265,16 @@ namespace osu.Game.Graphics.UserInterface
Padding = new MarginPadding { Left = 5, Right = 5 };
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
Foreground.Colour = BackgroundColour;
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
Foreground.Colour = BackgroundColourHover;
base.OnHoverLost(state);
base.OnHoverLost(e);
}
}
}

View File

@ -10,7 +10,7 @@ using osu.Framework.Graphics.Shapes;
using osu.Game.Graphics.Sprites;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Graphics.UserInterface
{
@ -59,18 +59,18 @@ namespace osu.Game.Graphics.UserInterface
text.FadeColour(AccentColour, transition_length, Easing.OutQuint);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
fadeIn();
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
if (!Current)
fadeOut();
base.OnHoverLost(state);
base.OnHoverLost(e);
}
[BackgroundDependencyLoader]

View File

@ -9,7 +9,7 @@ using osu.Game.Graphics.Sprites;
using OpenTK.Graphics;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Input.Bindings;
namespace osu.Game.Graphics.UserInterface
@ -44,17 +44,17 @@ namespace osu.Game.Graphics.UserInterface
BorderColour = colour.Yellow;
}
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
BorderThickness = 3;
base.OnFocus(state);
base.OnFocus(e);
}
protected override void OnFocusLost(InputState state)
protected override void OnFocusLost(FocusLostEvent e)
{
BorderThickness = 0;
base.OnFocusLost(state);
base.OnFocusLost(e);
}
protected override Drawable GetDrawableCharacter(char c) => new OsuSpriteText { Text = c.ToString(), TextSize = CalculatedTextSize };

View File

@ -10,7 +10,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Sprites;
namespace osu.Game.Graphics.UserInterface
@ -67,14 +67,14 @@ namespace osu.Game.Graphics.UserInterface
box.Colour = colours.Yellow;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
if (!Active)
slideActive();
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
if (!Active)
slideInactive();

View File

@ -2,8 +2,7 @@
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using OpenTK;
using OpenTK.Input;
@ -33,11 +32,11 @@ namespace osu.Game.Graphics.UserInterface
PlaceholderText = "type to search";
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
if (!state.Keyboard.ControlPressed && !state.Keyboard.ShiftPressed)
if (!e.ControlPressed && !e.ShiftPressed)
{
switch (args.Key)
switch (e.Key)
{
case Key.Left:
case Key.Right:
@ -49,7 +48,7 @@ namespace osu.Game.Graphics.UserInterface
if (!AllowCommit)
{
switch (args.Key)
switch (e.Key)
{
case Key.KeypadEnter:
case Key.Enter:
@ -57,16 +56,16 @@ namespace osu.Game.Graphics.UserInterface
}
}
if (state.Keyboard.ShiftPressed)
if (e.ShiftPressed)
{
switch (args.Key)
switch (e.Key)
{
case Key.Delete:
return false;
}
}
return base.OnKeyDown(state, args);
return base.OnKeyDown(e);
}
}
}

View File

@ -13,8 +13,7 @@ using osu.Game.Beatmaps.ControlPoints;
using osu.Framework.Audio.Track;
using System;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Graphics.UserInterface
{
@ -172,7 +171,7 @@ namespace osu.Game.Graphics.UserInterface
public override bool ReceivePositionalInputAt(Vector2 screenSpacePos) => IconLayer.ReceivePositionalInputAt(screenSpacePos) || TextLayer.ReceivePositionalInputAt(screenSpacePos);
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
this.ResizeTo(SIZE_EXTENDED, transform_time, Easing.OutElastic);
IconLayer.FadeColour(HoverColour, transform_time, Easing.OutElastic);
@ -182,7 +181,7 @@ namespace osu.Game.Graphics.UserInterface
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
this.ResizeTo(SIZE_RETRACTED, transform_time, Easing.OutElastic);
IconLayer.FadeColour(TextLayer.Colour, transform_time, Easing.OutElastic);
@ -190,12 +189,12 @@ namespace osu.Game.Graphics.UserInterface
bouncingIcon.ScaleTo(1, transform_time, Easing.OutElastic);
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
return true;
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
var flash = new Box
{
@ -209,7 +208,7 @@ namespace osu.Game.Graphics.UserInterface
flash.FadeOut(500, Easing.OutQuint);
flash.Expire();
return base.OnClick(state);
return base.OnClick(e);
}
private class BouncingIcon : BeatSyncedContainer

View File

@ -10,7 +10,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Drawables;
using osu.Game.Graphics;
@ -174,9 +174,9 @@ namespace osu.Game.Overlays.BeatmapSet
{
public Action OnLostHover;
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
base.OnHoverLost(state);
base.OnHoverLost(e);
OnLostHover?.Invoke();
}
}
@ -241,24 +241,24 @@ namespace osu.Game.Overlays.BeatmapSet
};
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
fadeIn();
OnHovered?.Invoke(Beatmap);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
if (State == DifficultySelectorState.NotSelected)
fadeOut();
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
OnClicked?.Invoke(Beatmap);
return base.OnClick(state);
return base.OnClick(e);
}
private void fadeIn()

View File

@ -7,7 +7,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Audio;
using osu.Game.Beatmaps;
using osu.Game.Graphics;
@ -89,16 +89,16 @@ namespace osu.Game.Overlays.BeatmapSet.Buttons
progress.Width = 0;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
bg.FadeColour(Color4.Black.Opacity(0.5f), 100);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
bg.FadeColour(Color4.Black.Opacity(0.25f), 100);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
}
}

View File

@ -3,7 +3,7 @@
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
using osu.Game.Users;
@ -53,7 +53,7 @@ namespace osu.Game.Overlays.BeatmapSet.Scores
this.profile = profile;
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
profile?.ShowUser(user);
return true;

View File

@ -6,7 +6,7 @@ using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Online.API.Requests.Responses;
@ -125,18 +125,18 @@ namespace osu.Game.Overlays.BeatmapSet.Scores
background.Colour = colours.Gray4;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
background.FadeIn(fade_duration, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
background.FadeOut(fade_duration, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnClick(InputState state) => true;
protected override bool OnClick(ClickEvent e) => true;
}
}

View File

@ -8,7 +8,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Online.API.Requests.Responses;
@ -184,16 +184,16 @@ namespace osu.Game.Overlays.BeatmapSet.Scores
BorderColour = rankText.Colour = colours.Yellow;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
background.FadeIn(fade_duration, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
background.FadeOut(fade_duration, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
private class InfoColumn : FillFlowContainer

View File

@ -7,7 +7,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Beatmaps;
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
@ -127,7 +127,7 @@ namespace osu.Game.Overlays
FadeEdgeEffectTo(0, WaveContainer.DISAPPEAR_DURATION, Easing.Out).OnComplete(_ => BeatmapSet = null);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
State = Visibility.Hidden;
return true;

View File

@ -9,7 +9,7 @@ using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Online.Chat;
@ -155,15 +155,15 @@ namespace osu.Game.Overlays.Chat
FinishTransforms(true);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
if (!channel.Joined.Value)
name.FadeColour(hoverColour, 50, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
if (!channel.Joined.Value)
name.FadeColour(Color4.White, transition_duration);

View File

@ -10,7 +10,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Backgrounds;
using osu.Game.Graphics.Sprites;
@ -150,10 +150,10 @@ namespace osu.Game.Overlays.Chat
headerBg.Colour = colours.Gray2.Opacity(0.75f);
}
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
GetContainingInputManager().ChangeFocus(search);
base.OnFocus(state);
base.OnFocus(e);
}
protected override void PopIn()

View File

@ -17,8 +17,7 @@ using OpenTK.Input;
using OpenTK.Graphics;
using osu.Framework.Configuration;
using System;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays.Chat
@ -144,9 +143,9 @@ namespace osu.Game.Overlays.Chat
textBold.FadeOut(transition_length, Easing.OutQuint);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
if (args.Button == MouseButton.Middle)
if (e.Button == MouseButton.Middle)
{
closeButton.Action();
return true;
@ -155,7 +154,7 @@ namespace osu.Game.Overlays.Chat
return false;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
if (IsRemovable)
closeButton.FadeIn(200, Easing.OutQuint);
@ -165,7 +164,7 @@ namespace osu.Game.Overlays.Chat
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
closeButton.FadeOut(200, Easing.OutQuint);
updateState();
@ -291,28 +290,28 @@ namespace osu.Game.Overlays.Chat
};
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
icon.ScaleTo(0.5f, 1000, Easing.OutQuint);
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
icon.ScaleTo(0.75f, 1000, Easing.OutElastic);
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
icon.FadeColour(Color4.Red, 200, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
icon.FadeColour(Color4.White, 200, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
}

View File

@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using OpenTK;
using OpenTK.Graphics;
@ -13,7 +12,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Threading;
using osu.Game.Configuration;
using osu.Game.Graphics;
@ -52,7 +51,7 @@ namespace osu.Game.Overlays
private readonly ChatTabControl channelTabs;
private readonly Container chatContainer;
private readonly Container tabsArea;
private readonly TabsArea tabsArea;
private readonly Box chatBackground;
private readonly Box tabBackground;
@ -146,11 +145,8 @@ namespace osu.Game.Overlays
loading = new LoadingAnimation(),
}
},
tabsArea = new Container
tabsArea = new TabsArea
{
Name = @"tabs area",
RelativeSizeAxes = Axes.X,
Height = TAB_AREA_HEIGHT,
Children = new Drawable[]
{
tabBackground = new Box
@ -191,25 +187,22 @@ namespace osu.Game.Overlays
public void OpenChannel(Channel channel) => addChannel(channel);
protected override bool OnDragStart(InputState state)
protected override bool OnDragStart(DragStartEvent e)
{
isDragging = tabsArea.IsHovered;
if (!isDragging)
return base.OnDragStart(state);
return base.OnDragStart(e);
startDragChatHeight = ChatHeight.Value;
return true;
}
protected override bool OnDrag(InputState state)
protected override bool OnDrag(DragEvent e)
{
if (isDragging)
{
Trace.Assert(state.Mouse.PositionMouseDown != null);
// ReSharper disable once PossibleInvalidOperationException
double targetChatHeight = startDragChatHeight - (state.Mouse.Position.Y - state.Mouse.PositionMouseDown.Value.Y) / Parent.DrawSize.Y;
double targetChatHeight = startDragChatHeight - (e.MousePosition.Y - e.MouseDownPosition.Y) / Parent.DrawSize.Y;
// If the channel selection screen is shown, mind its minimum height
if (channelSelection.State == Visibility.Visible && targetChatHeight > 1f - channel_selection_min_height)
@ -221,10 +214,10 @@ namespace osu.Game.Overlays
return true;
}
protected override bool OnDragEnd(InputState state)
protected override bool OnDragEnd(DragEndEvent e)
{
isDragging = false;
return base.OnDragEnd(state);
return base.OnDragEnd(e);
}
public void APIStateChanged(APIAccess api, APIState state)
@ -242,11 +235,11 @@ namespace osu.Game.Overlays
public override bool AcceptsFocus => true;
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
//this is necessary as textbox is masked away and therefore can't get focus :(
GetContainingInputManager().ChangeFocus(textbox);
base.OnFocus(state);
base.OnFocus(e);
}
protected override void PopIn()
@ -545,5 +538,18 @@ namespace osu.Game.Overlays
api.Queue(req);
}
private class TabsArea : Container
{
// IsHovered is used
public override bool HandlePositionalInput => true;
public TabsArea()
{
Name = @"tabs area";
RelativeSizeAxes = Axes.X;
Height = TAB_AREA_HEIGHT;
}
}
}
}

View File

@ -8,8 +8,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Backgrounds;
using osu.Game.Graphics.Containers;
@ -206,12 +205,12 @@ namespace osu.Game.Overlays.Dialog
return base.OnPressed(action);
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
if (args.Repeat) return false;
if (e.Repeat) return false;
// press button at number if 1-9 on number row or keypad are pressed
var k = args.Key;
var k = e.Key;
if (k >= Key.Number1 && k <= Key.Number9)
{
pressButtonAtIndex(k - Key.Number1);
@ -224,7 +223,7 @@ namespace osu.Game.Overlays.Dialog
return true;
}
return base.OnKeyDown(state, args);
return base.OnKeyDown(e);
}
protected override void PopIn()

View File

@ -10,7 +10,7 @@ using osu.Framework.Graphics.Containers;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Localisation;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Drawables;
@ -227,15 +227,15 @@ namespace osu.Game.Overlays.Direct
PreviewPlaying.ValueChanged += _ => updateStatusContainer();
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
updateStatusContainer();
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
base.OnHoverLost(state);
base.OnHoverLost(e);
updateStatusContainer();
}

View File

@ -10,7 +10,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Audio;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Drawables;
@ -121,27 +121,27 @@ namespace osu.Game.Overlays.Direct
}
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
content.TweenEdgeEffectTo(edgeEffectHovered, hover_transition_time, Easing.OutQuint);
content.MoveToY(-4, hover_transition_time, Easing.OutQuint);
if (FadePlayButton)
PlayButton.FadeIn(120, Easing.InOutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
content.TweenEdgeEffectTo(edgeEffectNormal, hover_transition_time, Easing.OutQuint);
content.MoveToY(0, hover_transition_time, Easing.OutQuint);
if (FadePlayButton && !PreviewPlaying)
PlayButton.FadeOut(120, Easing.InOutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
ShowInformation();
return true;

View File

@ -5,7 +5,7 @@ using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Audio;
using osu.Game.Beatmaps;
using osu.Game.Graphics;
@ -93,23 +93,23 @@ namespace osu.Game.Overlays.Direct
hoverColour = colour.Yellow;
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
Playing.Toggle();
return true;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
icon.FadeColour(hoverColour, 120, Easing.InOutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
if (!Playing.Value)
icon.FadeColour(Color4.White, 120, Easing.InOutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
private void playingStateChanged(bool playing)

View File

@ -10,15 +10,13 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
using osu.Game.Input;
using OpenTK.Graphics;
using OpenTK.Input;
using JoystickEventArgs = osu.Framework.Input.EventArgs.JoystickEventArgs;
namespace osu.Game.Overlays.KeyBinding
{
@ -125,18 +123,18 @@ namespace osu.Game.Overlays.KeyBinding
}
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
FadeEdgeEffectTo(1, transition_time, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
FadeEdgeEffectTo(0, transition_time, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
public override bool AcceptsFocus => bindTarget == null;
@ -149,16 +147,16 @@ namespace osu.Game.Overlays.KeyBinding
private bool isModifier(Key k) => k < Key.F1;
protected override bool OnClick(InputState state) => true;
protected override bool OnClick(ClickEvent e) => true;
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
if (!HasFocus || !bindTarget.IsHovered)
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
if (!AllowMainMouseButtons)
{
switch (args.Button)
switch (e.Button)
{
case MouseButton.Left:
case MouseButton.Right:
@ -166,15 +164,15 @@ namespace osu.Game.Overlays.KeyBinding
}
}
bindTarget.UpdateKeyCombination(KeyCombination.FromInputState(state));
bindTarget.UpdateKeyCombination(KeyCombination.FromInputState(e.CurrentState));
return true;
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
// don't do anything until the last button is released.
if (!HasFocus || state.Mouse.Buttons.Any())
return base.OnMouseUp(state, args);
if (!HasFocus || e.HasAnyButtonPressed)
return base.OnMouseUp(e);
if (bindTarget.IsHovered)
finalise();
@ -183,31 +181,31 @@ namespace osu.Game.Overlays.KeyBinding
return true;
}
protected override bool OnScroll(InputState state)
protected override bool OnScroll(ScrollEvent e)
{
if (HasFocus)
{
if (bindTarget.IsHovered)
{
bindTarget.UpdateKeyCombination(KeyCombination.FromInputState(state, state.Mouse.ScrollDelta));
bindTarget.UpdateKeyCombination(KeyCombination.FromInputState(e.CurrentState, e.ScrollDelta));
finalise();
return true;
}
}
return base.OnScroll(state);
return base.OnScroll(e);
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
if (!HasFocus)
return false;
switch (args.Key)
switch (e.Key)
{
case Key.Delete:
{
if (state.Keyboard.ShiftPressed)
if (e.ShiftPressed)
{
bindTarget.UpdateKeyCombination(InputKey.None);
finalise();
@ -218,35 +216,35 @@ namespace osu.Game.Overlays.KeyBinding
}
}
bindTarget.UpdateKeyCombination(KeyCombination.FromInputState(state));
if (!isModifier(args.Key)) finalise();
bindTarget.UpdateKeyCombination(KeyCombination.FromInputState(e.CurrentState));
if (!isModifier(e.Key)) finalise();
return true;
}
protected override bool OnKeyUp(InputState state, KeyUpEventArgs args)
protected override bool OnKeyUp(KeyUpEvent e)
{
if (!HasFocus) return base.OnKeyUp(state, args);
if (!HasFocus) return base.OnKeyUp(e);
finalise();
return true;
}
protected override bool OnJoystickPress(InputState state, JoystickEventArgs args)
protected override bool OnJoystickPress(JoystickPressEvent e)
{
if (!HasFocus)
return false;
bindTarget.UpdateKeyCombination(KeyCombination.FromInputState(state));
bindTarget.UpdateKeyCombination(KeyCombination.FromInputState(e.CurrentState));
finalise();
return true;
}
protected override bool OnJoystickRelease(InputState state, JoystickEventArgs args)
protected override bool OnJoystickRelease(JoystickReleaseEvent e)
{
if (!HasFocus)
return base.OnJoystickRelease(state, args);
return base.OnJoystickRelease(e);
finalise();
return true;
@ -273,7 +271,7 @@ namespace osu.Game.Overlays.KeyBinding
pressAKey.BypassAutoSizeAxes |= Axes.Y;
}
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
AutoSizeDuration = 500;
AutoSizeEasing = Easing.OutQuint;
@ -282,13 +280,13 @@ namespace osu.Game.Overlays.KeyBinding
pressAKey.BypassAutoSizeAxes &= ~Axes.Y;
updateBindTarget();
base.OnFocus(state);
base.OnFocus(e);
}
protected override void OnFocusLost(InputState state)
protected override void OnFocusLost(FocusLostEvent e)
{
finalise();
base.OnFocusLost(state);
base.OnFocusLost(e);
}
private void updateBindTarget()
@ -367,16 +365,16 @@ namespace osu.Game.Overlays.KeyBinding
hoverColour = colours.YellowDark;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
updateHoverState();
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
updateHoverState();
base.OnHoverLost(state);
base.OnHoverLost(e);
}
private void updateHoverState()

View File

@ -6,8 +6,7 @@ using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
@ -138,16 +137,16 @@ namespace osu.Game.Overlays
};
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
aspect.ScaleTo(0.75f, 2000, Easing.OutQuint);
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
aspect.ScaleTo(1, 1000, Easing.OutElastic);
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
public bool OnPressed(GlobalAction action)

View File

@ -19,8 +19,7 @@ using osu.Framework.Graphics.Textures;
using OpenTK.Input;
using osu.Framework.Graphics.Shapes;
using System;
using System.Linq;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.MathUtils;
namespace osu.Game.Overlays
@ -176,15 +175,15 @@ namespace osu.Game.Overlays
particleContainer.Add(new MedalParticle(RNG.Next(0, 359)));
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
dismiss();
return true;
}
protected override void OnFocusLost(InputState state)
protected override void OnFocusLost(FocusLostEvent e)
{
if (state.Keyboard.Keys.Contains(Key.Escape)) dismiss();
if (e.CurrentState.Keyboard.Keys.IsPressed(Key.Escape)) dismiss();
}
private const double initial_duration = 400;

View File

@ -13,8 +13,7 @@ using osu.Game.Rulesets.UI;
using System;
using System.Linq;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Mods
@ -149,20 +148,20 @@ namespace osu.Game.Overlays.Mods
public virtual Mod SelectedMod => Mods.ElementAtOrDefault(selectedIndex);
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
scaleContainer.ScaleTo(0.9f, 800, Easing.Out);
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
scaleContainer.ScaleTo(1, 500, Easing.OutElastic);
// only trigger the event if we are inside the area of the button
if (Contains(ToScreenSpace(state.Mouse.Position - Position)))
if (Contains(e.ScreenSpaceMousePosition))
{
switch (args.Button)
switch (e.Button)
{
case MouseButton.Left:
SelectNext(1);

View File

@ -10,8 +10,7 @@ using osu.Game.Rulesets.Mods;
using System;
using System.Linq;
using System.Collections.Generic;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Overlays.Mods
{
@ -55,16 +54,16 @@ namespace osu.Game.Overlays.Mods
private ModButton[] buttons = { };
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
if (ToggleKeys != null)
{
var index = Array.IndexOf(ToggleKeys, args.Key);
var index = Array.IndexOf(ToggleKeys, e.Key);
if (index > -1 && index < buttons.Length)
buttons[index].SelectNext(state.Keyboard.ShiftPressed ? -1 : 1);
buttons[index].SelectNext(e.ShiftPressed ? -1 : 1);
}
return base.OnKeyDown(state, args);
return base.OnKeyDown(e);
}
public void DeselectAll() => DeselectTypes(buttons.Select(b => b.SelectedMod?.GetType()).Where(t => t != null));

View File

@ -8,8 +8,7 @@ using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Localisation;
using osu.Game.Beatmaps;
using osu.Game.Graphics;
@ -37,16 +36,16 @@ namespace osu.Game.Overlays.Music
public bool IsDraggable { get; private set; }
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
IsDraggable = handle.IsHovered;
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
IsDraggable = false;
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
private bool selected;
@ -123,19 +122,19 @@ namespace osu.Game.Overlays.Music
});
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
handle.FadeIn(fade_duration);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
handle.FadeOut(fade_duration);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
OnSelect?.Invoke(BeatmapSetInfo);
return true;

View File

@ -8,7 +8,7 @@ using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Beatmaps;
using osu.Game.Graphics.Containers;
using OpenTK;
@ -115,25 +115,25 @@ namespace osu.Game.Overlays.Music
private Vector2 nativeDragPosition;
private PlaylistItem draggedItem;
protected override bool OnDragStart(InputState state)
protected override bool OnDragStart(DragStartEvent e)
{
nativeDragPosition = state.Mouse.NativeState.Position;
nativeDragPosition = e.ScreenSpaceMousePosition;
draggedItem = items.FirstOrDefault(d => d.IsDraggable);
return draggedItem != null || base.OnDragStart(state);
return draggedItem != null || base.OnDragStart(e);
}
protected override bool OnDrag(InputState state)
protected override bool OnDrag(DragEvent e)
{
nativeDragPosition = state.Mouse.NativeState.Position;
nativeDragPosition = e.ScreenSpaceMousePosition;
if (draggedItem == null)
return base.OnDrag(state);
return base.OnDrag(e);
return true;
}
protected override bool OnDragEnd(InputState state)
protected override bool OnDragEnd(DragEndEvent e)
{
nativeDragPosition = state.Mouse.NativeState.Position;
var handled = draggedItem != null || base.OnDragEnd(state);
nativeDragPosition = e.ScreenSpaceMousePosition;
var handled = draggedItem != null || base.OnDragEnd(e);
draggedItem = null;
return handled;

View File

@ -13,7 +13,7 @@ using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Localisation;
using osu.Framework.Threading;
using osu.Game.Beatmaps;
@ -457,20 +457,14 @@ namespace osu.Game.Overlays
private class DragContainer : Container
{
private Vector2 dragStart;
protected override bool OnDragStart(InputState state)
protected override bool OnDragStart(DragStartEvent e)
{
base.OnDragStart(state);
dragStart = state.Mouse.Position;
return true;
}
protected override bool OnDrag(InputState state)
protected override bool OnDrag(DragEvent e)
{
if (base.OnDrag(state)) return true;
Vector2 change = state.Mouse.Position - dragStart;
Vector2 change = e.MousePosition - e.MouseDownPosition;
// Diminish the drag distance as we go further to simulate "rubber band" feeling.
change *= change.Length <= 0 ? 0 : (float)Math.Pow(change.Length, 0.7f) / change.Length;
@ -479,10 +473,10 @@ namespace osu.Game.Overlays
return true;
}
protected override bool OnDragEnd(InputState state)
protected override bool OnDragEnd(DragEndEvent e)
{
this.MoveTo(Vector2.Zero, 800, Easing.OutElastic);
return base.OnDragEnd(state);
return base.OnDragEnd(e);
}
}
}

View File

@ -11,7 +11,7 @@ using osu.Game.Graphics;
using OpenTK;
using OpenTK.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Containers;
namespace osu.Game.Overlays.Notifications
@ -118,19 +118,19 @@ namespace osu.Game.Overlays.Notifications
});
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
closeButton.FadeIn(75);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
closeButton.FadeOut(75);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if (Activated?.Invoke() ?? true)
Close();
@ -185,16 +185,16 @@ namespace osu.Game.Overlays.Notifications
hoverColour = colours.Yellow;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
this.FadeColour(hoverColour, 200);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
this.FadeColour(OsuColour.Gray(0.2f), 200);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
}

View File

@ -25,9 +25,6 @@ namespace osu.Game.Overlays
{
private readonly Container box;
public override bool HandleNonPositionalInput => false;
public override bool HandlePositionalInput => false;
private readonly SpriteText textLine1;
private readonly SpriteText textLine2;
private readonly SpriteText textLine3;

View File

@ -9,7 +9,7 @@ using osu.Framework.Graphics.Cursor;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Users;
@ -153,13 +153,13 @@ namespace osu.Game.Overlays.Profile.Header
this.hoverLostAction = hoverLostAction;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
hoverAction();
return true;
}
protected override void OnHoverLost(InputState state) => hoverLostAction();
protected override void OnHoverLost(HoverLostEvent e) => hoverLostAction();
}
private class DrawableBadge : Container, IHasTooltip

View File

@ -10,7 +10,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
@ -137,25 +137,25 @@ namespace osu.Game.Overlays.Profile.Header
relativeText.Text = dayIndex + 1 == ranks.Length ? "Now" : $"{ranked_days - ranks[dayIndex].Key} days ago";
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
if (ranks?.Length > 1)
{
graph.UpdateBallPosition(state.Mouse.Position.X);
graph.UpdateBallPosition(e.MousePosition.X);
graph.ShowBall();
}
return base.OnHover(state);
return base.OnHover(e);
}
protected override bool OnMouseMove(InputState state)
protected override bool OnMouseMove(MouseMoveEvent e)
{
if (ranks?.Length > 1)
graph.UpdateBallPosition(state.Mouse.Position.X);
graph.UpdateBallPosition(e.MousePosition.X);
return base.OnMouseMove(state);
return base.OnMouseMove(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
if (ranks?.Length > 1)
{
@ -163,7 +163,7 @@ namespace osu.Game.Overlays.Profile.Header
updateRankTexts();
}
base.OnHoverLost(state);
base.OnHoverLost(e);
}
private class RankChartLineGraph : LineGraph

View File

@ -6,7 +6,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using OpenTK;
using OpenTK.Graphics;
@ -105,20 +105,20 @@ namespace osu.Game.Overlays.Profile.Sections
coloredBackground.Colour = underscoreLine.Colour = colour.Gray4;
}
protected override bool OnClick(InputState state) => true;
protected override bool OnClick(ClickEvent e) => true;
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
background.FadeIn(fade_duration, Easing.OutQuint);
underscoreLine.FadeOut(fade_duration, Easing.OutQuint);
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
background.FadeOut(fade_duration, Easing.OutQuint);
underscoreLine.FadeIn(fade_duration, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
}
}

View File

@ -8,7 +8,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
@ -70,7 +70,7 @@ namespace osu.Game.Overlays.Profile.Sections.Kudosu
};
}
protected override bool OnClick(InputState state) => true;
protected override bool OnClick(ClickEvent e) => true;
private class CountSection : Container
{

View File

@ -5,7 +5,7 @@ using OpenTK.Graphics;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Backgrounds;
using osu.Game.Graphics.Containers;
@ -101,7 +101,7 @@ namespace osu.Game.Overlays.SearchableList
scrollContainer.Padding = new MarginPadding { Top = Header.Height + Filter.Height };
}
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
GetContainingInputManager().ChangeFocus(Filter.Search);
}

View File

@ -16,7 +16,7 @@ using System.ComponentModel;
using osu.Game.Graphics;
using OpenTK.Graphics;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using RectangleF = osu.Framework.Graphics.Primitives.RectangleF;
using Container = osu.Framework.Graphics.Containers.Container;
@ -175,12 +175,12 @@ namespace osu.Game.Overlays.Settings.Sections.General
public override bool AcceptsFocus => true;
protected override bool OnClick(InputState state) => true;
protected override bool OnClick(ClickEvent e) => true;
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
if (form != null) GetContainingInputManager().ChangeFocus(form);
base.OnFocus(state);
base.OnFocus(e);
}
private class LoginForm : FillFlowContainer
@ -244,9 +244,9 @@ namespace osu.Game.Overlays.Settings.Sections.General
public override bool AcceptsFocus => true;
protected override bool OnClick(InputState state) => true;
protected override bool OnClick(ClickEvent e) => true;
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
Schedule(() => { GetContainingInputManager().ChangeFocus(string.IsNullOrEmpty(username.Text) ? username : password); });
}

View File

@ -5,7 +5,7 @@ using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Input;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Configuration;
using osu.Game.Graphics.UserInterface;
@ -124,18 +124,18 @@ namespace osu.Game.Overlays.Settings.Sections.Input
private bool isDragging;
protected override bool OnDragStart(InputState state)
protected override bool OnDragStart(DragStartEvent e)
{
isDragging = true;
return base.OnDragStart(state);
return base.OnDragStart(e);
}
protected override bool OnDragEnd(InputState state)
protected override bool OnDragEnd(DragEndEvent e)
{
isDragging = false;
Current.TriggerChange();
return base.OnDragEnd(state);
return base.OnDragEnd(e);
}
public override string TooltipText => Current.Disabled ? "Enable raw input to adjust sensitivity" : Current.Value.ToString(@"0.##x");

View File

@ -12,8 +12,7 @@ using osu.Framework.Graphics.Cursor;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using OpenTK;
@ -168,25 +167,25 @@ namespace osu.Game.Overlays.Settings
public string TooltipText => "Revert to default";
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args) => true;
protected override bool OnMouseDown(MouseDownEvent e) => true;
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args) => true;
protected override bool OnMouseUp(MouseUpEvent e) => true;
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if (bindable != null && !bindable.Disabled)
bindable.SetDefault();
return true;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
hovering = true;
UpdateState();
return false;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
hovering = false;
UpdateState();

View File

@ -9,7 +9,7 @@ using OpenTK.Graphics;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Threading;
using osu.Game.Overlays.Toolbar;
@ -55,25 +55,25 @@ namespace osu.Game.Overlays.Settings
private ScheduledDelegate expandEvent;
private ExpandedState state;
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
queueExpandIfHovering();
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
expandEvent?.Cancel();
lastHoveredButton = null;
State = ExpandedState.Contracted;
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override bool OnMouseMove(InputState state)
protected override bool OnMouseMove(MouseMoveEvent e)
{
queueExpandIfHovering();
return base.OnMouseMove(state);
return base.OnMouseMove(e);
}
private class SidebarScrollContainer : ScrollContainer

View File

@ -10,7 +10,7 @@ using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
@ -109,22 +109,22 @@ namespace osu.Game.Overlays.Settings
selectionIndicator.Colour = colours.Yellow;
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
Action?.Invoke(section);
return base.OnClick(state);
return base.OnClick(e);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
Background.FadeTo(0.4f, 200);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
Background.FadeTo(0, 200);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
}
}

View File

@ -11,7 +11,7 @@ using osu.Framework.Extensions.IEnumerableExtensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.UserInterface;
using osu.Game.Overlays.Settings;
@ -177,10 +177,10 @@ namespace osu.Game.Overlays
public override bool AcceptsFocus => true;
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
GetContainingInputManager().ChangeFocus(searchTextBox);
base.OnFocus(state);
base.OnFocus(e);
}
protected override void UpdateAfterChildren()

View File

@ -6,7 +6,7 @@ using OpenTK.Graphics;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Users;
namespace osu.Game.Overlays.Social
@ -35,20 +35,20 @@ namespace osu.Game.Overlays.Social
Colour = Color4.Black.Opacity(0.3f),
};
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
Content.TweenEdgeEffectTo(edgeEffectHovered, hover_transition_time, Easing.OutQuint);
Content.MoveToY(-4, hover_transition_time, Easing.OutQuint);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
Content.TweenEdgeEffectTo(edgeEffectNormal, hover_transition_time, Easing.OutQuint);
Content.MoveToY(0, hover_transition_time, Easing.OutQuint);
base.OnHoverLost(state);
base.OnHoverLost(e);
}
protected override void LoadComplete()

View File

@ -11,7 +11,7 @@ using OpenTK;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
namespace osu.Game.Overlays.Toolbar
{
@ -121,14 +121,14 @@ namespace osu.Game.Overlays.Toolbar
};
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
solidBackground.FadeTo(alpha_hovering, transition_time, Easing.OutQuint);
gradientBackground.FadeIn(transition_time, Easing.OutQuint);
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
solidBackground.FadeTo(alpha_normal, transition_time, Easing.OutQuint);
gradientBackground.FadeOut(transition_time, Easing.OutQuint);

View File

@ -11,8 +11,7 @@ using osu.Game.Graphics.Sprites;
using OpenTK;
using OpenTK.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.UserInterface;
@ -145,22 +144,22 @@ namespace osu.Game.Overlays.Toolbar
};
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args) => true;
protected override bool OnMouseDown(MouseDownEvent e) => true;
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
HoverBackground.FlashColour(Color4.White.Opacity(100), 500, Easing.OutQuint);
return base.OnClick(state);
return base.OnClick(e);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
HoverBackground.FadeIn(200);
tooltipContainer.FadeIn(100);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
HoverBackground.FadeOut(200);
tooltipContainer.FadeOut(100);

View File

@ -11,8 +11,7 @@ using OpenTK.Input;
using OpenTK.Graphics;
using osu.Framework.Configuration;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Rulesets;
namespace osu.Game.Overlays.Toolbar
@ -86,13 +85,13 @@ namespace osu.Game.Overlays.Toolbar
ruleset.BindTo(parentRuleset);
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
base.OnKeyDown(state, args);
base.OnKeyDown(e);
if (state.Keyboard.ControlPressed && !args.Repeat && args.Key >= Key.Number1 && args.Key <= Key.Number9)
if (e.ControlPressed && !e.Repeat && e.Key >= Key.Number1 && e.Key <= Key.Number9)
{
int requested = args.Key - Key.Number1;
int requested = e.Key - Key.Number1;
RulesetInfo found = rulesets.AvailableRulesets.Skip(requested).FirstOrDefault();
if (found != null)

View File

@ -9,7 +9,7 @@ using osu.Framework.Graphics.Colour;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using OpenTK;
using OpenTK.Graphics;
@ -63,18 +63,18 @@ namespace osu.Game.Overlays.Volume
Current.TriggerChange();
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
this.TransformTo<MuteButton, SRGBColour>("BorderColour", hoveredColour, 500, Easing.OutQuint);
return false;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
this.TransformTo<MuteButton, SRGBColour>("BorderColour", unhoveredColour, 500, Easing.OutQuint);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
Current.Value = !Current.Value;
return true;

View File

@ -11,7 +11,7 @@ using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Effects;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.MathUtils;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
@ -239,21 +239,21 @@ namespace osu.Game.Overlays.Volume
adjustAccumulator = 0;
}
protected override bool OnScroll(InputState state)
protected override bool OnScroll(ScrollEvent e)
{
adjust(state.Mouse.ScrollDelta.Y, state.Mouse.HasPreciseScroll);
adjust(e.ScrollDelta.Y, e.IsPrecise);
return true;
}
private const float transition_length = 500;
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
this.ScaleTo(1.04f, transition_length, Easing.OutExpo);
return false;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
this.ScaleTo(1f, transition_length, Easing.OutExpo);
}

View File

@ -9,7 +9,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Colour;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Threading;
using osu.Game.Graphics;
using osu.Game.Input.Bindings;
@ -143,23 +143,23 @@ namespace osu.Game.Overlays
this.FadeOut(100);
}
protected override bool OnMouseMove(InputState state)
protected override bool OnMouseMove(MouseMoveEvent e)
{
// keep the scheduled event correctly timed as long as we have movement.
schedulePopOut();
return base.OnMouseMove(state);
return base.OnMouseMove(e);
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
schedulePopOut();
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
schedulePopOut();
base.OnHoverLost(state);
base.OnHoverLost(e);
}
private void schedulePopOut()

View File

@ -5,7 +5,7 @@ using System;
using osu.Framework;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Primitives;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.Events;
using osu.Framework.Input.States;
using osu.Game.Graphics.UserInterface;
using osu.Game.Rulesets.Objects.Drawables;
@ -37,7 +37,7 @@ namespace osu.Game.Rulesets.Edit
/// <summary>
/// Invoked when this <see cref="HitObjectMask"/> has requested drag.
/// </summary>
public event Action<HitObjectMask, InputState> DragRequested;
public event Action<HitObjectMask, Vector2, InputState> DragRequested;
/// <summary>
/// The <see cref="DrawableHitObject"/> which this <see cref="HitObjectMask"/> applies to.
@ -96,36 +96,36 @@ namespace osu.Game.Rulesets.Edit
private bool selectionRequested;
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
selectionRequested = false;
if (State == SelectionState.NotSelected)
{
SelectionRequested?.Invoke(this, state);
SelectionRequested?.Invoke(this, e.CurrentState);
selectionRequested = true;
}
return IsSelected;
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if (State == SelectionState.Selected && !selectionRequested)
{
selectionRequested = true;
SelectionRequested?.Invoke(this, state);
SelectionRequested?.Invoke(this, e.CurrentState);
return true;
}
return base.OnClick(state);
return base.OnClick(e);
}
protected override bool OnDragStart(InputState state) => true;
protected override bool OnDragStart(DragStartEvent e) => true;
protected override bool OnDrag(InputState state)
protected override bool OnDrag(DragEvent e)
{
DragRequested?.Invoke(this, state);
DragRequested?.Invoke(this, e.Delta, e.CurrentState);
return true;
}

View File

@ -8,7 +8,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.Events;
using osu.Framework.Input.StateChanges.Events;
using osu.Framework.Input.States;
using osu.Framework.Timing;
@ -18,6 +18,9 @@ using osu.Game.Input.Handlers;
using osu.Game.Screens.Play;
using OpenTK.Input;
using static osu.Game.Input.Handlers.ReplayInputHandler;
using JoystickState = osu.Framework.Input.States.JoystickState;
using KeyboardState = osu.Framework.Input.States.KeyboardState;
using MouseState = osu.Framework.Input.States.MouseState;
namespace osu.Game.Rulesets.UI
{
@ -35,13 +38,7 @@ namespace osu.Game.Rulesets.UI
protected override InputState CreateInitialState()
{
var state = base.CreateInitialState();
return new RulesetInputManagerInputState<T>
{
Mouse = state.Mouse,
Keyboard = state.Keyboard,
Joystick = state.Joystick,
LastReplayState = null
};
return new RulesetInputManagerInputState<T>(state.Mouse, state.Keyboard, state.Joystick);
}
protected readonly KeyBindingContainer<T> KeyBindingContainer;
@ -211,16 +208,16 @@ namespace osu.Game.Rulesets.UI
mouseDisabled = config.GetBindable<bool>(OsuSetting.MouseDisableButtons);
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
if (mouseDisabled.Value && (args.Button == MouseButton.Left || args.Button == MouseButton.Right)) return false;
return base.OnMouseDown(state, args);
if (mouseDisabled.Value && (e.Button == MouseButton.Left || e.Button == MouseButton.Right)) return false;
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
if (!CurrentState.Mouse.IsPressed(args.Button)) return false;
return base.OnMouseUp(state, args);
if (!CurrentState.Mouse.IsPressed(e.Button)) return false;
return base.OnMouseUp(e);
}
#endregion
@ -275,5 +272,10 @@ namespace osu.Game.Rulesets.UI
where T : struct
{
public ReplayState<T> LastReplayState;
public RulesetInputManagerInputState(MouseState mouse = null, KeyboardState keyboard = null, JoystickState joystick = null)
: base(mouse, keyboard, joystick)
{
}
}
}

View File

@ -5,8 +5,7 @@ using System;
using System.Threading;
using osu.Framework.Screens;
using osu.Framework.Graphics;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using OpenTK;
namespace osu.Game.Screens
@ -21,7 +20,7 @@ namespace osu.Game.Screens
private const float transition_length = 500;
private const float x_movement_amount = 50;
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
//we don't want to handle escape key.
return false;

View File

@ -8,7 +8,7 @@ using osu.Framework.Extensions.IEnumerableExtensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Timing;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
@ -138,13 +138,13 @@ namespace osu.Game.Screens.Edit.Components
textBold.Colour = hoveredColour = colours.Yellow;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
updateState();
return true;
}
protected override void OnHoverLost(InputState state) => updateState();
protected override void OnHoverLost(HoverLostEvent e) => updateState();
protected override void OnActivated() => updateState();
protected override void OnDeactivated() => updateState();

View File

@ -6,8 +6,7 @@ using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Timing;
using osu.Game.Beatmaps;
using osu.Game.Graphics;
@ -30,17 +29,17 @@ namespace osu.Game.Screens.Edit.Components.Timelines.Summary.Parts
Add(marker = new MarkerVisualisation());
}
protected override bool OnDragStart(InputState state) => true;
protected override bool OnDragEnd(InputState state) => true;
protected override bool OnDrag(InputState state)
protected override bool OnDragStart(DragStartEvent e) => true;
protected override bool OnDragEnd(DragEndEvent e) => true;
protected override bool OnDrag(DragEvent e)
{
seekToPosition(state.Mouse.NativeState.Position);
seekToPosition(e.ScreenSpaceMousePosition);
return true;
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
seekToPosition(state.Mouse.NativeState.Position);
seekToPosition(e.ScreenSpaceMousePosition);
return true;
}

View File

@ -12,7 +12,7 @@ using osu.Game.Screens.Edit.Menus;
using osu.Game.Screens.Edit.Components.Timelines.Summary;
using osu.Framework.Allocation;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Platform;
using osu.Framework.Timing;
using osu.Game.Graphics.UserInterface;
@ -182,9 +182,9 @@ namespace osu.Game.Screens.Edit
LoadComponentAsync(currentScreen, screenContainer.Add);
}
protected override bool OnScroll(InputState state)
protected override bool OnScroll(ScrollEvent e)
{
if (state.Mouse.ScrollDelta.X + state.Mouse.ScrollDelta.Y > 0)
if (e.ScrollDelta.X + e.ScrollDelta.Y > 0)
clock.SeekBackward(!clock.IsRunning);
else
clock.SeekForward(!clock.IsRunning);

View File

@ -11,7 +11,7 @@ using osu.Game.Graphics.UserInterface;
using OpenTK;
using OpenTK.Graphics;
using osu.Framework.Configuration;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Screens.Edit.Screens;
namespace osu.Game.Screens.Edit.Menus
@ -171,18 +171,18 @@ namespace osu.Game.Screens.Edit.Menus
{
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
if (Item is EditorMenuItemSpacer)
return true;
return base.OnHover(state);
return base.OnHover(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if (Item is EditorMenuItemSpacer)
return true;
return base.OnClick(state);
return base.OnClick(e);
}
}
}

View File

@ -12,8 +12,7 @@ using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
using OpenTK;
@ -233,9 +232,9 @@ namespace osu.Game.Screens.Edit.Screens.Compose
public override bool HandleNonPositionalInput => IsHovered && !CurrentNumber.Disabled;
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
switch (args.Key)
switch (e.Key)
{
case Key.Right:
beatDivisor.Next();
@ -250,34 +249,34 @@ namespace osu.Game.Screens.Edit.Screens.Compose
}
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
marker.Active = true;
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
marker.Active = false;
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
handleMouseInput(state);
handleMouseInput(e.ScreenSpaceMousePosition);
return true;
}
protected override bool OnDrag(InputState state)
protected override bool OnDrag(DragEvent e)
{
handleMouseInput(state);
handleMouseInput(e.ScreenSpaceMousePosition);
return true;
}
private void handleMouseInput(InputState state)
private void handleMouseInput(Vector2 screenSpaceMousePosition)
{
// copied from SliderBar so we can do custom spacing logic.
var xPosition = (ToLocalSpace(state?.Mouse.NativeState.Position ?? Vector2.Zero).X - RangePadding) / UsableWidth;
var xPosition = (ToLocalSpace(screenSpaceMousePosition).X - RangePadding) / UsableWidth;
CurrentNumber.Value = availableDivisors.OrderBy(d => Math.Abs(getMappedPosition(d) - xPosition)).First();
OnUserChange();

View File

@ -7,7 +7,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Primitives;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Rulesets.Edit;
using OpenTK.Graphics;
@ -56,16 +56,16 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
};
}
protected override bool OnDragStart(InputState state)
protected override bool OnDragStart(DragStartEvent e)
{
this.FadeIn(250, Easing.OutQuint);
return true;
}
protected override bool OnDrag(InputState state)
protected override bool OnDrag(DragEvent e)
{
var dragPosition = state.Mouse.NativeState.Position;
var dragStartPosition = state.Mouse.NativeState.PositionMouseDown ?? dragPosition;
var dragPosition = e.ScreenSpaceMousePosition;
var dragStartPosition = e.ScreenSpaceMouseDownPosition;
var dragQuad = new Quad(dragStartPosition.X, dragStartPosition.Y, dragPosition.X - dragStartPosition.X, dragPosition.Y - dragStartPosition.Y);
@ -82,7 +82,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
return true;
}
protected override bool OnDragEnd(InputState state)
protected override bool OnDragEnd(DragEndEvent e)
{
this.FadeOut(250, Easing.OutQuint);
DragEnd?.Invoke();

View File

@ -4,8 +4,7 @@
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Rulesets.Edit;
using osu.Game.Rulesets.Objects.Drawables;
@ -52,7 +51,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
addMask(obj);
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
maskContainer.DeselectAll();
return true;

View File

@ -8,6 +8,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.States;
using osu.Game.Rulesets.Edit;
using OpenTK;
using RectangleF = osu.Framework.Graphics.Primitives.RectangleF;
namespace osu.Game.Screens.Edit.Screens.Compose.Layers
@ -32,7 +33,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
/// <summary>
/// Invoked when any <see cref="HitObjectMask"/> requests drag.
/// </summary>
public event Action<HitObjectMask, InputState> MaskDragRequested;
public event Action<HitObjectMask, Vector2, InputState> MaskDragRequested;
private IEnumerable<HitObjectMask> aliveMasks => AliveInternalChildren.Cast<HitObjectMask>();
@ -103,7 +104,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
}
private void onSelectionRequested(HitObjectMask mask, InputState state) => MaskSelectionRequested?.Invoke(mask, state);
private void onDragRequested(HitObjectMask mask, InputState state) => MaskDragRequested?.Invoke(mask, state);
private void onDragRequested(HitObjectMask mask, Vector2 delta, InputState state) => MaskDragRequested?.Invoke(mask, delta, state);
protected override int Compare(Drawable x, Drawable y)
{

View File

@ -54,7 +54,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
#region User Input Handling
public void HandleDrag(HitObjectMask m, InputState state)
public void HandleDrag(HitObjectMask m, Vector2 delta, InputState state)
{
// Todo: Various forms of snapping
@ -63,7 +63,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
switch (mask.HitObject.HitObject)
{
case IHasEditablePosition editablePosition:
editablePosition.OffsetPosition(state.Mouse.Delta);
editablePosition.OffsetPosition(delta);
break;
}
}

View File

@ -10,7 +10,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
@ -99,7 +99,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.RadioButtons
bubble.Colour = button.Selected ? selectedBubbleColour : defaultBubbleColour;
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if (button.Selected)
return true;
@ -109,7 +109,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.RadioButtons
button.Selected.Value = true;
return base.OnClick(state);
return base.OnClick(e);
}
protected override SpriteText CreateText() => new OsuSpriteText

View File

@ -7,8 +7,7 @@ using osu.Framework.Configuration;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Audio;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Timing;
using osu.Game.Beatmaps;
using osu.Game.Graphics;
@ -133,9 +132,9 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Timeline
ScrollTo((float)(adjustableClock.CurrentTime / track.Length) * Content.DrawWidth, false);
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
if (base.OnMouseDown(state, args))
if (base.OnMouseDown(e))
{
beginUserDrag();
return true;
@ -144,10 +143,10 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Timeline
return false;
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
endUserDrag();
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
private void beginUserDrag()

View File

@ -5,7 +5,7 @@ using System;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Transforms;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.MathUtils;
using OpenTK;
@ -97,13 +97,13 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Timeline
zoomedContent.Width = DrawWidth * currentZoom;
}
protected override bool OnScroll(InputState state)
protected override bool OnScroll(ScrollEvent e)
{
if (state.Mouse.HasPreciseScroll)
if (e.IsPrecise)
// for now, we don't support zoom when using a precision scroll device. this needs gesture support.
return base.OnScroll(state);
return base.OnScroll(e);
setZoomTarget(zoomTarget + state.Mouse.ScrollDelta.Y, zoomedContent.ToLocalSpace(state.Mouse.NativeState.Position).X);
setZoomTarget(zoomTarget + e.ScrollDelta.Y, zoomedContent.ToLocalSpace(e.ScreenSpaceMousePosition).X);
return true;
}

View File

@ -17,8 +17,7 @@ using OpenTK.Input;
using osu.Framework.Extensions.Color4Extensions;
using osu.Game.Graphics.Containers;
using osu.Framework.Audio.Track;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Beatmaps.ControlPoints;
namespace osu.Game.Screens.Menu
@ -151,7 +150,7 @@ namespace osu.Game.Screens.Menu
rightward = !rightward;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
if (State != ButtonState.Expanded) return true;
@ -167,7 +166,7 @@ namespace osu.Game.Screens.Menu
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
icon.ClearTransforms();
icon.RotateTo(0, 500, Easing.Out);
@ -186,30 +185,30 @@ namespace osu.Game.Screens.Menu
sampleClick = audio.Sample.Get($@"Menu/{sampleName}");
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
boxHoverLayer.FadeTo(0.1f, 1000, Easing.OutQuint);
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
boxHoverLayer.FadeTo(0, 1000, Easing.OutQuint);
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
trigger();
return true;
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
if (args.Repeat || state.Keyboard.ControlPressed || state.Keyboard.ShiftPressed || state.Keyboard.AltPressed)
if (e.Repeat || e.ControlPressed || e.ShiftPressed || e.AltPressed)
return false;
if (triggerKey == args.Key && triggerKey != Key.Unknown)
if (triggerKey == e.Key && triggerKey != Key.Unknown)
{
trigger();
return true;

View File

@ -64,9 +64,6 @@ namespace osu.Game.Screens.Menu
private readonly float[] frequencyAmplitudes = new float[256];
public override bool HandleNonPositionalInput => false;
public override bool HandlePositionalInput => false;
private Shader shader;
private readonly Texture texture;

View File

@ -6,8 +6,7 @@ using OpenTK.Graphics;
using OpenTK.Input;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Screens;
using osu.Game.Beatmaps;
using osu.Game.Graphics;
@ -200,15 +199,15 @@ namespace osu.Game.Screens.Menu
return base.OnExiting(next);
}
protected override bool OnKeyDown(InputState state, KeyDownEventArgs args)
protected override bool OnKeyDown(KeyDownEvent e)
{
if (!args.Repeat && state.Keyboard.ControlPressed && state.Keyboard.ShiftPressed && args.Key == Key.D)
if (!e.Repeat && e.ControlPressed && e.ShiftPressed && e.Key == Key.D)
{
Push(new Drawings());
return true;
}
return base.OnKeyDown(state, args);
return base.OnKeyDown(e);
}
}
}

View File

@ -19,9 +19,6 @@ namespace osu.Game.Screens.Menu
{
public class MenuSideFlashes : BeatSyncedContainer
{
public override bool HandleNonPositionalInput => false;
public override bool HandlePositionalInput => false;
private readonly IBindable<WorkingBeatmap> beatmap = new Bindable<WorkingBeatmap>();
private Box leftBox;

View File

@ -11,8 +11,7 @@ using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.MathUtils;
using osu.Game.Beatmaps.ControlPoints;
using osu.Game.Graphics;
@ -344,23 +343,23 @@ namespace osu.Game.Screens.Menu
public override bool HandlePositionalInput => base.HandlePositionalInput && Action != null && Alpha > 0.2f;
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
if (args.Button != MouseButton.Left) return false;
if (e.Button != MouseButton.Left) return false;
logoBounceContainer.ScaleTo(0.9f, 1000, Easing.Out);
return true;
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
if (args.Button != MouseButton.Left) return false;
if (e.Button != MouseButton.Left) return false;
logoBounceContainer.ScaleTo(1f, 500, Easing.OutElastic);
return true;
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if (Action?.Invoke() ?? true)
sampleClick.Play();
@ -371,13 +370,13 @@ namespace osu.Game.Screens.Menu
return true;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
logoHoverContainer.ScaleTo(1.1f, 500, Easing.OutElastic);
return true;
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
logoHoverContainer.ScaleTo(1, 500, Easing.OutElastic);
}

View File

@ -10,7 +10,7 @@ using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Drawables;
using osu.Game.Graphics;
@ -246,7 +246,7 @@ namespace osu.Game.Screens.Multi.Components
this.FadeInFromZero(transition_duration);
}
protected override bool OnClick(InputState state)
protected override bool OnClick(ClickEvent e)
{
if (Enabled.Value)
{

View File

@ -6,7 +6,7 @@ using System.Linq;
using osu.Framework.Extensions.IEnumerableExtensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Framework.Screens;
using osu.Game.Graphics.UserInterface;
using osu.Game.Online.Multiplayer;
@ -112,7 +112,7 @@ namespace osu.Game.Screens.Multi.Screens.Lounge
};
}
protected override void OnFocus(InputState state)
protected override void OnFocus(FocusEvent e)
{
GetContainingInputManager().ChangeFocus(Filter.Search);
}

View File

@ -8,8 +8,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Colour;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.EventArgs;
using osu.Framework.Input.States;
using osu.Framework.Input.Events;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Drawables;
using osu.Game.Graphics;
@ -151,28 +150,28 @@ namespace osu.Game.Screens.Multi.Screens.Match
border.BorderColour = colours.Yellow;
}
protected override bool OnHover(InputState state)
protected override bool OnHover(HoverEvent e)
{
border.FadeIn(transition_duration);
return base.OnHover(state);
return base.OnHover(e);
}
protected override void OnHoverLost(InputState state)
protected override void OnHoverLost(HoverLostEvent e)
{
base.OnHoverLost(state);
base.OnHoverLost(e);
border.FadeOut(transition_duration);
}
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
protected override bool OnMouseDown(MouseDownEvent e)
{
bg.FadeTo(0.75f, 1000, Easing.Out);
return base.OnMouseDown(state, args);
return base.OnMouseDown(e);
}
protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
protected override bool OnMouseUp(MouseUpEvent e)
{
bg.FadeTo(bg_opacity, transition_duration);
return base.OnMouseUp(state, args);
return base.OnMouseUp(e);
}
}
}

Some files were not shown because too many files have changed in this diff Show More