aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ava/UI/Controls/SliderScroll.axaml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Ava/UI/Controls/SliderScroll.axaml.cs')
-rw-r--r--src/Ryujinx.Ava/UI/Controls/SliderScroll.axaml.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Ryujinx.Ava/UI/Controls/SliderScroll.axaml.cs b/src/Ryujinx.Ava/UI/Controls/SliderScroll.axaml.cs
new file mode 100644
index 00000000..81d3bc30
--- /dev/null
+++ b/src/Ryujinx.Ava/UI/Controls/SliderScroll.axaml.cs
@@ -0,0 +1,31 @@
+using Avalonia.Controls;
+using Avalonia.Input;
+using System;
+
+namespace Ryujinx.Ava.UI.Controls
+{
+ public class SliderScroll : Slider
+ {
+ protected override Type StyleKeyOverride => typeof(Slider);
+
+ protected override void OnPointerWheelChanged(PointerWheelEventArgs e)
+ {
+ var newValue = Value + e.Delta.Y * TickFrequency;
+
+ if (newValue < Minimum)
+ {
+ Value = Minimum;
+ }
+ else if (newValue > Maximum)
+ {
+ Value = Maximum;
+ }
+ else
+ {
+ Value = newValue;
+ }
+
+ e.Handled = true;
+ }
+ }
+}