DotNet 4.8.1 build of DotNetBar

This commit is contained in:
2025-02-07 10:35:23 -05:00
parent 33439b63a0
commit 6b0a5d60f4
2609 changed files with 989814 additions and 7 deletions

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using DevComponents.DotNetBar.Metro.ColorTables;
namespace DevComponents.DotNetBar.Metro.Rendering
{
internal class MetroFormRenderer : MetroRenderer
{
public override void Render(MetroRendererInfo renderingInfo)
{
MetroAppForm form = renderingInfo.Control as MetroAppForm;
BorderOverlay overlay = renderingInfo.Control as BorderOverlay;
if (form == null && overlay != null) form = overlay.Parent as MetroAppForm;
Graphics g = renderingInfo.PaintEventArgs.Graphics;
MetroAppFormColorTable fct = renderingInfo.ColorTable.MetroAppForm;
Thickness borderThickness = form.BorderThickness;
BorderColors colors = form.BorderColor;
if (borderThickness.IsZero && colors.IsEmpty)
{
// Get it from table
borderThickness = form.IsGlassEnabled ? fct.BorderThickness : fct.BorderPlainThickness;
colors = form.IsActive ? fct.BorderColors : fct.BorderColorsInactive;
}
if (overlay == null) // If overlay is being rendered it does not need fill
{
using (SolidBrush brush = new SolidBrush(form.BackColor))
g.FillRectangle(brush, new Rectangle(0, 0, form.Width, form.Height));
}
if (!borderThickness.IsZero && !colors.IsEmpty)
{
RectangleF br = new RectangleF(0, 0, form.Width, form.Height);
DrawingHelpers.DrawBorder(g, br, borderThickness, colors);
}
}
}
}