MockRendererFactory.cs 708 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Avalonia.Rendering;
  7. namespace Avalonia.UnitTests
  8. {
  9. public class MockRendererFactory : IRendererFactory
  10. {
  11. private readonly Func<IRenderRoot, IRenderLoop, IRenderer> _cb;
  12. public MockRendererFactory(Func<IRenderRoot, IRenderLoop, IRenderer> cb = null)
  13. {
  14. _cb = cb;
  15. }
  16. public MockRendererFactory(IRenderer renderer) : this((_, __) => renderer)
  17. {
  18. }
  19. public IRenderer CreateRenderer(IRenderRoot root, IRenderLoop renderLoop)
  20. {
  21. return _cb?.Invoke(root, renderLoop);
  22. }
  23. }
  24. }