48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System.Drawing;
 | 
						|
using System.Drawing.Drawing2D;
 | 
						|
 | 
						|
namespace DevComponents.Tree
 | 
						|
{
 | 
						|
	namespace Display
 | 
						|
	{
 | 
						|
		/// <summary>
 | 
						|
		/// Base class for node expand button display.
 | 
						|
		/// </summary>
 | 
						|
		public abstract class NodeExpandDisplay
 | 
						|
		{
 | 
						|
			/// <summary>Creates new instance of the class</summary>
 | 
						|
			public NodeExpandDisplay()
 | 
						|
			{
 | 
						|
			}
 | 
						|
 | 
						|
			/// <summary>Draws expand button.</summary>
 | 
						|
			/// <param name="e">Context parameters for drawing expand button.</param>
 | 
						|
			public abstract void DrawExpandButton(NodeExpandPartRendererEventArgs e);
 | 
						|
 | 
						|
			protected Pen GetBorderPen(NodeExpandPartRendererEventArgs e)
 | 
						|
			{
 | 
						|
                return new Pen(e.BorderColor, Dpi.Width1);
 | 
						|
			}
 | 
						|
 | 
						|
			protected Pen GetExpandPen(NodeExpandPartRendererEventArgs e)
 | 
						|
			{
 | 
						|
				return new Pen(e.ExpandLineColor,Dpi.Width1);
 | 
						|
			}
 | 
						|
 | 
						|
			protected Brush GetBackgroundBrush(NodeExpandPartRendererEventArgs e)
 | 
						|
			{
 | 
						|
				if(e.BackColor.IsEmpty && e.BackColor2.IsEmpty)
 | 
						|
					return null;
 | 
						|
 | 
						|
				if(e.BackColor2.IsEmpty)
 | 
						|
					return new SolidBrush(e.BackColor);
 | 
						|
			
 | 
						|
				System.Drawing.Drawing2D.LinearGradientBrush brush=DisplayHelp.CreateLinearGradientBrush(e.ExpandPartBounds,e.BackColor,e.BackColor2,e.BackColorGradientAngle);
 | 
						|
				//brush.SetSigmaBellShape(0.8f);
 | 
						|
				return brush;
 | 
						|
			}
 | 
						|
		
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |