diff --git a/Pilz.UI.Gtk/Pilz.UI.Gtk.csproj b/Pilz.UI.Gtk/Pilz.UI.Gtk.csproj index bd516d1..777fadb 100644 --- a/Pilz.UI.Gtk/Pilz.UI.Gtk.csproj +++ b/Pilz.UI.Gtk/Pilz.UI.Gtk.csproj @@ -8,7 +8,7 @@ - 1.0.0 + 1.0.1 diff --git a/Pilz.UI.Gtk/Symbols/GtkSymbolFactory.cs b/Pilz.UI.Gtk/Symbols/GtkSymbolFactory.cs index 67132bb..22c1b6d 100644 --- a/Pilz.UI.Gtk/Symbols/GtkSymbolFactory.cs +++ b/Pilz.UI.Gtk/Symbols/GtkSymbolFactory.cs @@ -7,12 +7,13 @@ namespace Pilz.UI.Gtk.Symbols; public abstract class GtkSymbolFactory : BaseSymbolFactory, IGtkSymbolFactory { - public virtual Image? GetImage(TSymbols svgImage, SymbolSize size) + + public virtual Pixbuf? GetPixbuf(TSymbols svgImage, SymbolSize size) { - return GetImage(svgImage, ResolveCommonSize(size)); + return GetPixbuf(svgImage, ResolveCommonSize(size)); } - public virtual Image? GetImage(TSymbols svgImage, Size size) + public virtual Pixbuf? GetPixbuf(TSymbols svgImage, Size size) { using var stream = GetImageRessourceStream(svgImage); @@ -25,7 +26,19 @@ public abstract class GtkSymbolFactory : BaseSymbolFactory, else pixbuf = new(stream, size.Width, size.Height); - return GetImageFromPixbuf(pixbuf); + return pixbuf; + } + + public virtual Image? GetImage(TSymbols svgImage, SymbolSize size) + { + return GetImage(svgImage, ResolveCommonSize(size)); + } + + public virtual Image? GetImage(TSymbols svgImage, Size size) + { + if (GetPixbuf(svgImage, size) is Pixbuf pixbuf) + return GetImageFromPixbuf(pixbuf); + return null; } public virtual Image GetImageFromPixbuf(Pixbuf pixbuf) diff --git a/Pilz.UI.Gtk/Symbols/IGtkSymbolFactory.cs b/Pilz.UI.Gtk/Symbols/IGtkSymbolFactory.cs index 3a3671f..275b3f0 100644 --- a/Pilz.UI.Gtk/Symbols/IGtkSymbolFactory.cs +++ b/Pilz.UI.Gtk/Symbols/IGtkSymbolFactory.cs @@ -8,5 +8,7 @@ public interface IGtkSymbolFactory : IBaseSymbolFactory { Image? GetImage(TSymbols svgImage, Size size); Image? GetImage(TSymbols svgImage, SymbolSize size); + Gdk.Pixbuf? GetPixbuf(TSymbols svgImage, Size size); + Gdk.Pixbuf? GetPixbuf(TSymbols svgImage, SymbolSize size); Image GetImageFromPixbuf(Gdk.Pixbuf pixbuf); } \ No newline at end of file