aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ava/Ui/Controls/RenderTimer.cs
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2022-11-30 23:34:25 +0100
committerGitHub <noreply@github.com>2022-11-30 23:34:25 +0100
commit3fb583c98c39da58f0752c652ca60be87ff1f566 (patch)
tree6be74e635521ca677f9bfb5d5847a4a3ee5e364b /Ryujinx.Ava/Ui/Controls/RenderTimer.cs
parentd2686e0a5b4f8ce70cbbd5cfcb02434921580834 (diff)
Avalonia: Clean up leftover RenderTimer & Fix minimum and initial window size (#3935)
* ava: Cleanup RenderTimer * ava: Remove ContentControl from RendererHost * ava: Remove unused actual scale factor * ava: Enable UseGpu for Linux * ava: Set better initial size & Scale the window properly * ava: Realign properties * ava: Use explicit type & specify where the note applies
Diffstat (limited to 'Ryujinx.Ava/Ui/Controls/RenderTimer.cs')
-rw-r--r--Ryujinx.Ava/Ui/Controls/RenderTimer.cs100
1 files changed, 0 insertions, 100 deletions
diff --git a/Ryujinx.Ava/Ui/Controls/RenderTimer.cs b/Ryujinx.Ava/Ui/Controls/RenderTimer.cs
deleted file mode 100644
index 577115ea..00000000
--- a/Ryujinx.Ava/Ui/Controls/RenderTimer.cs
+++ /dev/null
@@ -1,100 +0,0 @@
-using Avalonia.Rendering;
-using System;
-using System.Threading;
-using System.Timers;
-
-namespace Ryujinx.Ava.Ui.Controls
-{
- internal class RenderTimer : IRenderTimer, IDisposable
- {
- public event Action<TimeSpan> Tick
- {
- add
- {
- _tick += value;
-
- if (_subscriberCount++ == 0)
- {
- Start();
- }
- }
-
- remove
- {
- if (--_subscriberCount == 0)
- {
- Stop();
- }
-
- _tick -= value;
- }
- }
-
- private Thread _tickThread;
- private readonly System.Timers.Timer _timer;
-
- private Action<TimeSpan> _tick;
- private int _subscriberCount;
-
- private bool _isRunning;
-
- private AutoResetEvent _resetEvent;
-
- public RenderTimer()
- {
- _timer = new System.Timers.Timer(15);
- _resetEvent = new AutoResetEvent(true);
- _timer.Elapsed += Timer_Elapsed;
- }
-
- private void Timer_Elapsed(object sender, ElapsedEventArgs e)
- {
- TickNow();
- }
-
- public void Start()
- {
- _timer.Start();
- if (_tickThread == null)
- {
- _tickThread = new Thread(RunTick);
- _tickThread.Name = "RenderTimerTickThread";
- _tickThread.IsBackground = true;
- _isRunning = true;
- _tickThread.Start();
- }
- }
-
- public void RunTick()
- {
- while (_isRunning)
- {
- _resetEvent.WaitOne();
- _tick?.Invoke(TimeSpan.FromMilliseconds(Environment.TickCount));
- }
- }
-
- public void TickNow()
- {
- lock (_timer)
- {
- _resetEvent.Set();
- }
- }
-
- public void Stop()
- {
- _timer.Stop();
- }
-
- public void Dispose()
- {
- _timer.Elapsed -= Timer_Elapsed;
- _timer.Stop();
- _isRunning = false;
- _resetEvent.Set();
- _tickThread.Join();
- _resetEvent.Dispose();
- }
- }
-}