#region Imports
|
|
using System.Drawing;
|
|
#endregion
|
|
namespace DPumpHydr.WinFrmUI.RLT.Extension.Poison
|
{
|
#region PoisonFontsExtension
|
|
#region General
|
|
public enum PoisonLabelSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonLabelWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonWaterMarkWeight
|
{
|
Light,
|
Regular,
|
Bold,
|
Italic
|
}
|
|
public enum PoisonTileTextSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonTileTextWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonLinkLabelSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonLinkLabelWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonComboBoxSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonComboBoxWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonDateTimeSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonDateTimeWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonTextBoxSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonTextBoxWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonProgressBarSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonProgressBarWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonTabControlSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonTabControlWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonCheckBoxSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonCheckBoxWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
public enum PoisonButtonSize
|
{
|
Small,
|
Medium,
|
Tall
|
}
|
|
public enum PoisonButtonWeight
|
{
|
Light,
|
Regular,
|
Bold
|
}
|
|
#endregion
|
|
public static class PoisonFonts
|
{
|
#region Font Resolver
|
|
internal interface IPoisonFontResolver
|
{
|
Font ResolveFont(string familyName, float emSize, FontStyle fontStyle, GraphicsUnit unit);
|
}
|
|
private class DefaultFontResolver : IPoisonFontResolver
|
{
|
public Font ResolveFont(string familyName, float emSize, FontStyle fontStyle, GraphicsUnit unit)
|
{
|
return new Font(familyName, emSize, fontStyle, unit);
|
}
|
}
|
|
private static readonly IPoisonFontResolver FontResolver;
|
|
static PoisonFonts()
|
{
|
FontResolver = new DefaultFontResolver();
|
}
|
|
#endregion
|
|
#region Function
|
|
public static Font DefaultLight(float size)
|
{
|
return FontResolver.ResolveFont("Segoe UI Light", size, FontStyle.Regular, GraphicsUnit.Pixel);
|
}
|
|
public static Font Default(float size)
|
{
|
return FontResolver.ResolveFont("Segoe UI", size, FontStyle.Regular, GraphicsUnit.Pixel);
|
}
|
|
public static Font DefaultBold(float size)
|
{
|
return FontResolver.ResolveFont("Segoe UI", size, FontStyle.Bold, GraphicsUnit.Pixel);
|
}
|
|
public static Font DefaultItalic(float size)
|
{
|
return FontResolver.ResolveFont("Segoe UI", size, FontStyle.Italic, GraphicsUnit.Pixel);
|
}
|
|
public static Font Title => DefaultLight(24f);
|
|
public static Font Subtitle => Default(14f);
|
|
public static Font Tile(PoisonTileTextSize labelSize, PoisonTileTextWeight labelWeight)
|
{
|
if (labelSize == PoisonTileTextSize.Small)
|
{
|
if (labelWeight == PoisonTileTextWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (labelWeight == PoisonTileTextWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (labelWeight == PoisonTileTextWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (labelSize == PoisonTileTextSize.Medium)
|
{
|
if (labelWeight == PoisonTileTextWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (labelWeight == PoisonTileTextWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (labelWeight == PoisonTileTextWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (labelSize == PoisonTileTextSize.Tall)
|
{
|
if (labelWeight == PoisonTileTextWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (labelWeight == PoisonTileTextWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (labelWeight == PoisonTileTextWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return DefaultLight(14f);
|
}
|
|
public static Font TileCount => Default(44f);
|
|
public static Font LinkLabel(PoisonLinkLabelSize linkSize, PoisonLinkLabelWeight linkWeight)
|
{
|
if (linkSize == PoisonLinkLabelSize.Small)
|
{
|
if (linkWeight == PoisonLinkLabelWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (linkWeight == PoisonLinkLabelWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (linkWeight == PoisonLinkLabelWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (linkSize == PoisonLinkLabelSize.Medium)
|
{
|
if (linkWeight == PoisonLinkLabelWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (linkWeight == PoisonLinkLabelWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (linkWeight == PoisonLinkLabelWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (linkSize == PoisonLinkLabelSize.Tall)
|
{
|
if (linkWeight == PoisonLinkLabelWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (linkWeight == PoisonLinkLabelWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (linkWeight == PoisonLinkLabelWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return Default(12f);
|
}
|
|
public static Font ComboBox(PoisonComboBoxSize linkSize, PoisonComboBoxWeight linkWeight)
|
{
|
if (linkSize == PoisonComboBoxSize.Small)
|
{
|
if (linkWeight == PoisonComboBoxWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (linkWeight == PoisonComboBoxWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (linkWeight == PoisonComboBoxWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (linkSize == PoisonComboBoxSize.Medium)
|
{
|
if (linkWeight == PoisonComboBoxWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (linkWeight == PoisonComboBoxWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (linkWeight == PoisonComboBoxWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (linkSize == PoisonComboBoxSize.Tall)
|
{
|
if (linkWeight == PoisonComboBoxWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (linkWeight == PoisonComboBoxWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (linkWeight == PoisonComboBoxWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return Default(12f);
|
}
|
|
public static Font DateTime(PoisonDateTimeSize linkSize, PoisonDateTimeWeight linkWeight)
|
{
|
if (linkSize == PoisonDateTimeSize.Small)
|
{
|
if (linkWeight == PoisonDateTimeWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (linkWeight == PoisonDateTimeWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (linkWeight == PoisonDateTimeWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (linkSize == PoisonDateTimeSize.Medium)
|
{
|
if (linkWeight == PoisonDateTimeWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (linkWeight == PoisonDateTimeWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (linkWeight == PoisonDateTimeWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (linkSize == PoisonDateTimeSize.Tall)
|
{
|
if (linkWeight == PoisonDateTimeWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (linkWeight == PoisonDateTimeWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (linkWeight == PoisonDateTimeWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return Default(12f);
|
}
|
|
public static Font Label(PoisonLabelSize labelSize, PoisonLabelWeight labelWeight)
|
{
|
if (labelSize == PoisonLabelSize.Small)
|
{
|
if (labelWeight == PoisonLabelWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (labelWeight == PoisonLabelWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (labelWeight == PoisonLabelWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (labelSize == PoisonLabelSize.Medium)
|
{
|
if (labelWeight == PoisonLabelWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (labelWeight == PoisonLabelWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (labelWeight == PoisonLabelWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (labelSize == PoisonLabelSize.Tall)
|
{
|
if (labelWeight == PoisonLabelWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (labelWeight == PoisonLabelWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (labelWeight == PoisonLabelWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return DefaultLight(14f);
|
}
|
|
public static Font TextBox(PoisonTextBoxSize linkSize, PoisonTextBoxWeight linkWeight)
|
{
|
if (linkSize == PoisonTextBoxSize.Small)
|
{
|
if (linkWeight == PoisonTextBoxWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (linkWeight == PoisonTextBoxWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (linkWeight == PoisonTextBoxWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (linkSize == PoisonTextBoxSize.Medium)
|
{
|
if (linkWeight == PoisonTextBoxWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (linkWeight == PoisonTextBoxWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (linkWeight == PoisonTextBoxWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (linkSize == PoisonTextBoxSize.Tall)
|
{
|
if (linkWeight == PoisonTextBoxWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (linkWeight == PoisonTextBoxWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (linkWeight == PoisonTextBoxWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return Default(12f);
|
}
|
|
public static Font ProgressBar(PoisonProgressBarSize labelSize, PoisonProgressBarWeight labelWeight)
|
{
|
if (labelSize == PoisonProgressBarSize.Small)
|
{
|
if (labelWeight == PoisonProgressBarWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (labelWeight == PoisonProgressBarWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (labelWeight == PoisonProgressBarWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (labelSize == PoisonProgressBarSize.Medium)
|
{
|
if (labelWeight == PoisonProgressBarWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (labelWeight == PoisonProgressBarWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (labelWeight == PoisonProgressBarWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (labelSize == PoisonProgressBarSize.Tall)
|
{
|
if (labelWeight == PoisonProgressBarWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (labelWeight == PoisonProgressBarWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (labelWeight == PoisonProgressBarWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return DefaultLight(14f);
|
}
|
|
public static Font TabControl(PoisonTabControlSize labelSize, PoisonTabControlWeight labelWeight)
|
{
|
if (labelSize == PoisonTabControlSize.Small)
|
{
|
if (labelWeight == PoisonTabControlWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (labelWeight == PoisonTabControlWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (labelWeight == PoisonTabControlWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (labelSize == PoisonTabControlSize.Medium)
|
{
|
if (labelWeight == PoisonTabControlWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (labelWeight == PoisonTabControlWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (labelWeight == PoisonTabControlWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (labelSize == PoisonTabControlSize.Tall)
|
{
|
if (labelWeight == PoisonTabControlWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (labelWeight == PoisonTabControlWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (labelWeight == PoisonTabControlWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return DefaultLight(14f);
|
}
|
|
public static Font CheckBox(PoisonCheckBoxSize linkSize, PoisonCheckBoxWeight linkWeight)
|
{
|
if (linkSize == PoisonCheckBoxSize.Small)
|
{
|
if (linkWeight == PoisonCheckBoxWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (linkWeight == PoisonCheckBoxWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (linkWeight == PoisonCheckBoxWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
}
|
else if (linkSize == PoisonCheckBoxSize.Medium)
|
{
|
if (linkWeight == PoisonCheckBoxWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (linkWeight == PoisonCheckBoxWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (linkWeight == PoisonCheckBoxWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
}
|
else if (linkSize == PoisonCheckBoxSize.Tall)
|
{
|
if (linkWeight == PoisonCheckBoxWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (linkWeight == PoisonCheckBoxWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (linkWeight == PoisonCheckBoxWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
}
|
|
return Default(12f);
|
}
|
|
public static Font WaterMark(PoisonLabelSize labelSize, PoisonWaterMarkWeight labelWeight)
|
{
|
if (labelSize == PoisonLabelSize.Small)
|
{
|
if (labelWeight == PoisonWaterMarkWeight.Light)
|
{
|
return DefaultLight(12f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Regular)
|
{
|
return Default(12f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Bold)
|
{
|
return DefaultBold(12f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Italic)
|
{
|
return DefaultItalic(12f);
|
}
|
}
|
else if (labelSize == PoisonLabelSize.Medium)
|
{
|
if (labelWeight == PoisonWaterMarkWeight.Light)
|
{
|
return DefaultLight(14f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Regular)
|
{
|
return Default(14f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Bold)
|
{
|
return DefaultBold(14f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Italic)
|
{
|
return DefaultItalic(14f);
|
}
|
}
|
else if (labelSize == PoisonLabelSize.Tall)
|
{
|
if (labelWeight == PoisonWaterMarkWeight.Light)
|
{
|
return DefaultLight(18f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Regular)
|
{
|
return Default(18f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Bold)
|
{
|
return DefaultBold(18f);
|
}
|
|
if (labelWeight == PoisonWaterMarkWeight.Italic)
|
{
|
return DefaultItalic(18f);
|
}
|
}
|
|
return DefaultLight(14f);
|
}
|
|
public static Font Button(PoisonButtonSize linkSize, PoisonButtonWeight linkWeight)
|
{
|
if (linkSize == PoisonButtonSize.Small)
|
{
|
if (linkWeight == PoisonButtonWeight.Light)
|
{
|
return DefaultLight(11f);
|
}
|
|
if (linkWeight == PoisonButtonWeight.Regular)
|
{
|
return Default(11f);
|
}
|
|
if (linkWeight == PoisonButtonWeight.Bold)
|
{
|
return DefaultBold(11f);
|
}
|
}
|
else if (linkSize == PoisonButtonSize.Medium)
|
{
|
if (linkWeight == PoisonButtonWeight.Light)
|
{
|
return DefaultLight(13f);
|
}
|
|
if (linkWeight == PoisonButtonWeight.Regular)
|
{
|
return Default(13f);
|
}
|
|
if (linkWeight == PoisonButtonWeight.Bold)
|
{
|
return DefaultBold(13f);
|
}
|
}
|
else if (linkSize == PoisonButtonSize.Tall)
|
{
|
if (linkWeight == PoisonButtonWeight.Light)
|
{
|
return DefaultLight(16f);
|
}
|
|
if (linkWeight == PoisonButtonWeight.Regular)
|
{
|
return Default(16f);
|
}
|
|
if (linkWeight == PoisonButtonWeight.Bold)
|
{
|
return DefaultBold(16f);
|
}
|
}
|
|
return Default(11f);
|
}
|
|
#endregion
|
}
|
|
#endregion
|
}
|