-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Temporary rollback of framework / SDL3
- Loading branch information
Showing
44 changed files
with
304 additions
and
226 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. | ||
// See the LICENCE file in the repository root for full licence text. | ||
|
||
using osu.Framework.Allocation; | ||
using osu.Framework.Android.Input; | ||
using osu.Framework.Bindables; | ||
using osu.Framework.Graphics; | ||
using osu.Framework.Localisation; | ||
using osu.Game.Localisation; | ||
using osu.Game.Overlays.Settings; | ||
|
||
namespace osu.Android | ||
{ | ||
public partial class AndroidJoystickSettings : SettingsSubsection | ||
{ | ||
protected override LocalisableString Header => JoystickSettingsStrings.JoystickGamepad; | ||
|
||
private readonly AndroidJoystickHandler joystickHandler; | ||
|
||
private readonly Bindable<bool> enabled = new BindableBool(true); | ||
|
||
private SettingsSlider<float> deadzoneSlider = null!; | ||
|
||
private Bindable<float> handlerDeadzone = null!; | ||
|
||
private Bindable<float> localDeadzone = null!; | ||
|
||
public AndroidJoystickSettings(AndroidJoystickHandler joystickHandler) | ||
{ | ||
this.joystickHandler = joystickHandler; | ||
} | ||
|
||
[BackgroundDependencyLoader] | ||
private void load() | ||
{ | ||
// use local bindable to avoid changing enabled state of game host's bindable. | ||
handlerDeadzone = joystickHandler.DeadzoneThreshold.GetBoundCopy(); | ||
localDeadzone = handlerDeadzone.GetUnboundCopy(); | ||
|
||
Children = new Drawable[] | ||
{ | ||
new SettingsCheckbox | ||
{ | ||
LabelText = CommonStrings.Enabled, | ||
Current = enabled | ||
}, | ||
deadzoneSlider = new SettingsSlider<float> | ||
{ | ||
LabelText = JoystickSettingsStrings.DeadzoneThreshold, | ||
KeyboardStep = 0.01f, | ||
DisplayAsPercentage = true, | ||
Current = localDeadzone, | ||
}, | ||
}; | ||
} | ||
|
||
protected override void LoadComplete() | ||
{ | ||
base.LoadComplete(); | ||
|
||
enabled.BindTo(joystickHandler.Enabled); | ||
enabled.BindValueChanged(e => deadzoneSlider.Current.Disabled = !e.NewValue, true); | ||
|
||
handlerDeadzone.BindValueChanged(val => | ||
{ | ||
bool disabled = localDeadzone.Disabled; | ||
localDeadzone.Disabled = false; | ||
localDeadzone.Value = val.NewValue; | ||
localDeadzone.Disabled = disabled; | ||
}, true); | ||
|
||
localDeadzone.BindValueChanged(val => handlerDeadzone.Value = val.NewValue); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. | ||
// See the LICENCE file in the repository root for full licence text. | ||
|
||
using Android.OS; | ||
using osu.Framework.Allocation; | ||
using osu.Framework.Android.Input; | ||
using osu.Framework.Bindables; | ||
using osu.Framework.Graphics; | ||
using osu.Framework.Localisation; | ||
using osu.Game.Configuration; | ||
using osu.Game.Localisation; | ||
using osu.Game.Overlays.Settings; | ||
using osu.Game.Overlays.Settings.Sections.Input; | ||
|
||
namespace osu.Android | ||
{ | ||
public partial class AndroidMouseSettings : SettingsSubsection | ||
{ | ||
private readonly AndroidMouseHandler mouseHandler; | ||
|
||
protected override LocalisableString Header => MouseSettingsStrings.Mouse; | ||
|
||
private Bindable<double> handlerSensitivity = null!; | ||
|
||
private Bindable<double> localSensitivity = null!; | ||
|
||
private Bindable<bool> relativeMode = null!; | ||
|
||
public AndroidMouseSettings(AndroidMouseHandler mouseHandler) | ||
{ | ||
this.mouseHandler = mouseHandler; | ||
} | ||
|
||
[BackgroundDependencyLoader] | ||
private void load(OsuConfigManager osuConfig) | ||
{ | ||
// use local bindable to avoid changing enabled state of game host's bindable. | ||
handlerSensitivity = mouseHandler.Sensitivity.GetBoundCopy(); | ||
localSensitivity = handlerSensitivity.GetUnboundCopy(); | ||
|
||
relativeMode = mouseHandler.UseRelativeMode.GetBoundCopy(); | ||
|
||
// High precision/pointer capture is only available on Android 8.0 and up | ||
if (Build.VERSION.SdkInt >= BuildVersionCodes.O) | ||
{ | ||
AddRange(new Drawable[] | ||
{ | ||
new SettingsCheckbox | ||
{ | ||
LabelText = MouseSettingsStrings.HighPrecisionMouse, | ||
TooltipText = MouseSettingsStrings.HighPrecisionMouseTooltip, | ||
Current = relativeMode, | ||
Keywords = new[] { @"raw", @"input", @"relative", @"cursor", @"captured", @"pointer" }, | ||
}, | ||
new MouseSettings.SensitivitySetting | ||
{ | ||
LabelText = MouseSettingsStrings.CursorSensitivity, | ||
Current = localSensitivity, | ||
}, | ||
}); | ||
} | ||
|
||
AddRange(new Drawable[] | ||
{ | ||
new SettingsCheckbox | ||
{ | ||
LabelText = MouseSettingsStrings.DisableMouseWheelVolumeAdjust, | ||
TooltipText = MouseSettingsStrings.DisableMouseWheelVolumeAdjustTooltip, | ||
Current = osuConfig.GetBindable<bool>(OsuSetting.MouseDisableWheel), | ||
}, | ||
new SettingsCheckbox | ||
{ | ||
LabelText = MouseSettingsStrings.DisableClicksDuringGameplay, | ||
Current = osuConfig.GetBindable<bool>(OsuSetting.MouseDisableButtons), | ||
}, | ||
}); | ||
} | ||
|
||
protected override void LoadComplete() | ||
{ | ||
base.LoadComplete(); | ||
|
||
relativeMode.BindValueChanged(relative => localSensitivity.Disabled = !relative.NewValue, true); | ||
|
||
handlerSensitivity.BindValueChanged(val => | ||
{ | ||
bool disabled = localSensitivity.Disabled; | ||
localSensitivity.Disabled = false; | ||
localSensitivity.Value = val.NewValue; | ||
localSensitivity.Disabled = disabled; | ||
}, true); | ||
|
||
localSensitivity.BindValueChanged(val => handlerSensitivity.Value = val.NewValue); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.