Skip to content

Commit 64ed55d

Browse files
committed
Update test case to consider pen as touch
1 parent 67c36b2 commit 64ed55d

File tree

1 file changed

+10
-21
lines changed

1 file changed

+10
-21
lines changed

osu.Game.Rulesets.Osu.Tests/TestSceneOsuTouchInputWithPen.cs

+10-21
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
using osu.Framework.Input;
1111
using osu.Framework.Input.Bindings;
1212
using osu.Framework.Input.Events;
13-
using osu.Framework.Input.StateChanges;
1413
using osu.Framework.Input.States;
1514
using osu.Framework.Testing;
1615
using osu.Framework.Timing;
@@ -225,37 +224,27 @@ private void addHitCircleAtPen()
225224
});
226225
}
227226

228-
private void pressPen()
229-
{
230-
AddStep("Press pen", () =>
231-
{
232-
InputManager.MovePenTo(getSanePositionForPen(), TabletPenDeviceType.Direct);
233-
InputManager.PressPen(TabletPenDeviceType.Direct);
234-
});
235-
}
236-
237-
private void releasePen()
238-
{
239-
AddStep("Release pen", () => InputManager.ReleasePen(TabletPenDeviceType.Direct));
240-
}
227+
private void pressPen() => beginTouch(TouchSource.PenTouch);
228+
private void releasePen() => endTouch(TouchSource.PenTouch);
241229

242230
private void beginTouch(TouchSource source, Vector2? screenSpacePosition = null) =>
243231
AddStep($"Begin touch for {source}", () => InputManager.BeginTouch(new Touch(source, screenSpacePosition ??= getSanePositionForTouch(source))));
244232

245233
private void endTouch(TouchSource source, Vector2? screenSpacePosition = null) =>
246234
AddStep($"Release touch for {source}", () => InputManager.EndTouch(new Touch(source, screenSpacePosition ??= getSanePositionForTouch(source))));
247235

248-
private Vector2 getSanePositionForPen()
236+
private Vector2 getSanePositionForPen() => getSanePositionForTouch(TouchSource.PenTouch);
237+
238+
private Vector2 getSanePositionForTouch(TouchSource source)
249239
{
240+
int index = source == TouchSource.PenTouch ? -1 : (int)source;
241+
250242
return new Vector2(
251-
osuInputManager.ScreenSpaceDrawQuad.Centre.X + osuInputManager.ScreenSpaceDrawQuad.Width * -1 / 8,
243+
osuInputManager.ScreenSpaceDrawQuad.Centre.X + osuInputManager.ScreenSpaceDrawQuad.Width * index / 8,
252244
osuInputManager.ScreenSpaceDrawQuad.Centre.Y - 100
253245
);
254246
}
255247

256-
private Vector2 getSanePositionForTouch(TouchSource source)
257-
=> getSanePositionForPen() + new Vector2(osuInputManager.ScreenSpaceDrawQuad.Width * (int)(1 + source) / 8, 0);
258-
259248
private void checkPositionIsAtPen() =>
260249
AddAssert("Cursor position is correct", () => osuInputManager.CurrentState.Mouse.Position, () => Is.EqualTo(getSanePositionForPen()));
261250

@@ -267,7 +256,7 @@ private void assertKeyCounter(int left, int right)
267256

268257
private void releaseAllInput()
269258
{
270-
AddStep("Release pen", () => InputManager.ReleasePen());
259+
releasePen();
271260
AddStep("Release all touches", () =>
272261
{
273262
config.SetValue(OsuSetting.MouseDisableButtons, false);
@@ -309,7 +298,7 @@ public void OnReleased(KeyBindingReleaseEvent<OsuAction> e)
309298

310299
public partial class TouchVisualiser : CompositeDrawable
311300
{
312-
private readonly Drawable?[] drawableTouches = new Drawable?[TouchState.MAX_TOUCH_COUNT];
301+
private readonly Drawable?[] drawableTouches = new Drawable?[TouchState.MAX_SOURCES_COUNT];
313302

314303
public TouchVisualiser()
315304
{

0 commit comments

Comments
 (0)