Files
2026-08-27 11:23:13 -06:00

105 lines
3.9 KiB
C#

// Decompiled with JetBrains decompiler
// Type: WpfApp1.DarkMenuRenderer
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
#nullable disable
namespace WpfApp1;
internal class DarkMenuRenderer : ToolStripProfessionalRenderer
{
private static readonly Color BgColor = Color.FromArgb(36, 36, 36);
private static readonly Color HoverColor = Color.FromArgb(55, 55, 55);
private static readonly Color SeparatorColor = Color.FromArgb(62, 62, 62);
private static readonly Color TextColor = Color.FromArgb(221, 221, 221);
private static readonly Color DisabledColor = Color.FromArgb(100, 100, 100);
private static readonly Color BorderColor = Color.FromArgb(65, 65, 65);
public DarkMenuRenderer()
: base((ProfessionalColorTable) new DarkColorTable())
{
}
protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e)
{
using (SolidBrush solidBrush = new SolidBrush(DarkMenuRenderer.BgColor))
e.Graphics.FillRectangle((Brush) solidBrush, e.AffectedBounds);
}
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
Rectangle affectedBounds = e.AffectedBounds;
--affectedBounds.Width;
--affectedBounds.Height;
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
using (Pen pen = new Pen(DarkMenuRenderer.BorderColor, 1f))
{
using (GraphicsPath path = DarkMenuRenderer.RoundRect(affectedBounds, 6))
e.Graphics.DrawPath(pen, path);
}
}
protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
{
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
ToolStripItem toolStripItem = e.Item;
Rectangle rect = new Rectangle(4, 1, toolStripItem.Width - 8, toolStripItem.Height - 2);
if (toolStripItem.Selected && toolStripItem.Enabled)
{
using (SolidBrush solidBrush = new SolidBrush(DarkMenuRenderer.HoverColor))
{
using (GraphicsPath path = DarkMenuRenderer.RoundRect(rect, 4))
e.Graphics.FillPath((Brush) solidBrush, path);
}
}
else
{
using (SolidBrush solidBrush = new SolidBrush(DarkMenuRenderer.BgColor))
e.Graphics.FillRectangle((Brush) solidBrush, toolStripItem.ContentRectangle);
}
}
protected override void OnRenderImageMargin(ToolStripRenderEventArgs e)
{
using (SolidBrush solidBrush = new SolidBrush(DarkMenuRenderer.BgColor))
e.Graphics.FillRectangle((Brush) solidBrush, e.AffectedBounds);
}
protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e)
{
int num = e.Item.Height / 2;
using (Pen pen = new Pen(DarkMenuRenderer.SeparatorColor, 1f))
e.Graphics.DrawLine(pen, 8, num, e.Item.Width - 8, num);
}
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
e.TextColor = e.Item.Enabled ? DarkMenuRenderer.TextColor : DarkMenuRenderer.DisabledColor;
base.OnRenderItemText(e);
}
protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e)
{
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
base.OnRenderItemImage(e);
}
private static GraphicsPath RoundRect(Rectangle rect, int radius)
{
int num = radius * 2;
GraphicsPath graphicsPath = new GraphicsPath();
graphicsPath.AddArc(rect.X, rect.Y, num, num, 180f, 90f);
graphicsPath.AddArc(rect.Right - num, rect.Y, num, num, 270f, 90f);
graphicsPath.AddArc(rect.Right - num, rect.Bottom - num, num, num, 0.0f, 90f);
graphicsPath.AddArc(rect.X, rect.Bottom - num, num, num, 90f, 90f);
graphicsPath.CloseFigure();
return graphicsPath;
}
}