A cross-platform UI framework for .NET
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.
 
 
 

32 lines
1.0 KiB

using System;
using Avalonia.Platform;
using Avalonia.VisualTree;
namespace Avalonia.Controls.Platform
{
public interface INativeControlHostImpl
{
INativeControlHostDestroyableControlHandle CreateDefaultChild(IPlatformHandle parent);
INativeControlHostControlTopLevelAttachment CreateNewAttachment(Func<IPlatformHandle, IPlatformHandle> create);
INativeControlHostControlTopLevelAttachment CreateNewAttachment(IPlatformHandle handle);
bool IsCompatibleWith(IPlatformHandle handle);
}
public interface INativeControlHostDestroyableControlHandle : IPlatformHandle
{
void Destroy();
}
public interface INativeControlHostControlTopLevelAttachment : IDisposable
{
INativeControlHostImpl AttachedTo { get; set; }
bool IsCompatibleWith(INativeControlHostImpl host);
void HideWithSize(Size size);
void ShowInBounds(Rect rect);
}
public interface ITopLevelImplWithNativeControlHost
{
INativeControlHostImpl NativeControlHost { get; }
}
}