mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-19 09:01:32 -07:00
48 lines
1.8 KiB
C#
48 lines
1.8 KiB
C#
using System.Drawing;
|
|
|
|
namespace Bloxstrap.Extensions
|
|
{
|
|
static class BootstrapperIconEx
|
|
{
|
|
// small note on handling icon sizes
|
|
// i'm using multisize icon packs here with sizes 16, 24, 32, 48, 64 and 128
|
|
// use this for generating multisize packs: https://www.aconvert.com/icon/
|
|
|
|
public static Icon GetIcon(this BootstrapperIcon icon)
|
|
{
|
|
const string LOG_IDENT = "BootstrapperIconEx::GetIcon";
|
|
|
|
// load the custom icon file
|
|
if (icon == BootstrapperIcon.IconCustom)
|
|
{
|
|
Icon? customIcon = null;
|
|
|
|
try
|
|
{
|
|
customIcon = new Icon(App.Settings.Prop.BootstrapperIconCustomLocation);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
App.Logger.WriteLine(LOG_IDENT, $"Failed to load custom icon!");
|
|
App.Logger.WriteException(LOG_IDENT, ex);
|
|
}
|
|
|
|
return customIcon ?? Properties.Resources.IconBloxstrap;
|
|
}
|
|
|
|
return icon switch
|
|
{
|
|
BootstrapperIcon.IconBloxstrap => Properties.Resources.IconBloxstrap,
|
|
BootstrapperIcon.Icon2008 => Properties.Resources.Icon2008,
|
|
BootstrapperIcon.Icon2011 => Properties.Resources.Icon2011,
|
|
BootstrapperIcon.IconEarly2015 => Properties.Resources.IconEarly2015,
|
|
BootstrapperIcon.IconLate2015 => Properties.Resources.IconLate2015,
|
|
BootstrapperIcon.Icon2017 => Properties.Resources.Icon2017,
|
|
BootstrapperIcon.Icon2019 => Properties.Resources.Icon2019,
|
|
BootstrapperIcon.Icon2022 => Properties.Resources.Icon2022,
|
|
_ => Properties.Resources.IconBloxstrap
|
|
};
|
|
}
|
|
}
|
|
}
|