AvaloniaUI

This commit is contained in:
Pilzinsel64
2025-11-06 06:21:35 +01:00
parent ba59f7df79
commit 5650cb8fd6
10 changed files with 149 additions and 1 deletions

View File

@@ -0,0 +1,18 @@
using System.Reflection;
namespace Pilz.UI.AvaloniaUI.Symbols.Factories;
public class BasicFactory<T>(string baseName) : SymbolFactory<T> where T : Enum
{
private Assembly? assembly;
public override Assembly GetImageResourceAssembly()
{
return assembly ??= Assembly.Load(baseName);
}
public override string GetImageRessourcePath(T svgImage)
{
return $"{baseName}.Files.{svgImage}.svg";
}
}

View File

@@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup>
<Version>1.0.0</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Pilz.SymbolPacks" Version="1.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Pilz.UI.Avalonia\Pilz.UI.AvaloniaUI.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,13 @@
using Pilz.SymbolPacks.Sets;
using Pilz.UI.AvaloniaUI.Symbols.Factories;
namespace Pilz.UI.AvaloniaUI.Symbols;
public static class Symbols
{
private static ISymbolFactory<SymbolsColor>? color;
private static ISymbolFactory<SymbolsFluent>? fluent;
public static ISymbolFactory<SymbolsColor> Color => color ??= new BasicFactory<SymbolsColor>("Pilz.SymbolPacks.Color");
public static ISymbolFactory<SymbolsFluent> Fluent => fluent ??= new BasicFactory<SymbolsFluent>("Pilz.SymbolPacks.Fluent");
}