From c6b09f88ec1d8859edc97f9b1b32af73e79f80c7 Mon Sep 17 00:00:00 2001 From: Nelson Carrillo Date: Tue, 24 Jul 2018 17:00:39 -0400 Subject: [PATCH] WIP --- src/Avalonia.Windowing/Bindings/EventsLoop.cs | 11 ++--------- src/Avalonia.Windowing/WIndowingPlatform.cs | 12 ++++++++++-- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/Avalonia.Windowing/Bindings/EventsLoop.cs b/src/Avalonia.Windowing/Bindings/EventsLoop.cs index d11015abd1..cc33a752f0 100644 --- a/src/Avalonia.Windowing/Bindings/EventsLoop.cs +++ b/src/Avalonia.Windowing/Bindings/EventsLoop.cs @@ -55,16 +55,9 @@ namespace Avalonia.Windowing.Bindings ); } - static TimerDel del = new TimerDel(() => + public void RunTimer(TimerDel del) { - Console.WriteLine("WRK"); - }); - - public void RunTimer() - { - winit_events_loop_timer( - del); - + winit_events_loop_timer(del); } public void Wakeup() diff --git a/src/Avalonia.Windowing/WIndowingPlatform.cs b/src/Avalonia.Windowing/WIndowingPlatform.cs index b2baea9374..522540cabe 100644 --- a/src/Avalonia.Windowing/WIndowingPlatform.cs +++ b/src/Avalonia.Windowing/WIndowingPlatform.cs @@ -7,6 +7,7 @@ using Avalonia.Input; using Avalonia.Platform; using Avalonia.Threading; using Avalonia.Windowing.Bindings; +using static Avalonia.Windowing.Bindings.EventsLoop; namespace Avalonia.Windowing { @@ -127,10 +128,17 @@ namespace Avalonia.Windowing _eventsLoop.Wakeup(); } + private IList timerTickers = new List(); + public IDisposable StartTimer(DispatcherPriority priority, TimeSpan interval, Action tick) { - _eventsLoop.RunTimer(); - return Disposable.Create(() => { }); + var x = new TimerDel(tick); + timerTickers.Add(x); + + _eventsLoop.RunTimer(x); + return Disposable.Create(() => { + // timerTickers.Remove(x); + }); } } }