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.
 
 
 

31 lines
892 B

using System.IO;
using Avalonia.Media.Imaging;
using Avalonia.Platform;
namespace Avalonia.Controls
{
/// <summary>
/// Represents an icon for a window.
/// </summary>
public class WindowIcon
{
public WindowIcon(IBitmap bitmap)
{
PlatformImpl = AvaloniaLocator.Current.GetRequiredService<IPlatformIconLoader>().LoadIcon(bitmap.PlatformImpl.Item);
}
public WindowIcon(string fileName)
{
PlatformImpl = AvaloniaLocator.Current.GetRequiredService<IPlatformIconLoader>().LoadIcon(fileName);
}
public WindowIcon(Stream stream)
{
PlatformImpl = AvaloniaLocator.Current.GetRequiredService<IPlatformIconLoader>().LoadIcon(stream);
}
public IWindowIconImpl PlatformImpl { get; }
public void Save(Stream stream) => PlatformImpl.Save(stream);
}
}