+ 字体图标:增加FontAwesome V5.15版本字体图标
This commit is contained in:
parent
bfd641cbf8
commit
1979ed3819
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1251
SunnyUI/Font/UFontAwesomeV4.cs
Normal file
1251
SunnyUI/Font/UFontAwesomeV4.cs
Normal file
File diff suppressed because it is too large
Load Diff
1702
SunnyUI/Font/UFontAwesomeV5.cs
Normal file
1702
SunnyUI/Font/UFontAwesomeV5.cs
Normal file
File diff suppressed because it is too large
Load Diff
@ -19,6 +19,7 @@
|
||||
* 2020-01-01: V2.2.0 增加文件说明
|
||||
* 2020-05-21: V2.2.5 调整从资源文件中加载字体,不用另存为文件。
|
||||
* 感谢:麦壳饼 https://gitee.com/maikebing
|
||||
* 2021-06-15: V3.0.4 增加FontAwesomeV5的字体图标,重构代码
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -40,41 +41,44 @@ namespace Sunny.UI
|
||||
/// <summary>
|
||||
/// AwesomeFont
|
||||
/// </summary>
|
||||
public static FontImages AwesomeFont;
|
||||
public static readonly FontImages FontAwesomeV4;
|
||||
|
||||
/// <summary>
|
||||
/// ElegantFont
|
||||
/// </summary>
|
||||
public static FontImages ElegantFont;
|
||||
public static readonly FontImages ElegantIcons;
|
||||
|
||||
/// <summary>
|
||||
/// FontAwesomeV5Brands
|
||||
/// </summary>
|
||||
public static readonly FontImages FontAwesomeV5Brands;
|
||||
|
||||
/// <summary>
|
||||
/// FontAwesomeV5Regular
|
||||
/// </summary>
|
||||
public static readonly FontImages FontAwesomeV5Regular;
|
||||
|
||||
/// <summary>
|
||||
/// FontAwesomeV5Solid
|
||||
/// </summary>
|
||||
public static readonly FontImages FontAwesomeV5Solid;
|
||||
|
||||
public const int FontAwesomeV4Count = 786;
|
||||
public const int ElegantIconsCount = 360;
|
||||
public const int FontAwesomeV5RegularCount = 151;
|
||||
public const int FontAwesomeV5SolidCount = 1001;
|
||||
public const int FontAwesomeV5BrandsCount = 457;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
static FontImageHelper()
|
||||
{
|
||||
AwesomeFont = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.FontAwesome.ttf"));
|
||||
ElegantFont = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.ElegantIcons.ttf"));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从系统资源中保存字体文件
|
||||
/// </summary>
|
||||
/// <param name="file">字体文件名</param>
|
||||
/// <param name="resource">资源名称</param>
|
||||
private static void CreateFontFile(string file, string resource)
|
||||
{
|
||||
if (!File.Exists(file))
|
||||
{
|
||||
Stream fontStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);
|
||||
if (fontStream != null)
|
||||
{
|
||||
byte[] buffer = new byte[fontStream.Length];
|
||||
fontStream.Read(buffer, 0, (int)fontStream.Length);
|
||||
fontStream.Close();
|
||||
|
||||
File.WriteAllBytes(file, buffer);
|
||||
}
|
||||
}
|
||||
FontAwesomeV4 = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.FontAwesome.ttf"));
|
||||
ElegantIcons = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.ElegantIcons.ttf"));
|
||||
FontAwesomeV5Brands = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.fa-brands-400.ttf"));
|
||||
FontAwesomeV5Regular = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.fa-regular-400.ttf"));
|
||||
FontAwesomeV5Solid = new FontImages(ReadFontFileFromResource("Sunny.UI.Font.fa-solid-900.ttf"));
|
||||
}
|
||||
|
||||
private static byte[] ReadFontFileFromResource(string name)
|
||||
@ -87,6 +91,7 @@ namespace Sunny.UI
|
||||
fontStream.Read(buffer, 0, (int)fontStream.Length);
|
||||
fontStream.Close();
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
@ -97,9 +102,10 @@ namespace Sunny.UI
|
||||
/// <param name="symbol">字符</param>
|
||||
/// <param name="symbolSize">大小</param>
|
||||
/// <returns>字体大小</returns>
|
||||
public static SizeF GetFontImageSize(this Graphics graphics, int symbol, int symbolSize)
|
||||
public static SizeF GetFontImageSize(this Graphics graphics, int symbol, int symbolSize,
|
||||
UISymbolType symbolType = UISymbolType.FontAwesomeV4)
|
||||
{
|
||||
Font font = GetFont(symbol, symbolSize);
|
||||
Font font = GetFont(symbol, symbolSize, symbolType);
|
||||
if (font == null)
|
||||
{
|
||||
return new SizeF(0, 0);
|
||||
@ -119,10 +125,68 @@ namespace Sunny.UI
|
||||
/// <param name="top">上</param>
|
||||
/// <param name="xOffset">左右偏移</param>
|
||||
/// <param name="yOffSet">上下偏移</param>
|
||||
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color, float left, float top, int xOffset = 0, int yOffSet = 0)
|
||||
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color,
|
||||
float left, float top, int xOffset = 0, int yOffSet = 0)
|
||||
{
|
||||
UISymbolType symbolType = (UISymbolType)symbol.Div(100000);
|
||||
graphics.DrawFontImage(symbol, symbolSize, color, left, top, xOffset, yOffSet, symbolType);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绘制字体图片
|
||||
/// </summary>
|
||||
/// <param name="graphics">GDI绘图</param>
|
||||
/// <param name="symbol">字符</param>
|
||||
/// <param name="symbolSize">大小</param>
|
||||
/// <param name="color">颜色</param>
|
||||
/// <param name="rect">区域</param>
|
||||
/// <param name="xOffset">左右偏移</param>
|
||||
/// <param name="yOffSet">上下偏移</param>
|
||||
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color,
|
||||
Rectangle rect, int xOffset = 0, int yOffSet = 0)
|
||||
{
|
||||
UISymbolType symbolType = (UISymbolType)symbol.Div(100000);
|
||||
SizeF sf = graphics.GetFontImageSize(symbol, symbolSize, symbolType);
|
||||
graphics.DrawFontImage(symbol, symbolSize, color, rect.Left + ((rect.Width - sf.Width) / 2.0f).RoundEx(),
|
||||
rect.Top + ((rect.Height - sf.Height) / 2.0f).RoundEx(), xOffset, yOffSet, symbolType);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绘制字体图片
|
||||
/// </summary>
|
||||
/// <param name="graphics">GDI绘图</param>
|
||||
/// <param name="symbol">字符</param>
|
||||
/// <param name="symbolSize">大小</param>
|
||||
/// <param name="color">颜色</param>
|
||||
/// <param name="rect">区域</param>
|
||||
/// <param name="xOffset">左右偏移</param>
|
||||
/// <param name="yOffSet">上下偏移</param>
|
||||
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color,
|
||||
RectangleF rect, int xOffset = 0, int yOffSet = 0)
|
||||
{
|
||||
UISymbolType symbolType = (UISymbolType)symbol.Div(100000);
|
||||
SizeF sf = graphics.GetFontImageSize(symbol, symbolSize, symbolType);
|
||||
graphics.DrawFontImage(symbol, symbolSize, color, rect.Left + ((rect.Width - sf.Width) / 2.0f).RoundEx(),
|
||||
rect.Top + ((rect.Height - sf.Height) / 2.0f).RoundEx(), xOffset, yOffSet, symbolType);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绘制字体图片
|
||||
/// </summary>
|
||||
/// <param name="graphics">GDI绘图</param>
|
||||
/// <param name="symbol">字符</param>
|
||||
/// <param name="symbolSize">大小</param>
|
||||
/// <param name="color">颜色</param>
|
||||
/// <param name="left">左</param>
|
||||
/// <param name="top">上</param>
|
||||
/// <param name="xOffset">左右偏移</param>
|
||||
/// <param name="yOffSet">上下偏移</param>
|
||||
private static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color,
|
||||
float left, float top, int xOffset, int yOffSet, UISymbolType symbolType)
|
||||
{
|
||||
symbol = symbol.Mod(100000);
|
||||
//字体
|
||||
Font font = GetFont(symbol, symbolSize);
|
||||
Font font = GetFont(symbol, symbolSize, symbolType);
|
||||
if (font == null)
|
||||
{
|
||||
return;
|
||||
@ -130,42 +194,10 @@ namespace Sunny.UI
|
||||
|
||||
string text = char.ConvertFromUtf32(symbol);
|
||||
graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
|
||||
graphics.InterpolationMode = InterpolationMode.HighQualityBilinear;
|
||||
graphics.DrawString(text, font, color, left + xOffset, top + yOffSet);
|
||||
graphics.TextRenderingHint = TextRenderingHint.SystemDefault;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绘制字体图片
|
||||
/// </summary>
|
||||
/// <param name="graphics">GDI绘图</param>
|
||||
/// <param name="symbol">字符</param>
|
||||
/// <param name="symbolSize">大小</param>
|
||||
/// <param name="color">颜色</param>
|
||||
/// <param name="rect">区域</param>
|
||||
/// <param name="xOffset">左右偏移</param>
|
||||
/// <param name="yOffSet">上下偏移</param>
|
||||
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color, Rectangle rect, int xOffset = 0, int yOffSet = 0)
|
||||
{
|
||||
SizeF sf = graphics.GetFontImageSize(symbol, symbolSize);
|
||||
graphics.DrawFontImage(symbol, symbolSize, color, rect.Left + ((rect.Width - sf.Width) / 2.0f).RoundEx(),
|
||||
rect.Top + ((rect.Height - sf.Height) / 2.0f).RoundEx(), xOffset, yOffSet);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绘制字体图片
|
||||
/// </summary>
|
||||
/// <param name="graphics">GDI绘图</param>
|
||||
/// <param name="symbol">字符</param>
|
||||
/// <param name="symbolSize">大小</param>
|
||||
/// <param name="color">颜色</param>
|
||||
/// <param name="rect">区域</param>
|
||||
/// <param name="xOffset">左右偏移</param>
|
||||
/// <param name="yOffSet">上下偏移</param>
|
||||
public static void DrawFontImage(this Graphics graphics, int symbol, int symbolSize, Color color, RectangleF rect, int xOffset = 0, int yOffSet = 0)
|
||||
{
|
||||
SizeF sf = graphics.GetFontImageSize(symbol, symbolSize);
|
||||
graphics.DrawFontImage(symbol, symbolSize, color, rect.Left + ((rect.Width - sf.Width) / 2.0f).RoundEx(),
|
||||
rect.Top + ((rect.Height - sf.Height) / 2.0f).RoundEx(), xOffset, yOffSet);
|
||||
graphics.InterpolationMode = InterpolationMode.Default;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -175,14 +207,14 @@ namespace Sunny.UI
|
||||
/// <param name="size">大小</param>
|
||||
/// <param name="color">颜色</param>
|
||||
/// <returns>图片</returns>
|
||||
public static Image CreateImage(int symbol, int size, Color color)
|
||||
public static Image CreateImage(int symbol, int size, Color color, UISymbolType symbolType = UISymbolType.FontAwesomeV4)
|
||||
{
|
||||
Bitmap image = new Bitmap(size, size);
|
||||
|
||||
using (Graphics g = image.Graphics())
|
||||
{
|
||||
SizeF sf = g.GetFontImageSize(symbol, size);
|
||||
g.DrawFontImage(symbol, size, color, (image.Width - sf.Width) / 2.0f, (image.Height - sf.Height) / 2.0f);
|
||||
SizeF sf = g.GetFontImageSize(symbol, size, symbolType);
|
||||
g.DrawFontImage(symbol, size, color, (image.Width - sf.Width) / 2.0f, (image.Height - sf.Height) / 2.0f, 0, 0, symbolType);
|
||||
}
|
||||
|
||||
return image;
|
||||
@ -194,12 +226,27 @@ namespace Sunny.UI
|
||||
/// <param name="symbol">字符</param>
|
||||
/// <param name="imageSize">大小</param>
|
||||
/// <returns>字体</returns>
|
||||
public static Font GetFont(int symbol, int imageSize)
|
||||
public static Font GetFont(int symbol, int imageSize, UISymbolType symbolType = UISymbolType.FontAwesomeV4)
|
||||
{
|
||||
switch (symbolType)
|
||||
{
|
||||
case UISymbolType.FontAwesomeV4:
|
||||
if (symbol > 0xF000)
|
||||
return AwesomeFont.GetFont(symbol, imageSize);
|
||||
return FontAwesomeV4.GetFont(symbol, imageSize);
|
||||
else
|
||||
return ElegantFont.GetFont(symbol, imageSize);
|
||||
return ElegantIcons.GetFont(symbol, imageSize);
|
||||
case UISymbolType.FontAwesomeV5Brands:
|
||||
return FontAwesomeV5Brands.GetFont(symbol, imageSize);
|
||||
case UISymbolType.FontAwesomeV5Regular:
|
||||
return FontAwesomeV5Regular.GetFont(symbol, imageSize);
|
||||
case UISymbolType.FontAwesomeV5Solid:
|
||||
return FontAwesomeV5Solid.GetFont(symbol, imageSize);
|
||||
default:
|
||||
if (symbol > 0xF000)
|
||||
return FontAwesomeV4.GetFont(symbol, imageSize);
|
||||
else
|
||||
return ElegantIcons.GetFont(symbol, imageSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -224,11 +271,6 @@ namespace Sunny.UI
|
||||
/// </summary>
|
||||
public Color BackColor { get; set; } = Color.Transparent;
|
||||
|
||||
/// <summary>
|
||||
/// 前景色
|
||||
/// </summary>
|
||||
public Color ForeColor { get; set; } = Color.Black;
|
||||
|
||||
public FontImages(byte[] buffer)
|
||||
{
|
||||
ImageFont = new PrivateFontCollection();
|
||||
@ -287,18 +329,6 @@ namespace Sunny.UI
|
||||
Fonts.Clear();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取图标
|
||||
/// </summary>
|
||||
/// <param name="iconText">序号</param>
|
||||
/// <param name="imageSize">图标大小</param>
|
||||
/// <returns>图标</returns>
|
||||
public Icon GetIcon(int iconText, int imageSize)
|
||||
{
|
||||
Bitmap image = GetImage(iconText, imageSize);
|
||||
return image != null ? ToIcon(image, IconSize) : null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取字体
|
||||
/// </summary>
|
||||
@ -346,60 +376,6 @@ namespace Sunny.UI
|
||||
return size;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取图片
|
||||
/// </summary>
|
||||
/// <param name="iconText">图标</param>
|
||||
/// <param name="imageSize">图标大小</param>
|
||||
/// <returns>图片</returns>
|
||||
public Bitmap GetImage(int iconText, int imageSize)
|
||||
{
|
||||
Font imageFont = Fonts[MinFontSize];
|
||||
SizeF textSize = new SizeF(imageSize, imageSize);
|
||||
using (Bitmap bitmap = new Bitmap(48, 48))
|
||||
using (Graphics graphics = Graphics.FromImage(bitmap))
|
||||
{
|
||||
int size = MaxFontSize;
|
||||
for (int i = 0; i <= MaxFontSize - MinFontSize; i++)
|
||||
{
|
||||
Font font = Fonts[size];
|
||||
SizeF sf = GetIconSize(iconText, graphics, font);
|
||||
|
||||
if (sf.Width < imageSize && sf.Height < imageSize)
|
||||
{
|
||||
imageFont = font;
|
||||
textSize = sf;
|
||||
break;
|
||||
}
|
||||
|
||||
size -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
Size iconSize = textSize.ToSize();
|
||||
Bitmap srcImage = new Bitmap(iconSize.Width, iconSize.Height);
|
||||
using (Graphics graphics = Graphics.FromImage(srcImage))
|
||||
{
|
||||
string s = char.ConvertFromUtf32(iconText);
|
||||
graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
|
||||
graphics.InterpolationMode = InterpolationMode.HighQualityBilinear;
|
||||
//graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
|
||||
//graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
graphics.DrawString(s, imageFont, ForeColor, new PointF(0.0f, 0.0f));
|
||||
graphics.TextRenderingHint = TextRenderingHint.SystemDefault;
|
||||
graphics.InterpolationMode = InterpolationMode.Default;
|
||||
}
|
||||
|
||||
Bitmap result = new Bitmap(imageSize, imageSize);
|
||||
using (Graphics graphics = Graphics.FromImage(result))
|
||||
{
|
||||
graphics.DrawImage(srcImage, imageSize / 2.0f - textSize.Width / 2.0f, imageSize / 2.0f - textSize.Height / 2.0f);
|
||||
}
|
||||
|
||||
srcImage.Dispose();
|
||||
return result;
|
||||
}
|
||||
|
||||
private Size GetIconSize(int iconText, Graphics graphics, Font font)
|
||||
{
|
||||
string text = char.ConvertFromUtf32(iconText);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -24,7 +24,6 @@ using System.Collections.Concurrent;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Design;
|
||||
using System.Reflection;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Sunny.UI
|
||||
@ -32,11 +31,13 @@ namespace Sunny.UI
|
||||
/// <summary>
|
||||
/// 字体图标编辑器
|
||||
/// </summary>
|
||||
public partial class UIFontImages : Form
|
||||
public partial class UIFontImages : Form, ISymbol
|
||||
{
|
||||
private readonly ConcurrentQueue<Label> AwesomeLabels = new ConcurrentQueue<Label>();
|
||||
private readonly ConcurrentQueue<Label> ElegantLabels = new ConcurrentQueue<Label>();
|
||||
private readonly ConcurrentQueue<Label> LigatureSymbolsLabels = new ConcurrentQueue<Label>();
|
||||
private readonly ConcurrentQueue<Label> FontAwesomeV4Labels = new ConcurrentQueue<Label>();
|
||||
private readonly ConcurrentQueue<Label> ElegantIconsLabels = new ConcurrentQueue<Label>();
|
||||
private readonly ConcurrentQueue<Label> FontAwesomeV5SolidLabels = new ConcurrentQueue<Label>();
|
||||
private readonly ConcurrentQueue<Label> FontAwesomeV5BrandsLabels = new ConcurrentQueue<Label>();
|
||||
private readonly ConcurrentQueue<Label> FontAwesomeV5RegularLabels = new ConcurrentQueue<Label>();
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
@ -49,7 +50,11 @@ namespace Sunny.UI
|
||||
private void UIFontImages_Load(object sender, EventArgs e)
|
||||
{
|
||||
AddHighFreqImage();
|
||||
bg.RunWorkerAsync();
|
||||
bg1.RunWorkerAsync();
|
||||
bg2.RunWorkerAsync();
|
||||
bg3.RunWorkerAsync();
|
||||
bg4.RunWorkerAsync();
|
||||
bg5.RunWorkerAsync();
|
||||
timer.Start();
|
||||
}
|
||||
|
||||
@ -57,22 +62,52 @@ namespace Sunny.UI
|
||||
{
|
||||
timer.Stop();
|
||||
|
||||
while (AwesomeLabels.Count > 0)
|
||||
while (FontAwesomeV4Labels.Count > 0)
|
||||
{
|
||||
if (AwesomeLabels.TryDequeue(out Label lbl))
|
||||
if (FontAwesomeV4Labels.TryDequeue(out Label lbl))
|
||||
{
|
||||
lpAwesome.Controls.Add(lbl);
|
||||
int symbol = (int)lbl.Tag;
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
toolTip.SetToolTip(lbl, symbol.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
while (ElegantLabels.Count > 0)
|
||||
while (ElegantIconsLabels.Count > 0)
|
||||
{
|
||||
if (ElegantLabels.TryDequeue(out Label lbl))
|
||||
if (ElegantIconsLabels.TryDequeue(out Label lbl))
|
||||
{
|
||||
lpElegant.Controls.Add(lbl);
|
||||
int symbol = (int)lbl.Tag;
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
toolTip.SetToolTip(lbl, symbol.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
while (FontAwesomeV5SolidLabels.Count > 0)
|
||||
{
|
||||
if (FontAwesomeV5SolidLabels.TryDequeue(out Label lbl))
|
||||
{
|
||||
lpV5Solid.Controls.Add(lbl);
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
toolTip.SetToolTip(lbl, symbol.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
while (FontAwesomeV5RegularLabels.Count > 0)
|
||||
{
|
||||
if (FontAwesomeV5RegularLabels.TryDequeue(out Label lbl))
|
||||
{
|
||||
lpV5Regular.Controls.Add(lbl);
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
toolTip.SetToolTip(lbl, symbol.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
while (FontAwesomeV5BrandsLabels.Count > 0)
|
||||
{
|
||||
if (FontAwesomeV5BrandsLabels.TryDequeue(out Label lbl))
|
||||
{
|
||||
lpV5Brands.Controls.Add(lbl);
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
toolTip.SetToolTip(lbl, symbol.ToString());
|
||||
}
|
||||
}
|
||||
@ -80,39 +115,6 @@ namespace Sunny.UI
|
||||
timer.Start();
|
||||
}
|
||||
|
||||
private void AddAwesomeImageEx()
|
||||
{
|
||||
Type t = typeof(FontAwesomeIcons);
|
||||
FieldInfo[] fis = t.GetFields();
|
||||
foreach (var fieldInfo in fis)
|
||||
{
|
||||
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
|
||||
AwesomeLabels.Enqueue(CreateLabel(value));
|
||||
}
|
||||
}
|
||||
|
||||
private void AddElegantImageEx()
|
||||
{
|
||||
Type t = typeof(FontElegantIcons);
|
||||
FieldInfo[] fis = t.GetFields();
|
||||
foreach (var fieldInfo in fis)
|
||||
{
|
||||
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
|
||||
ElegantLabels.Enqueue(CreateLabel(value));
|
||||
}
|
||||
}
|
||||
|
||||
private void AddLigatureSymbolsEx()
|
||||
{
|
||||
Type t = typeof(LigatureSymbols);
|
||||
FieldInfo[] fis = t.GetFields();
|
||||
foreach (var fieldInfo in fis)
|
||||
{
|
||||
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
|
||||
LigatureSymbolsLabels.Enqueue(CreateLabel(value));
|
||||
}
|
||||
}
|
||||
|
||||
private void AddHighFreqImage()
|
||||
{
|
||||
AddLabel(FontAwesomeIcons.fa_check);
|
||||
@ -212,79 +214,119 @@ namespace Sunny.UI
|
||||
|
||||
private void AddLabel(int icon)
|
||||
{
|
||||
Label lbl = CreateLabel(icon);
|
||||
Label lbl = CreateLabel(icon, UISymbolType.FontAwesomeV4);
|
||||
lpCustom.Controls.Add(lbl);
|
||||
int symbol = (int)lbl.Tag;
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
toolTip.SetToolTip(lbl, symbol.ToString());
|
||||
}
|
||||
|
||||
private Label CreateLabel(int icon)
|
||||
public struct SymbolValue
|
||||
{
|
||||
public int Symbol { get; set; }
|
||||
|
||||
public UISymbolType SymbolType { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Symbol.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private Label CreateLabel(int icon, UISymbolType symbolType)
|
||||
{
|
||||
Label lbl = new Label();
|
||||
lbl.AutoSize = false;
|
||||
lbl.Size = new Size(32, 32);
|
||||
lbl.ForeColor = UIColor.Blue;
|
||||
|
||||
FontImageHelper.AwesomeFont.ForeColor = UIFontColor.Primary;
|
||||
FontImageHelper.ElegantFont.ForeColor = UIFontColor.Primary;
|
||||
|
||||
lbl.Image = icon >= 0xF000 ?
|
||||
FontImageHelper.AwesomeFont.GetImage(icon, 28) :
|
||||
FontImageHelper.ElegantFont.GetImage(icon, 28);
|
||||
lbl.Image = FontImageHelper.CreateImage(icon, 28, UIFontColor.Primary, symbolType);
|
||||
lbl.ImageAlign = ContentAlignment.MiddleCenter;
|
||||
lbl.TextAlign = ContentAlignment.MiddleLeft;
|
||||
lbl.Margin = new Padding(2);
|
||||
lbl.Click += lbl_DoubleClick;
|
||||
lbl.MouseEnter += Lbl_MouseEnter;
|
||||
lbl.MouseLeave += Lbl_MouseLeave;
|
||||
lbl.Tag = icon;
|
||||
lbl.Tag = new SymbolValue() { Symbol = icon, SymbolType = symbolType };
|
||||
return lbl;
|
||||
}
|
||||
|
||||
private void Lbl_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
Label lbl = (Label)sender;
|
||||
FontImageHelper.AwesomeFont.ForeColor = UIFontColor.Primary;
|
||||
FontImageHelper.ElegantFont.ForeColor = UIFontColor.Primary;
|
||||
int icon = (int)lbl.Tag;
|
||||
lbl.Image = icon >= 0xF000 ?
|
||||
FontImageHelper.AwesomeFont.GetImage(icon, 28) :
|
||||
FontImageHelper.ElegantFont.GetImage(icon, 28);
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
lbl.Image = FontImageHelper.CreateImage(symbol.Symbol, 28, UIFontColor.Primary, symbol.SymbolType);
|
||||
}
|
||||
|
||||
private void Lbl_MouseEnter(object sender, EventArgs e)
|
||||
{
|
||||
Label lbl = (Label)sender;
|
||||
FontImageHelper.AwesomeFont.ForeColor = UIColor.Blue;
|
||||
FontImageHelper.ElegantFont.ForeColor = UIColor.Blue;
|
||||
int icon = (int)lbl.Tag;
|
||||
lbl.Image = icon >= 0xF000 ?
|
||||
FontImageHelper.AwesomeFont.GetImage(icon, 28) :
|
||||
FontImageHelper.ElegantFont.GetImage(icon, 28);
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
lbl.Image = FontImageHelper.CreateImage(symbol.Symbol, 28, UIColor.Blue, symbol.SymbolType);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 选中图标
|
||||
/// </summary>
|
||||
public int SelectSymbol { get; private set; }
|
||||
public int Symbol { get; set; }
|
||||
public UISymbolType SymbolType { get; set; }
|
||||
public Point SymbolOffset { get; set; }
|
||||
|
||||
private void lbl_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
if (sender is Label lbl) SelectSymbol = (int)lbl.Tag;
|
||||
if (sender is Label lbl)
|
||||
{
|
||||
SymbolValue symbol = (SymbolValue)lbl.Tag;
|
||||
SymbolType = symbol.SymbolType;
|
||||
Symbol = ((int)symbol.SymbolType) * 100000 + symbol.Symbol;
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
||||
private void bg_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
AddAwesomeImageEx();
|
||||
//scoreStep = 1;
|
||||
AddElegantImageEx();
|
||||
var t = typeof(FontAwesomeIcons);
|
||||
foreach (var fieldInfo in t.GetFields())
|
||||
{
|
||||
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
|
||||
FontAwesomeV4Labels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV4));
|
||||
}
|
||||
}
|
||||
|
||||
private void bg_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||
private void bg2_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
var t = typeof(FontElegantIcons);
|
||||
foreach (var fieldInfo in t.GetFields())
|
||||
{
|
||||
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
|
||||
ElegantIconsLabels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV4));
|
||||
}
|
||||
}
|
||||
|
||||
private void bg3_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
var t = typeof(FontAweSomeV5Brands);
|
||||
foreach (var fieldInfo in t.GetFields())
|
||||
{
|
||||
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
|
||||
FontAwesomeV5BrandsLabels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV5Brands));
|
||||
}
|
||||
}
|
||||
|
||||
private void bg4_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
var t = typeof(FontAweSomeV5Regular);
|
||||
foreach (var fieldInfo in t.GetFields())
|
||||
{
|
||||
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
|
||||
FontAwesomeV5RegularLabels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV5Regular));
|
||||
}
|
||||
}
|
||||
|
||||
private void bg5_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
var t = typeof(FontAweSomeV5Solid);
|
||||
foreach (var fieldInfo in t.GetFields())
|
||||
{
|
||||
int value = fieldInfo.GetRawConstantValue().ToString().ToInt();
|
||||
FontAwesomeV5SolidLabels.Enqueue(CreateLabel(value, UISymbolType.FontAwesomeV5Solid));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -316,7 +358,7 @@ namespace Sunny.UI
|
||||
//打开属性编辑器修改数据
|
||||
UIFontImages frm = new UIFontImages();
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
value = frm.SelectSymbol;
|
||||
value = frm.Symbol;
|
||||
frm.Dispose();
|
||||
return value;
|
||||
}
|
||||
|
141
SunnyUI/Font/UIFontImages.designer.cs
generated
141
SunnyUI/Font/UIFontImages.designer.cs
generated
@ -36,13 +36,26 @@
|
||||
this.lpAwesome = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||
this.lpElegant = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.bg = new System.ComponentModel.BackgroundWorker();
|
||||
this.tabPage4 = new System.Windows.Forms.TabPage();
|
||||
this.lpV5Brands = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.tabPage5 = new System.Windows.Forms.TabPage();
|
||||
this.lpV5Solid = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.tabPage6 = new System.Windows.Forms.TabPage();
|
||||
this.lpV5Regular = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.bg1 = new System.ComponentModel.BackgroundWorker();
|
||||
this.timer = new System.Windows.Forms.Timer(this.components);
|
||||
this.toolTip = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.bg2 = new System.ComponentModel.BackgroundWorker();
|
||||
this.bg3 = new System.ComponentModel.BackgroundWorker();
|
||||
this.bg4 = new System.ComponentModel.BackgroundWorker();
|
||||
this.bg5 = new System.ComponentModel.BackgroundWorker();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
this.tabPage3.SuspendLayout();
|
||||
this.tabPage4.SuspendLayout();
|
||||
this.tabPage5.SuspendLayout();
|
||||
this.tabPage6.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tabControl1
|
||||
@ -50,20 +63,23 @@
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Controls.Add(this.tabPage3);
|
||||
this.tabControl1.Controls.Add(this.tabPage4);
|
||||
this.tabControl1.Controls.Add(this.tabPage5);
|
||||
this.tabControl1.Controls.Add(this.tabPage6);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(497, 450);
|
||||
this.tabControl1.Size = new System.Drawing.Size(541, 502);
|
||||
this.tabControl1.TabIndex = 0;
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.lpCustom);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(489, 424);
|
||||
this.tabPage1.Size = new System.Drawing.Size(533, 472);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "常用";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
@ -74,18 +90,18 @@
|
||||
this.lpCustom.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lpCustom.Location = new System.Drawing.Point(3, 3);
|
||||
this.lpCustom.Name = "lpCustom";
|
||||
this.lpCustom.Size = new System.Drawing.Size(483, 418);
|
||||
this.lpCustom.Size = new System.Drawing.Size(527, 466);
|
||||
this.lpCustom.TabIndex = 1;
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
this.tabPage2.Controls.Add(this.lpAwesome);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage2.Size = new System.Drawing.Size(489, 424);
|
||||
this.tabPage2.Size = new System.Drawing.Size(756, 637);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "AwesomeFont";
|
||||
this.tabPage2.Text = "FontAwesomeV4";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// lpAwesome
|
||||
@ -95,16 +111,16 @@
|
||||
this.lpAwesome.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
|
||||
this.lpAwesome.Location = new System.Drawing.Point(3, 3);
|
||||
this.lpAwesome.Name = "lpAwesome";
|
||||
this.lpAwesome.Size = new System.Drawing.Size(483, 418);
|
||||
this.lpAwesome.Size = new System.Drawing.Size(750, 631);
|
||||
this.lpAwesome.TabIndex = 1;
|
||||
//
|
||||
// tabPage3
|
||||
//
|
||||
this.tabPage3.Controls.Add(this.lpElegant);
|
||||
this.tabPage3.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage3.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage3.Name = "tabPage3";
|
||||
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage3.Size = new System.Drawing.Size(489, 424);
|
||||
this.tabPage3.Size = new System.Drawing.Size(756, 637);
|
||||
this.tabPage3.TabIndex = 2;
|
||||
this.tabPage3.Text = "ElegantFont";
|
||||
this.tabPage3.UseVisualStyleBackColor = true;
|
||||
@ -116,22 +132,100 @@
|
||||
this.lpElegant.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
|
||||
this.lpElegant.Location = new System.Drawing.Point(3, 3);
|
||||
this.lpElegant.Name = "lpElegant";
|
||||
this.lpElegant.Size = new System.Drawing.Size(483, 418);
|
||||
this.lpElegant.Size = new System.Drawing.Size(750, 631);
|
||||
this.lpElegant.TabIndex = 2;
|
||||
//
|
||||
// bg
|
||||
// tabPage4
|
||||
//
|
||||
this.bg.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg_DoWork);
|
||||
this.bg.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bg_RunWorkerCompleted);
|
||||
this.tabPage4.Controls.Add(this.lpV5Brands);
|
||||
this.tabPage4.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage4.Name = "tabPage4";
|
||||
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage4.Size = new System.Drawing.Size(756, 637);
|
||||
this.tabPage4.TabIndex = 3;
|
||||
this.tabPage4.Text = "FontAwesomeV5Brands";
|
||||
this.tabPage4.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// lpV5Brands
|
||||
//
|
||||
this.lpV5Brands.AutoScroll = true;
|
||||
this.lpV5Brands.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lpV5Brands.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
|
||||
this.lpV5Brands.Location = new System.Drawing.Point(3, 3);
|
||||
this.lpV5Brands.Name = "lpV5Brands";
|
||||
this.lpV5Brands.Size = new System.Drawing.Size(750, 631);
|
||||
this.lpV5Brands.TabIndex = 3;
|
||||
//
|
||||
// tabPage5
|
||||
//
|
||||
this.tabPage5.Controls.Add(this.lpV5Solid);
|
||||
this.tabPage5.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage5.Name = "tabPage5";
|
||||
this.tabPage5.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage5.Size = new System.Drawing.Size(756, 637);
|
||||
this.tabPage5.TabIndex = 4;
|
||||
this.tabPage5.Text = "V5Solid";
|
||||
this.tabPage5.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// lpV5Solid
|
||||
//
|
||||
this.lpV5Solid.AutoScroll = true;
|
||||
this.lpV5Solid.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lpV5Solid.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
|
||||
this.lpV5Solid.Location = new System.Drawing.Point(3, 3);
|
||||
this.lpV5Solid.Name = "lpV5Solid";
|
||||
this.lpV5Solid.Size = new System.Drawing.Size(750, 631);
|
||||
this.lpV5Solid.TabIndex = 3;
|
||||
//
|
||||
// tabPage6
|
||||
//
|
||||
this.tabPage6.Controls.Add(this.lpV5Regular);
|
||||
this.tabPage6.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage6.Name = "tabPage6";
|
||||
this.tabPage6.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage6.Size = new System.Drawing.Size(756, 637);
|
||||
this.tabPage6.TabIndex = 5;
|
||||
this.tabPage6.Text = "V5Regular";
|
||||
this.tabPage6.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// lpV5Regular
|
||||
//
|
||||
this.lpV5Regular.AutoScroll = true;
|
||||
this.lpV5Regular.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lpV5Regular.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(158)))), ((int)(((byte)(255)))));
|
||||
this.lpV5Regular.Location = new System.Drawing.Point(3, 3);
|
||||
this.lpV5Regular.Name = "lpV5Regular";
|
||||
this.lpV5Regular.Size = new System.Drawing.Size(750, 631);
|
||||
this.lpV5Regular.TabIndex = 3;
|
||||
//
|
||||
// bg1
|
||||
//
|
||||
this.bg1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg_DoWork);
|
||||
//
|
||||
// timer
|
||||
//
|
||||
this.timer.Tick += new System.EventHandler(this.timer_Tick);
|
||||
//
|
||||
// bg2
|
||||
//
|
||||
this.bg2.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg2_DoWork);
|
||||
//
|
||||
// bg3
|
||||
//
|
||||
this.bg3.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg3_DoWork);
|
||||
//
|
||||
// bg4
|
||||
//
|
||||
this.bg4.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg4_DoWork);
|
||||
//
|
||||
// bg5
|
||||
//
|
||||
this.bg5.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bg5_DoWork);
|
||||
//
|
||||
// UIFontImages
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(497, 450);
|
||||
this.ClientSize = new System.Drawing.Size(541, 502);
|
||||
this.Controls.Add(this.tabControl1);
|
||||
this.Name = "UIFontImages";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
@ -141,6 +235,9 @@
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
this.tabPage3.ResumeLayout(false);
|
||||
this.tabPage4.ResumeLayout(false);
|
||||
this.tabPage5.ResumeLayout(false);
|
||||
this.tabPage6.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@ -154,8 +251,18 @@
|
||||
private System.Windows.Forms.FlowLayoutPanel lpAwesome;
|
||||
private System.Windows.Forms.TabPage tabPage3;
|
||||
private System.Windows.Forms.FlowLayoutPanel lpElegant;
|
||||
private System.ComponentModel.BackgroundWorker bg;
|
||||
private System.ComponentModel.BackgroundWorker bg1;
|
||||
private System.Windows.Forms.Timer timer;
|
||||
private System.Windows.Forms.ToolTip toolTip;
|
||||
private System.Windows.Forms.TabPage tabPage4;
|
||||
private System.Windows.Forms.TabPage tabPage5;
|
||||
private System.Windows.Forms.TabPage tabPage6;
|
||||
private System.Windows.Forms.FlowLayoutPanel lpV5Brands;
|
||||
private System.Windows.Forms.FlowLayoutPanel lpV5Solid;
|
||||
private System.Windows.Forms.FlowLayoutPanel lpV5Regular;
|
||||
private System.ComponentModel.BackgroundWorker bg2;
|
||||
private System.ComponentModel.BackgroundWorker bg3;
|
||||
private System.ComponentModel.BackgroundWorker bg4;
|
||||
private System.ComponentModel.BackgroundWorker bg5;
|
||||
}
|
||||
}
|
@ -1,64 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
@ -117,13 +57,25 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bg.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="bg1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>162, 24</value>
|
||||
<value>384, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>245, 24</value>
|
||||
<value>467, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bg2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>84, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bg3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>159, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bg4.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>234, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bg5.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>309, 17</value>
|
||||
</metadata>
|
||||
</root>
|
BIN
SunnyUI/Font/fa-brands-400.ttf
Normal file
BIN
SunnyUI/Font/fa-brands-400.ttf
Normal file
Binary file not shown.
BIN
SunnyUI/Font/fa-regular-400.ttf
Normal file
BIN
SunnyUI/Font/fa-regular-400.ttf
Normal file
Binary file not shown.
BIN
SunnyUI/Font/fa-solid-900.ttf
Normal file
BIN
SunnyUI/Font/fa-solid-900.ttf
Normal file
Binary file not shown.
8
SunnyUI/Properties/launchSettings.json
Normal file
8
SunnyUI/Properties/launchSettings.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"profiles": {
|
||||
"SunnyUI": {
|
||||
"commandName": "Project",
|
||||
"nativeDebugging": true
|
||||
}
|
||||
}
|
||||
}
|
@ -38,8 +38,10 @@
|
||||
<ItemGroup>
|
||||
<None Remove="Controls\UIDataGridView.cs~RF2e4ccc29.TMP" />
|
||||
<None Remove="Font\ElegantIcons.ttf" />
|
||||
<None Remove="Font\fa-brands-400.ttf" />
|
||||
<None Remove="Font\fa-regular-400.ttf" />
|
||||
<None Remove="Font\fa-solid-900.ttf" />
|
||||
<None Remove="Font\FontAwesome.ttf" />
|
||||
<None Remove="Font\LigatureSymbols.ttf" />
|
||||
<None Include="..\LICENSE">
|
||||
<Pack>True</Pack>
|
||||
<PackagePath></PackagePath>
|
||||
@ -52,8 +54,10 @@
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Font\ElegantIcons.ttf" />
|
||||
<EmbeddedResource Include="Font\fa-brands-400.ttf" />
|
||||
<EmbeddedResource Include="Font\fa-regular-400.ttf" />
|
||||
<EmbeddedResource Include="Font\fa-solid-900.ttf" />
|
||||
<EmbeddedResource Include="Font\FontAwesome.ttf" />
|
||||
<EmbeddedResource Include="Font\LigatureSymbols.ttf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
Loading…
x
Reference in New Issue
Block a user