diff --git a/src/Avalonia.Visuals/Rendering/IRenderLoop.cs b/src/Avalonia.Visuals/Rendering/IRenderLoop.cs
index bd1086d178..dd7442e7f8 100644
--- a/src/Avalonia.Visuals/Rendering/IRenderLoop.cs
+++ b/src/Avalonia.Visuals/Rendering/IRenderLoop.cs
@@ -1,8 +1,28 @@
namespace Avalonia.Rendering
{
+ ///
+ /// The application render loop.
+ ///
+ ///
+ /// The render loop is responsible for advancing the animation timer and updating the scene
+ /// graph for visible windows.
+ ///
public interface IRenderLoop
{
+ ///
+ /// Adds an update task.
+ ///
+ /// The update task.
+ ///
+ /// Registered update tasks will be polled on each tick of the render loop after the
+ /// animation timer has been pulsed.
+ ///
void Add(IRenderLoopTask i);
+
+ ///
+ /// Removes an update task.
+ ///
+ /// The update task.
void Remove(IRenderLoopTask i);
}
-}
\ No newline at end of file
+}
diff --git a/src/Avalonia.Visuals/Rendering/RenderLoop.cs b/src/Avalonia.Visuals/Rendering/RenderLoop.cs
index 076e8bbd33..98fc12b4b1 100644
--- a/src/Avalonia.Visuals/Rendering/RenderLoop.cs
+++ b/src/Avalonia.Visuals/Rendering/RenderLoop.cs
@@ -5,6 +5,13 @@ using Avalonia.Threading;
namespace Avalonia.Rendering
{
+ ///
+ /// The application render loop.
+ ///
+ ///
+ /// The render loop is responsible for advancing the animation timer and updating the scene
+ /// graph for visible windows.
+ ///
public class RenderLoop : IRenderLoop
{
private readonly IDispatcher _dispatcher;
@@ -12,17 +19,28 @@ namespace Avalonia.Rendering
private IRenderTimer _timer;
private bool inTick;
+ ///
+ /// Initializes a new instance of the class.
+ ///
public RenderLoop()
{
_dispatcher = Dispatcher.UIThread;
}
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The render timer.
+ /// The UI thread dispatcher.
public RenderLoop(IRenderTimer timer, IDispatcher dispatcher)
{
_timer = timer;
_dispatcher = dispatcher;
}
+ ///
+ /// Gets the render timer.
+ ///
protected IRenderTimer Timer
{
get
@@ -36,6 +54,7 @@ namespace Avalonia.Rendering
}
}
+ ///
public void Add(IRenderLoopTask i)
{
Contract.Requires(i != null);
@@ -49,6 +68,7 @@ namespace Avalonia.Rendering
}
}
+ ///
public void Remove(IRenderLoopTask i)
{
Contract.Requires(i != null);