csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.4 KiB
54 lines
1.4 KiB
using System;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Controls.Presenters;
|
|
using Avalonia.Controls.Templates;
|
|
using Avalonia.Layout;
|
|
using Avalonia.LogicalTree;
|
|
using Avalonia.Platform;
|
|
using Avalonia.Rendering;
|
|
using Avalonia.Styling;
|
|
|
|
namespace Avalonia.UnitTests
|
|
{
|
|
public class TestTemplatedRoot : ContentControl, ILayoutRoot, IRenderRoot, ILogicalRoot
|
|
{
|
|
private readonly NameScope _nameScope = new NameScope();
|
|
|
|
public TestTemplatedRoot()
|
|
{
|
|
LayoutManager = new LayoutManager(this);
|
|
Template = new FuncControlTemplate<TestTemplatedRoot>((x, scope) => new ContentPresenter
|
|
{
|
|
Name = "PART_ContentPresenter",
|
|
}.RegisterInNameScope(scope));
|
|
}
|
|
|
|
public Size ClientSize => new Size(100, 100);
|
|
|
|
public Size MaxClientSize => Size.Infinity;
|
|
|
|
public double LayoutScaling => 1;
|
|
|
|
public ILayoutManager LayoutManager { get; set; }
|
|
|
|
public double RenderScaling => 1;
|
|
|
|
public IRenderTarget RenderTarget => null;
|
|
|
|
public IRenderer Renderer => null;
|
|
|
|
public IRenderTarget CreateRenderTarget()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Invalidate(Rect rect)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public Point PointToClient(PixelPoint p) => p.ToPoint(1);
|
|
|
|
public PixelPoint PointToScreen(Point p) => PixelPoint.FromPoint(p, 1);
|
|
}
|
|
}
|
|
|