diff --git a/src/Gtk/Perspex.Cairo/CairoPlatform.cs b/src/Gtk/Perspex.Cairo/CairoPlatform.cs
index 55da932a59..7d4b5421ee 100644
--- a/src/Gtk/Perspex.Cairo/CairoPlatform.cs
+++ b/src/Gtk/Perspex.Cairo/CairoPlatform.cs
@@ -36,9 +36,9 @@ namespace Perspex.Cairo
return new FormattedTextImpl(s_pangoContext, text, fontFamily, fontSize, fontStyle, textAlignment, fontWeight);
}
- public IRenderer CreateRenderer(IPlatformHandle handle, double width, double height)
+ public IRenderingViewport CreateRenderer(IPlatformHandle handle, double width, double height)
{
- return new Renderer(handle, width, height);
+ return new Viewport(handle, width, height);
}
public IRenderTargetBitmapImpl CreateRenderTargetBitmap(int width, int height)
diff --git a/src/Gtk/Perspex.Cairo/Media/Imaging/RenderTargetBitmapImpl.cs b/src/Gtk/Perspex.Cairo/Media/Imaging/RenderTargetBitmapImpl.cs
index e35780773a..a35c037875 100644
--- a/src/Gtk/Perspex.Cairo/Media/Imaging/RenderTargetBitmapImpl.cs
+++ b/src/Gtk/Perspex.Cairo/Media/Imaging/RenderTargetBitmapImpl.cs
@@ -14,7 +14,7 @@ namespace Perspex.Cairo.Media.Imaging
public RenderTargetBitmapImpl(Cairo.ImageSurface surface)
{
Surface = surface;
- renderer = new Renderer(Surface);
+ viewport = new Viewport(Surface);
}
public int PixelWidth => Surface.Width;
@@ -23,7 +23,7 @@ namespace Perspex.Cairo.Media.Imaging
public void Dispose()
{
- renderer.Dispose();
+ viewport.Dispose();
}
public Cairo.ImageSurface Surface
@@ -31,10 +31,10 @@ namespace Perspex.Cairo.Media.Imaging
get;
}
- private Renderer renderer;
+ private Viewport viewport;
public void Render(IVisual visual)
{
- renderer.Render(visual, new PlatformHandle(IntPtr.Zero, "RTB"));
+ viewport.Render(visual, new PlatformHandle(IntPtr.Zero, "RTB"));
}
public void Save(string fileName)
diff --git a/src/Gtk/Perspex.Cairo/Media/TileBrushes.cs b/src/Gtk/Perspex.Cairo/Media/TileBrushes.cs
index 761efc2220..0a4c20246f 100644
--- a/src/Gtk/Perspex.Cairo/Media/TileBrushes.cs
+++ b/src/Gtk/Perspex.Cairo/Media/TileBrushes.cs
@@ -111,7 +111,7 @@ namespace Perspex.Cairo.Media
scale,
translate,
out drawRect);
- var renderer = new Renderer(intermediate);
+ var renderer = new Viewport(intermediate);
context.Rectangle(drawRect.ToCairo());
context.Clip();
diff --git a/src/Gtk/Perspex.Cairo/Perspex.Cairo.csproj b/src/Gtk/Perspex.Cairo/Perspex.Cairo.csproj
index e389fac5b2..3f5d54a26a 100644
--- a/src/Gtk/Perspex.Cairo/Perspex.Cairo.csproj
+++ b/src/Gtk/Perspex.Cairo/Perspex.Cairo.csproj
@@ -61,7 +61,7 @@
-
+
diff --git a/src/Gtk/Perspex.Cairo/Renderer.cs b/src/Gtk/Perspex.Cairo/Viewport.cs
similarity index 90%
rename from src/Gtk/Perspex.Cairo/Renderer.cs
rename to src/Gtk/Perspex.Cairo/Viewport.cs
index a99da669f7..2191611f15 100644
--- a/src/Gtk/Perspex.Cairo/Renderer.cs
+++ b/src/Gtk/Perspex.Cairo/Viewport.cs
@@ -15,22 +15,22 @@ namespace Perspex.Cairo
///
/// A cairo renderer.
///
- public class Renderer : IRenderer
+ public class Viewport : IRenderingViewport
{
private readonly Surface _surface;
private Gdk.Window _window;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The window handle.
/// The width of the window.
/// The height of the window.
- public Renderer(IPlatformHandle handle, double width, double height)
+ public Viewport(IPlatformHandle handle, double width, double height)
{
}
- public Renderer(ImageSurface surface)
+ public Viewport(ImageSurface surface)
{
_surface = surface;
}
diff --git a/src/Perspex.Application/Application.cs b/src/Perspex.Application/Application.cs
index f0a3c1a8ee..88f3a23ffe 100644
--- a/src/Perspex.Application/Application.cs
+++ b/src/Perspex.Application/Application.cs
@@ -168,7 +168,7 @@ namespace Perspex
.Bind().ToTransient()
.Bind().ToConstant(_styler)
.Bind().ToTransient()
- .Bind().ToTransient();
+ .Bind().ToTransient();
}
///
diff --git a/src/Perspex.Controls/Perspex.Controls.csproj b/src/Perspex.Controls/Perspex.Controls.csproj
index 12a8f6f7e6..f29b366032 100644
--- a/src/Perspex.Controls/Perspex.Controls.csproj
+++ b/src/Perspex.Controls/Perspex.Controls.csproj
@@ -43,6 +43,7 @@
+
diff --git a/src/Perspex.Controls/Platform/ITopLevelRenderer.cs b/src/Perspex.Controls/Platform/ITopLevelRenderer.cs
new file mode 100644
index 0000000000..74afcceeb8
--- /dev/null
+++ b/src/Perspex.Controls/Platform/ITopLevelRenderer.cs
@@ -0,0 +1,62 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Perspex.Platform;
+using Perspex.Rendering;
+
+namespace Perspex.Controls.Platform
+{
+ public interface ITopLevelRenderer
+ {
+ void Attach(TopLevel topLevel);
+ }
+
+
+ class DefaultTopLevelRenderer : ITopLevelRenderer
+ {
+
+ public void Attach(TopLevel topLevel)
+ {
+ var resources = new List();
+ var initialClientSize = topLevel.PlatformImpl.ClientSize;
+
+
+ var queueManager = ((IRenderRoot)topLevel).RenderQueueManager;
+
+ if (queueManager == null)
+ return;
+
+ var platformRender = PerspexLocator.Current.GetService();
+ if(platformRender == null)
+ return;
+
+ var viewport = platformRender
+ .CreateRenderer(topLevel.PlatformImpl.Handle, initialClientSize.Width, initialClientSize.Height);
+ resources.Add(viewport);
+
+
+ resources.Add(topLevel.GetObservable(TopLevel.ClientSizeProperty).Subscribe(clientSize =>
+ {
+ viewport.Resize((int) clientSize.Width, (int) clientSize.Height);
+ }));
+ resources.Add(queueManager.RenderNeeded.Subscribe(_
+ => topLevel.PlatformImpl.Invalidate(new Rect(topLevel.ClientSize))));
+
+ topLevel.PlatformImpl.Paint = (rect, handle) =>
+ {
+ viewport.Render(topLevel, handle);
+ queueManager.RenderFinished();
+ };
+
+ topLevel.Closed += delegate
+ {
+ foreach (var disposable in resources)
+ disposable.Dispose();
+ resources.Clear();
+ };
+
+ }
+ }
+}
diff --git a/src/Perspex.Controls/TopLevel.cs b/src/Perspex.Controls/TopLevel.cs
index 5936e08404..a34d7a1ad0 100644
--- a/src/Perspex.Controls/TopLevel.cs
+++ b/src/Perspex.Controls/TopLevel.cs
@@ -4,6 +4,7 @@
using System;
using System.Reactive.Disposables;
using System.Reactive.Linq;
+using Perspex.Controls.Platform;
using Perspex.Controls.Primitives;
using Perspex.Input;
using Perspex.Input.Raw;
@@ -43,8 +44,8 @@ namespace Perspex.Controls
public static readonly PerspexProperty PointerOverElementProperty =
PerspexProperty.Register(nameof(IInputRoot.PointerOverElement));
- private readonly IRenderManager _renderManager;
- private readonly IRenderer _renderer;
+ private readonly IRenderQueueManager _renderQueueManager;
+ private readonly IRenderingViewport _viewport;
private readonly IInputManager _inputManager;
private readonly IAccessKeyHandler _accessKeyHandler;
private readonly IKeyboardNavigationHandler _keyboardNavigationHandler;
@@ -92,21 +93,21 @@ namespace Perspex.Controls
_inputManager = TryGetService(dependencyResolver);
_keyboardNavigationHandler = TryGetService(dependencyResolver);
LayoutManager = TryGetService(dependencyResolver);
- _renderManager = TryGetService(dependencyResolver);
+ _renderQueueManager = TryGetService(dependencyResolver);
+ (TryGetService(dependencyResolver) ?? new DefaultTopLevelRenderer()).Attach(this);
PlatformImpl.SetInputRoot(this);
PlatformImpl.Activated = HandleActivated;
PlatformImpl.Deactivated = HandleDeactivated;
PlatformImpl.Closed = HandleClosed;
PlatformImpl.Input = HandleInput;
- PlatformImpl.Paint = HandlePaint;
PlatformImpl.Resized = HandleResized;
Size clientSize = ClientSize = PlatformImpl.ClientSize;
if (renderInterface != null)
{
- _renderer = renderInterface.CreateRenderer(PlatformImpl.Handle, clientSize.Width, clientSize.Height);
+ _viewport = renderInterface.CreateRenderer(PlatformImpl.Handle, clientSize.Width, clientSize.Height);
}
if (LayoutManager != null)
@@ -116,11 +117,6 @@ namespace Perspex.Controls
LayoutManager.LayoutCompleted.Subscribe(_ => HandleLayoutCompleted());
}
- if (_renderManager != null)
- {
- _renderManager.RenderNeeded.Subscribe(_ => HandleRenderNeeded());
- }
-
if (_keyboardNavigationHandler != null)
{
_keyboardNavigationHandler.SetOwner(this);
@@ -188,16 +184,11 @@ namespace Perspex.Controls
{
get;
}
-
- ///
- /// Gets the window renderer.
- ///
- IRenderer IRenderRoot.Renderer => _renderer;
-
+
///
/// Gets the window render manager.
///
- IRenderManager IRenderRoot.RenderManager => _renderManager;
+ IRenderQueueManager IRenderRoot.RenderQueueManager => _renderQueueManager;
///
/// Gets the access key handler for the window.
@@ -297,7 +288,6 @@ namespace Perspex.Controls
}
ClientSize = clientSize;
- _renderer.Resize((int)clientSize.Width, (int)clientSize.Height);
LayoutManager.ExecuteLayoutPass();
PlatformImpl.Invalidate(new Rect(clientSize));
}
@@ -389,28 +379,7 @@ namespace Perspex.Controls
///
private void HandleLayoutCompleted()
{
- _renderManager?.InvalidateRender(this);
- }
-
- ///
- /// Handles a render request from .
- ///
- private void HandleRenderNeeded()
- {
- Dispatcher.UIThread.InvokeAsync(
- () => PlatformImpl.Invalidate(new Rect(ClientSize)),
- DispatcherPriority.Render);
- }
-
- ///
- /// Handles a paint request from .
- ///
- /// The rectangle to paint.
- /// An optional platform-specific handle.
- private void HandlePaint(Rect rect, IPlatformHandle handle)
- {
- _renderer.Render(this, handle);
- _renderManager.RenderFinished();
+ _renderQueueManager?.InvalidateRender(this);
}
}
}
diff --git a/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj b/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj
index 4b8c5c3778..dafed3ddd9 100644
--- a/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj
+++ b/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj
@@ -105,7 +105,7 @@
-
+
@@ -114,9 +114,9 @@
-
+
-
+
diff --git a/src/Perspex.SceneGraph/Platform/IPlatformRenderInterface.cs b/src/Perspex.SceneGraph/Platform/IPlatformRenderInterface.cs
index ca40ec8137..9adf05e2e4 100644
--- a/src/Perspex.SceneGraph/Platform/IPlatformRenderInterface.cs
+++ b/src/Perspex.SceneGraph/Platform/IPlatformRenderInterface.cs
@@ -49,8 +49,8 @@ namespace Perspex.Platform
/// The platform handle for the renderer.
/// The initial width of the render.
/// The initial height of the render.
- /// An .
- IRenderer CreateRenderer(IPlatformHandle handle, double width, double height);
+ /// An .
+ IRenderingViewport CreateRenderer(IPlatformHandle handle, double width, double height);
///
/// Creates a render target bitmap implementation.
diff --git a/src/Perspex.SceneGraph/Platform/IRenderer.cs b/src/Perspex.SceneGraph/Platform/IRenderingViewport.cs
similarity index 95%
rename from src/Perspex.SceneGraph/Platform/IRenderer.cs
rename to src/Perspex.SceneGraph/Platform/IRenderingViewport.cs
index a19593406b..ef9a8452e7 100644
--- a/src/Perspex.SceneGraph/Platform/IRenderer.cs
+++ b/src/Perspex.SceneGraph/Platform/IRenderingViewport.cs
@@ -15,7 +15,7 @@ namespace Perspex.Platform
/// as RenderBase has a default implementation for the non-platform specific parts of a
/// renderer.
///
- public interface IRenderer : IDisposable
+ public interface IRenderingViewport : IDisposable
{
///
/// Creates an for a rendering session.
diff --git a/src/Perspex.SceneGraph/Rendering/IRenderManager.cs b/src/Perspex.SceneGraph/Rendering/IRenderQueueManager.cs
similarity index 88%
rename from src/Perspex.SceneGraph/Rendering/IRenderManager.cs
rename to src/Perspex.SceneGraph/Rendering/IRenderQueueManager.cs
index cb03a8a19a..a583bcbc85 100644
--- a/src/Perspex.SceneGraph/Rendering/IRenderManager.cs
+++ b/src/Perspex.SceneGraph/Rendering/IRenderQueueManager.cs
@@ -7,9 +7,9 @@ using System.Reactive;
namespace Perspex.Rendering
{
///
- /// Defines the interface for a .
+ /// Defines the interface for a .
///
- public interface IRenderManager
+ public interface IRenderQueueManager
{
///
/// Gets an observable that is fired whenever a render is required.
diff --git a/src/Perspex.SceneGraph/Rendering/IRenderRoot.cs b/src/Perspex.SceneGraph/Rendering/IRenderRoot.cs
index a6f5846f75..406eedbc3b 100644
--- a/src/Perspex.SceneGraph/Rendering/IRenderRoot.cs
+++ b/src/Perspex.SceneGraph/Rendering/IRenderRoot.cs
@@ -10,15 +10,10 @@ namespace Perspex.Rendering
///
public interface IRenderRoot
{
- ///
- /// Gets the renderer for the tree.
- ///
- IRenderer Renderer { get; }
-
///
/// Gets the render manager which schedules renders.
///
- IRenderManager RenderManager { get; }
+ IRenderQueueManager RenderQueueManager { get; }
///
/// Translates a point to screen co-ordinates.
diff --git a/src/Perspex.SceneGraph/Rendering/RenderManager.cs b/src/Perspex.SceneGraph/Rendering/RenderQueueManager.cs
similarity index 96%
rename from src/Perspex.SceneGraph/Rendering/RenderManager.cs
rename to src/Perspex.SceneGraph/Rendering/RenderQueueManager.cs
index 8f89c6d31f..514bb547a6 100644
--- a/src/Perspex.SceneGraph/Rendering/RenderManager.cs
+++ b/src/Perspex.SceneGraph/Rendering/RenderQueueManager.cs
@@ -10,7 +10,7 @@ namespace Perspex.Rendering
///
/// Schedules the rendering of a tree.
///
- public class RenderManager : IRenderManager
+ public class RenderQueueManager : IRenderQueueManager
{
private readonly Subject _renderNeeded = new Subject();
diff --git a/src/Perspex.SceneGraph/Rendering/RendererBase.cs b/src/Perspex.SceneGraph/Rendering/RendererBase.cs
index 4f9440eb4d..e0a886f66f 100644
--- a/src/Perspex.SceneGraph/Rendering/RendererBase.cs
+++ b/src/Perspex.SceneGraph/Rendering/RendererBase.cs
@@ -12,47 +12,47 @@ namespace Perspex.Rendering
/// Base class for standard renderers.
///
///
- /// This class provides implements the platform-independent parts of .
+ /// This class provides implements the platform-independent parts of .
///
public static class RendererMixin
{
///
/// Renders the specified visual.
///
- /// IRenderer instance
+ /// IRenderer instance
/// The visual to render.
/// An optional platform-specific handle.
- public static void Render(this IRenderer renderer, IVisual visual, IPlatformHandle target)
+ public static void Render(this IRenderingViewport viewport, IVisual visual, IPlatformHandle target)
{
- using (var ctx = renderer.CreateDrawingContext(target))
+ using (var ctx = viewport.CreateDrawingContext(target))
ctx.Render(visual);
}
///
/// Renders the specified visual.
///
- /// IRenderer instance
+ /// IRenderer instance
/// An optional platform-specific handle.
/// The visual to render.
/// The current translation.
/// The current transform.
- public static void Render(this IRenderer renderer, IVisual visual, IPlatformHandle target, Matrix translation, Matrix transform)
+ public static void Render(this IRenderingViewport viewport, IVisual visual, IPlatformHandle target, Matrix translation, Matrix transform)
{
- using (var ctx = renderer.CreateDrawingContext(target))
+ using (var ctx = viewport.CreateDrawingContext(target))
ctx.Render(visual, translation, transform);
}
///
/// Renders the specified visual with the specified transform and clip.
///
- /// IRenderer instance
+ /// IRenderer instance
/// An optional platform-specific handle.
/// The visual to render.
/// The transform.
/// An optional clip rectangle.
- public static void Render(this IRenderer renderer, IVisual visual, IPlatformHandle target, Matrix transform, Rect? clip = null)
+ public static void Render(this IRenderingViewport viewport, IVisual visual, IPlatformHandle target, Matrix transform, Rect? clip = null)
{
- using (var context = renderer.CreateDrawingContext(target))
+ using (var context = viewport.CreateDrawingContext(target))
context.Render(visual, transform, clip);
}
diff --git a/src/Perspex.SceneGraph/Visual.cs b/src/Perspex.SceneGraph/Visual.cs
index 46020d8e07..45ac797d99 100644
--- a/src/Perspex.SceneGraph/Visual.cs
+++ b/src/Perspex.SceneGraph/Visual.cs
@@ -22,7 +22,7 @@ namespace Perspex
///
///
/// The class acts as a node in the Perspex scene graph and holds
- /// all the information needed for an to render the control.
+ /// all the information needed for an to render the control.
/// To traverse the scene graph (aka Visual Tree), use the extension methods defined
/// in .
///
@@ -222,9 +222,9 @@ namespace Perspex
.OfType()
.FirstOrDefault();
- if (root != null && root.RenderManager != null)
+ if (root != null && root.RenderQueueManager != null)
{
- root.RenderManager.InvalidateRender(this);
+ root.RenderQueueManager.InvalidateRender(this);
}
}
diff --git a/src/Windows/Perspex.Direct2D1/Direct2D1Platform.cs b/src/Windows/Perspex.Direct2D1/Direct2D1Platform.cs
index 9005a9ffe3..65aa0b06d6 100644
--- a/src/Windows/Perspex.Direct2D1/Direct2D1Platform.cs
+++ b/src/Windows/Perspex.Direct2D1/Direct2D1Platform.cs
@@ -41,11 +41,11 @@ namespace Perspex.Direct2D1
return new FormattedTextImpl(text, fontFamily, fontSize, fontStyle, textAlignment, fontWeight);
}
- public IRenderer CreateRenderer(IPlatformHandle handle, double width, double height)
+ public IRenderingViewport CreateRenderer(IPlatformHandle handle, double width, double height)
{
if (handle.HandleDescriptor == "HWND")
{
- return new Renderer(handle.Handle, width, height);
+ return new Viewport(handle.Handle, width, height);
}
else
{
diff --git a/src/Windows/Perspex.Direct2D1/Media/Imaging/RenderTargetBitmapImpl.cs b/src/Windows/Perspex.Direct2D1/Media/Imaging/RenderTargetBitmapImpl.cs
index 16cda058ce..3faaf762d8 100644
--- a/src/Windows/Perspex.Direct2D1/Media/Imaging/RenderTargetBitmapImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/Imaging/RenderTargetBitmapImpl.cs
@@ -39,8 +39,8 @@ namespace Perspex.Direct2D1.Media
public void Render(IVisual visual)
{
- Renderer renderer = new Renderer(_target);
- renderer.Render(visual, null);
+ Viewport viewport = new Viewport(_target);
+ viewport.Render(visual, null);
}
}
}
diff --git a/src/Windows/Perspex.Direct2D1/Media/VisualBrushImpl.cs b/src/Windows/Perspex.Direct2D1/Media/VisualBrushImpl.cs
index 0acb5e07dc..8380b9c200 100644
--- a/src/Windows/Perspex.Direct2D1/Media/VisualBrushImpl.cs
+++ b/src/Windows/Perspex.Direct2D1/Media/VisualBrushImpl.cs
@@ -51,7 +51,7 @@ namespace Perspex.Direct2D1.Media
scale,
translate,
out drawRect);
- var renderer = new Renderer(intermediate);
+ var renderer = new Viewport(intermediate);
renderer.Render(visual, null, transform, drawRect);
diff --git a/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj b/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
index f352a6d7a8..eecdaeef6a 100644
--- a/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
+++ b/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj
@@ -89,7 +89,7 @@
-
+
diff --git a/src/Windows/Perspex.Direct2D1/Renderer.cs b/src/Windows/Perspex.Direct2D1/Viewport.cs
similarity index 91%
rename from src/Windows/Perspex.Direct2D1/Renderer.cs
rename to src/Windows/Perspex.Direct2D1/Viewport.cs
index 607270ed69..e53a1c8b91 100644
--- a/src/Windows/Perspex.Direct2D1/Renderer.cs
+++ b/src/Windows/Perspex.Direct2D1/Viewport.cs
@@ -12,7 +12,7 @@ using DwFactory = SharpDX.DirectWrite.Factory;
namespace Perspex.Direct2D1
{
- public class Renderer : IRenderer
+ public class Viewport : IRenderingViewport
{
///
/// The render target.
@@ -20,12 +20,12 @@ namespace Perspex.Direct2D1
private readonly RenderTarget _renderTarget;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The window handle.
/// The width of the window.
/// The height of the window.
- public Renderer(IntPtr hwnd, double width, double height)
+ public Viewport(IntPtr hwnd, double width, double height)
{
Direct2DFactory = PerspexLocator.Current.GetService();
DirectWriteFactory = PerspexLocator.Current.GetService();
@@ -48,10 +48,10 @@ namespace Perspex.Direct2D1
}
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The render target.
- public Renderer(RenderTarget renderTarget)
+ public Viewport(RenderTarget renderTarget)
{
Direct2DFactory = PerspexLocator.Current.GetService();
DirectWriteFactory = PerspexLocator.Current.GetService();
diff --git a/tests/Perspex.Controls.UnitTests/ControlTests.cs b/tests/Perspex.Controls.UnitTests/ControlTests.cs
index 4a801fc0e9..d031467ca2 100644
--- a/tests/Perspex.Controls.UnitTests/ControlTests.cs
+++ b/tests/Perspex.Controls.UnitTests/ControlTests.cs
@@ -76,12 +76,12 @@ namespace Perspex.Controls.UnitTests
get { throw new NotImplementedException(); }
}
- public IRenderer Renderer
+ public IRenderingViewport Viewport
{
get { throw new NotImplementedException(); }
}
- public IRenderManager RenderManager
+ public IRenderQueueManager RenderQueueManager
{
get { throw new NotImplementedException(); }
}
diff --git a/tests/Perspex.Controls.UnitTests/TestRoot.cs b/tests/Perspex.Controls.UnitTests/TestRoot.cs
index 6f564550d2..a35bfc50ce 100644
--- a/tests/Perspex.Controls.UnitTests/TestRoot.cs
+++ b/tests/Perspex.Controls.UnitTests/TestRoot.cs
@@ -15,12 +15,12 @@ namespace Perspex.Controls.UnitTests
public ILayoutManager LayoutManager => new Mock().Object;
- public IRenderer Renderer
+ public IRenderingViewport Viewport
{
get { throw new NotImplementedException(); }
}
- public IRenderManager RenderManager
+ public IRenderQueueManager RenderQueueManager
{
get { throw new NotImplementedException(); }
}
diff --git a/tests/Perspex.Controls.UnitTests/TopLevelTests.cs b/tests/Perspex.Controls.UnitTests/TopLevelTests.cs
index 7c8f6a52b4..5b8c08e8e2 100644
--- a/tests/Perspex.Controls.UnitTests/TopLevelTests.cs
+++ b/tests/Perspex.Controls.UnitTests/TopLevelTests.cs
@@ -180,7 +180,7 @@ namespace Perspex.Controls.UnitTests
var target = new TestTopLevel(impl.Object);
completed.OnNext(Unit.Default);
- var renderManagerMock = Mock.Get(PerspexLocator.Current.GetService());
+ var renderManagerMock = Mock.Get(PerspexLocator.Current.GetService());
renderManagerMock.Verify(x => x.InvalidateRender(target));
}
}
@@ -313,7 +313,7 @@ namespace Perspex.Controls.UnitTests
var globalStyles = new Mock();
var layoutManager = fixture.Create();
var renderInterface = fixture.Create();
- var renderManager = fixture.Create();
+ var renderManager = fixture.Create();
var windowImpl = new Mock();
var theme = new Styles();
@@ -327,7 +327,7 @@ namespace Perspex.Controls.UnitTests
.Bind().ToConstant(layoutManager)
.Bind().ToConstant(renderInterface)
.Bind().ToConstant(new Mock().Object)
- .Bind().ToConstant(renderManager)
+ .Bind().ToConstant(renderManager)
.Bind().ToConstant(new Styler());
}
diff --git a/tests/Perspex.Layout.UnitTests/FullLayoutTests.cs b/tests/Perspex.Layout.UnitTests/FullLayoutTests.cs
index fb714e5278..c9df6639cd 100644
--- a/tests/Perspex.Layout.UnitTests/FullLayoutTests.cs
+++ b/tests/Perspex.Layout.UnitTests/FullLayoutTests.cs
@@ -134,7 +134,7 @@ namespace Perspex.Layout.UnitTests
var formattedText = fixture.Create();
var globalStyles = new Mock();
var renderInterface = fixture.Create();
- var renderManager = fixture.Create();
+ var renderManager = fixture.Create();
var theme = new DefaultTheme();
var windowImpl = new Mock();
@@ -148,7 +148,7 @@ namespace Perspex.Layout.UnitTests
.Bind().ToConstant(new LayoutManager())
.Bind().ToConstant(renderInterface)
.Bind().ToConstant(new Mock().Object)
- .Bind().ToConstant(renderManager)
+ .Bind().ToConstant(renderManager)
.Bind().ToConstant(new Styler())
.Bind().ToConstant(windowImpl.Object);
}
diff --git a/tests/Perspex.SceneGraph.UnitTests/TestRoot.cs b/tests/Perspex.SceneGraph.UnitTests/TestRoot.cs
index 41215cfa08..8b447e42bb 100644
--- a/tests/Perspex.SceneGraph.UnitTests/TestRoot.cs
+++ b/tests/Perspex.SceneGraph.UnitTests/TestRoot.cs
@@ -9,12 +9,12 @@ namespace Perspex.SceneGraph.UnitTests
{
public class TestRoot : TestVisual, IRenderRoot
{
- public IRenderer Renderer
+ public IRenderingViewport Viewport
{
get { throw new NotImplementedException(); }
}
- public IRenderManager RenderManager
+ public IRenderQueueManager RenderQueueManager
{
get { throw new NotImplementedException(); }
}