From e384e4d2a46eea9cc8b58be3a33541270a5ef0f6 Mon Sep 17 00:00:00 2001 From: SKProCH Date: Sun, 10 Dec 2023 00:31:03 +0300 Subject: [PATCH] Bump version to v2.1.0, add provider overriding to README.md --- .../Material.Icons.Avalonia.csproj | 4 +-- Material.Icons.WPF/Material.Icons.WPF.csproj | 4 +-- Material.Icons/Material.Icons.csproj | 5 ++-- README.md | 26 +++++++++++++++++++ 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/Material.Icons.Avalonia/Material.Icons.Avalonia.csproj b/Material.Icons.Avalonia/Material.Icons.Avalonia.csproj index 5ad81e7..410745a 100644 --- a/Material.Icons.Avalonia/Material.Icons.Avalonia.csproj +++ b/Material.Icons.Avalonia/Material.Icons.Avalonia.csproj @@ -15,9 +15,9 @@ ..\key.snk material icons material-design google-material avalonia README.md - 2.0.1 + 2.1.0 - - Support for Avalonia 11.0.0-rc1.1 + - Allows to override some icons data diff --git a/Material.Icons.WPF/Material.Icons.WPF.csproj b/Material.Icons.WPF/Material.Icons.WPF.csproj index 0530638..f8850ca 100644 --- a/Material.Icons.WPF/Material.Icons.WPF.csproj +++ b/Material.Icons.WPF/Material.Icons.WPF.csproj @@ -18,8 +18,8 @@ material icons material-design google-material wpf True ..\key.snk - 2.0.0 - - Migrate to new API of resolving icons paths + 2.1.0 + - Allows to override some icons data diff --git a/Material.Icons/Material.Icons.csproj b/Material.Icons/Material.Icons.csproj index 318e8e6..bcf5106 100644 --- a/Material.Icons/Material.Icons.csproj +++ b/Material.Icons/Material.Icons.csproj @@ -15,9 +15,8 @@ README.md material icons material-design google-material Material.Icons - 2.0.18 - - Icons set updated according to materialdesignicons.com at Sat, 09 Dec 2023 00:41:06 GMT -Check out changes at https://pictogrammers.com/library/mdi/history/ + 2.1.0 + - Allows to override some icons data diff --git a/README.md b/README.md index fc5709d..7f84c35 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,32 @@ dotnet add package Material.Icons Icon types stored in `Material.Icons.MaterialIconKind` enum. We can resolve an icon path by using `Material.Icons.MaterialIconDataProvider.GetData()`. +#### Adding your own icons +Currently, there is no way to add your own icons, as icons are enum and cannot be modified. +But you can override some existing icons to use your own data: +```csharp +public class CustomIconProvider : MaterialIconDataProvider +{ + public override string ProvideData(MaterialIconKind kind) + { + return kind switch + { + MaterialIconKind.TrophyVariant => "some SVG code", + _ => base.ProvideData(kind) + }; + } +} + +// When your application starts (e.g. in the Main method) replace MaterialIconDataProvider with your own +public static int Main(string[] args) +{ + MaterialIconDataProvider.Instance = new CustomIconProvider(); // Settings custom provider + + // Application startup code + // return BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); +} +``` + ## FAQ #### How to change icon color? - Change `Foreground` property.