diff --git a/samples/GpuInterop/MainWindow.axaml.cs b/samples/GpuInterop/MainWindow.axaml.cs
index 8fc8926783..7cf0bc00e2 100644
--- a/samples/GpuInterop/MainWindow.axaml.cs
+++ b/samples/GpuInterop/MainWindow.axaml.cs
@@ -1,6 +1,7 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
+using Avalonia.Rendering;
namespace GpuInterop
{
@@ -8,9 +9,9 @@ namespace GpuInterop
{
public MainWindow()
{
- this.InitializeComponent();
+ InitializeComponent();
this.AttachDevTools();
- this.Renderer.DrawFps = true;
+ Renderer.Diagnostics.DebugOverlays = RendererDebugOverlays.Fps;
}
private void InitializeComponent()
diff --git a/samples/RenderDemo/MainWindow.xaml b/samples/RenderDemo/MainWindow.xaml
index 20cc6c43e1..e1dbd20b07 100644
--- a/samples/RenderDemo/MainWindow.xaml
+++ b/samples/RenderDemo/MainWindow.xaml
@@ -26,6 +26,20 @@
IsHitTestVisible="False" />
+
+
-
-
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/Avalonia.Base.UnitTests/Input/MouseDeviceTests.cs b/tests/Avalonia.Base.UnitTests/Input/MouseDeviceTests.cs
index 466aba43ee..3d7dc66cc4 100644
--- a/tests/Avalonia.Base.UnitTests/Input/MouseDeviceTests.cs
+++ b/tests/Avalonia.Base.UnitTests/Input/MouseDeviceTests.cs
@@ -1,15 +1,7 @@
-using System;
-using System.Collections.Generic;
-using Avalonia.Controls;
-using Avalonia.Controls.Presenters;
-using Avalonia.Controls.Templates;
+using Avalonia.Controls;
using Avalonia.Input;
-using Avalonia.Input.Raw;
using Avalonia.Media;
-using Avalonia.Platform;
-using Avalonia.Rendering;
using Avalonia.UnitTests;
-using Moq;
using Xunit;
namespace Avalonia.Base.UnitTests.Input
@@ -21,7 +13,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var device = new MouseDevice();
var impl = CreateTopLevelImplMock(renderer.Object);
@@ -59,7 +51,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var device = new MouseDevice();
var impl = CreateTopLevelImplMock(renderer.Object);
diff --git a/tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs b/tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs
index 1ac50446c0..629188800a 100644
--- a/tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs
+++ b/tests/Avalonia.Base.UnitTests/Input/PointerOverTests.cs
@@ -22,7 +22,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var device = CreatePointerDeviceMock().Object;
var impl = CreateTopLevelImplMock(renderer.Object);
@@ -50,7 +50,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var device = CreatePointerDeviceMock().Object;
var impl = CreateTopLevelImplMock(renderer.Object);
@@ -93,7 +93,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var device = CreatePointerDeviceMock(pointerType: PointerType.Touch).Object;
var impl = CreateTopLevelImplMock(renderer.Object);
@@ -119,7 +119,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var pointer = new Mock();
var device = CreatePointerDeviceMock(pointer.Object).Object;
var impl = CreateTopLevelImplMock(renderer.Object);
@@ -155,7 +155,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var device = CreatePointerDeviceMock().Object;
var impl = CreateTopLevelImplMock(renderer.Object);
@@ -201,7 +201,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var deviceMock = CreatePointerDeviceMock();
var impl = CreateTopLevelImplMock(renderer.Object);
var result = new List<(object?, string)>();
@@ -256,7 +256,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var deviceMock = CreatePointerDeviceMock();
var impl = CreateTopLevelImplMock(renderer.Object);
var result = new List<(object?, string)>();
@@ -307,7 +307,7 @@ namespace Avalonia.Base.UnitTests.Input
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
var expectedPosition = new Point(15, 15);
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var deviceMock = CreatePointerDeviceMock();
var impl = CreateTopLevelImplMock(renderer.Object);
var result = new List<(object?, string, Point)>();
@@ -351,7 +351,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var deviceMock = CreatePointerDeviceMock();
var impl = CreateTopLevelImplMock(renderer.Object);
@@ -405,7 +405,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var deviceMock = CreatePointerDeviceMock();
var impl = CreateTopLevelImplMock(renderer.Object);
@@ -442,7 +442,7 @@ namespace Avalonia.Base.UnitTests.Input
{
using var app = UnitTestApplication.Start(new TestServices(inputManager: new InputManager()));
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var deviceMock = CreatePointerDeviceMock();
var impl = CreateTopLevelImplMock(renderer.Object);
diff --git a/tests/Avalonia.Base.UnitTests/VisualTests.cs b/tests/Avalonia.Base.UnitTests/VisualTests.cs
index fb214a6b34..11bdc4bc68 100644
--- a/tests/Avalonia.Base.UnitTests/VisualTests.cs
+++ b/tests/Avalonia.Base.UnitTests/VisualTests.cs
@@ -150,7 +150,7 @@ namespace Avalonia.Base.UnitTests
[Fact]
public void Attaching_To_Visual_Tree_Should_Invalidate_Visual()
{
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var child = new Decorator();
var root = new TestRoot
{
@@ -165,7 +165,7 @@ namespace Avalonia.Base.UnitTests
[Fact]
public void Detaching_From_Visual_Tree_Should_Invalidate_Visual()
{
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var child = new Decorator();
var root = new TestRoot
{
@@ -307,7 +307,7 @@ namespace Avalonia.Base.UnitTests
public void Changing_ZIndex_Should_InvalidateVisual()
{
Canvas canvas1;
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var root = new TestRoot
{
Child = new StackPanel
@@ -331,7 +331,7 @@ namespace Avalonia.Base.UnitTests
{
Canvas canvas1;
StackPanel stackPanel;
- var renderer = new Mock();
+ var renderer = RendererMocks.CreateRenderer();
var root = new TestRoot
{
Child = stackPanel = new StackPanel
diff --git a/tests/Avalonia.Benchmarks/NullRenderer.cs b/tests/Avalonia.Benchmarks/NullRenderer.cs
deleted file mode 100644
index feb325f630..0000000000
--- a/tests/Avalonia.Benchmarks/NullRenderer.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using Avalonia.Rendering;
-using Avalonia.VisualTree;
-
-namespace Avalonia.Benchmarks
-{
- internal class NullRenderer : IRenderer
- {
- public bool DrawFps { get; set; }
- public bool DrawDirtyRects { get; set; }
-#pragma warning disable CS0067
- public event EventHandler SceneInvalidated;
-#pragma warning restore CS0067
- public void AddDirty(Visual visual)
- {
- }
-
- public void Dispose()
- {
- }
-
- public IEnumerable HitTest(Point p, Visual root, Func filter) => null;
-
- public Visual HitTestFirst(Point p, Visual root, Func filter) => null;
-
- public void Paint(Rect rect)
- {
- }
-
- public void RecalculateChildren(Visual visual)
- {
- }
-
- public void Resized(Size size)
- {
- }
-
- public void Start()
- {
- }
-
- public void Stop()
- {
- }
-
- public ValueTask