Browse Source

Reorganize RenderLoopClock registration.

pull/1715/head
Jeremy Koritzinsky 8 years ago
parent
commit
6a380d6591
  1. 2
      src/Avalonia.Controls/AppBuilderBase.cs
  2. 7
      src/Avalonia.Controls/Application.cs
  3. 5
      src/Windows/Avalonia.Win32/Win32Platform.cs

2
src/Avalonia.Controls/AppBuilderBase.cs

@ -272,10 +272,10 @@ namespace Avalonia.Controls
s_setupWasAlreadyCalled = true;
Instance.RegisterServices();
RuntimePlatformServicesInitializer();
WindowingSubsystemInitializer();
RenderingSubsystemInitializer();
Instance.RegisterServices();
Instance.Initialize();
AfterSetupCallback(Self);
}

7
src/Avalonia.Controls/Application.cs

@ -4,12 +4,14 @@
using System;
using System.Reactive.Concurrency;
using System.Threading;
using Avalonia.Animation;
using Avalonia.Controls;
using Avalonia.Controls.Templates;
using Avalonia.Input;
using Avalonia.Input.Platform;
using Avalonia.Input.Raw;
using Avalonia.Platform;
using Avalonia.Rendering;
using Avalonia.Styling;
using Avalonia.Threading;
@ -335,6 +337,11 @@ namespace Avalonia
.Bind<IScheduler>().ToConstant(AvaloniaScheduler.Instance)
.Bind<IDragDropDevice>().ToConstant(DragDropDevice.Instance)
.Bind<IPlatformDragSource>().ToTransient<InProcessDragSource>();
var clock = new RenderLoopClock();
AvaloniaLocator.CurrentMutable
.Bind<Clock>().ToConstant(clock)
.GetService<IRenderLoop>().Add(clock);
}
}
}

5
src/Windows/Avalonia.Win32/Win32Platform.cs

@ -77,8 +77,6 @@ namespace Avalonia.Win32
public static void Initialize(bool deferredRendering = true)
{
var clock = new RenderLoopClock();
AvaloniaLocator.CurrentMutable
.Bind<IClipboard>().ToSingleton<ClipboardImpl>()
.Bind<IStandardCursorFactory>().ToConstant(CursorFactory.Instance)
@ -87,7 +85,6 @@ namespace Avalonia.Win32
.Bind<IPlatformThreadingInterface>().ToConstant(s_instance)
.Bind<IRenderLoop>().ToConstant(new RenderLoop())
.Bind<IRenderTimer>().ToConstant(new RenderTimer(60))
.Bind<Clock>().ToConstant(clock)
.Bind<ISystemDialogImpl>().ToSingleton<SystemDialogImpl>()
.Bind<IWindowingPlatform>().ToConstant(s_instance)
.Bind<IPlatformIconLoader>().ToConstant(s_instance);
@ -97,8 +94,6 @@ namespace Avalonia.Win32
if (OleContext.Current != null)
AvaloniaLocator.CurrentMutable.Bind<IPlatformDragSource>().ToSingleton<DragSource>();
AvaloniaLocator.Current.GetService<IRenderLoop>().Add(clock);
}
public bool HasMessages()

Loading…
Cancel
Save