Clock.cs 578 B

1234567891011121314151617181920212223242526
  1. using System;
  2. using Avalonia.Reactive;
  3. namespace Avalonia.Animation
  4. {
  5. public class Clock : ClockBase
  6. {
  7. public static IClock GlobalClock => AvaloniaLocator.Current.GetRequiredService<IGlobalClock>();
  8. private readonly IDisposable _parentSubscription;
  9. public Clock() : this(GlobalClock)
  10. {
  11. }
  12. public Clock(IClock parent)
  13. {
  14. _parentSubscription = parent.Subscribe(Pulse);
  15. }
  16. protected override void Stop()
  17. {
  18. _parentSubscription?.Dispose();
  19. }
  20. }
  21. }