Files
Pilz/Pilz.UI.AvaloniaUI/Symbols/SymbolFactory.cs
Pilzinsel64 5650cb8fd6 AvaloniaUI
2025-11-06 06:21:35 +01:00

27 lines
601 B
C#

using Avalonia.Media;
using Avalonia.Svg;
using Pilz.UI.Symbols;
namespace Pilz.UI.AvaloniaUI.Symbols;
public abstract class SymbolFactory<TSymbols> : BaseSymbolFactory<TSymbols>, ISymbolFactory<TSymbols>
{
public IImage? GetImageSource(TSymbols image)
{
using var stream = GetImageRessourceStream(image);
if (stream is null)
return null;
return new SvgImage
{
Source = SvgSource.Load(stream),
};
}
public ISymbolProxy GetImage(TSymbols image)
{
return new SymbolProxy<TSymbols>(this, image);
}
}