27 lines
601 B
C#
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);
|
|
}
|
|
}
|