first commit
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace LibreHardwareMonitor.UI.Themes
|
||||
{
|
||||
public class ThemedToolStripRenderer : ToolStripRenderer
|
||||
{
|
||||
protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e)
|
||||
{
|
||||
if (e.Item is not ToolStripSeparator)
|
||||
{
|
||||
base.OnRenderSeparator(e);
|
||||
return;
|
||||
}
|
||||
|
||||
Rectangle bounds = new(Point.Empty, e.Item.Size);
|
||||
using (Brush brush = new SolidBrush(Theme.Current.MenuBackgroundColor))
|
||||
e.Graphics.FillRectangle(brush, bounds);
|
||||
}
|
||||
|
||||
protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e)
|
||||
{
|
||||
e.ArrowColor = e.Item.Selected ? Theme.Current.MenuSelectedForegroundColor : Theme.Current.MenuForegroundColor;
|
||||
base.OnRenderArrow(e);
|
||||
}
|
||||
|
||||
protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e)
|
||||
{
|
||||
using (Pen pen = new Pen(e.Item.Selected ? Theme.Current.MenuSelectedForegroundColor : Theme.Current.MenuForegroundColor))
|
||||
{
|
||||
int x = 10;
|
||||
int y = 6;
|
||||
e.Graphics.DrawLine(pen, x, y + 3, x + 2, y + 5);
|
||||
e.Graphics.DrawLine(pen, x + 2, y + 5, x + 6, y + 1);
|
||||
e.Graphics.DrawLine(pen, x, y + 4, x + 2, y + 6);
|
||||
e.Graphics.DrawLine(pen, x + 2, y + 6, x + 6, y + 2);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
|
||||
{
|
||||
e.TextColor = e.Item.Selected ? Theme.Current.MenuSelectedForegroundColor : Theme.Current.MenuForegroundColor;
|
||||
base.OnRenderItemText(e);
|
||||
}
|
||||
|
||||
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
|
||||
{
|
||||
if (e.ToolStrip.Parent is not Form)
|
||||
{
|
||||
Rectangle bounds = new(Point.Empty, new Size(e.ToolStrip.Width - 1, e.ToolStrip.Height - 1));
|
||||
using (Pen pen = new Pen(Theme.Current.MenuBorderColor))
|
||||
e.Graphics.DrawRectangle(pen, bounds);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e)
|
||||
{
|
||||
Rectangle bounds = new(Point.Empty, e.ToolStrip.Size);
|
||||
using (Brush brush = new SolidBrush(Theme.Current.MenuBackgroundColor))
|
||||
e.Graphics.FillRectangle(brush, bounds);
|
||||
}
|
||||
|
||||
protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
|
||||
{
|
||||
Rectangle bounds = new(Point.Empty, e.Item.Size);
|
||||
|
||||
using (Brush brush = new SolidBrush(e.Item.Selected ? Theme.Current.MenuSelectedBackgroundColor : Theme.Current.MenuBackgroundColor))
|
||||
e.Graphics.FillRectangle(brush, bounds);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user