43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
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);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |