78 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Text;
 | 
						|
using System.Drawing;
 | 
						|
using DevComponents.DotNetBar.Rendering;
 | 
						|
 | 
						|
namespace DevComponents.DotNetBar.Presentation
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Defines the shape border.
 | 
						|
    /// </summary>
 | 
						|
    internal class ShapeBorder
 | 
						|
    {
 | 
						|
        #region Properties
 | 
						|
        /// <summary>
 | 
						|
        /// Gets or sets the border width in pixels.
 | 
						|
        /// </summary>
 | 
						|
        public int Width = 0;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Gets or sets the border color.
 | 
						|
        /// </summary>
 | 
						|
        public Color Color1 = Color.Empty;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Gets or sets the ending gradient border color.
 | 
						|
        /// </summary>
 | 
						|
        public Color Color2 = Color.Empty;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Gets or sets the gradient angle. Default value is 90.
 | 
						|
        /// </summary>
 | 
						|
        public int GradientAngle = 90;
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Internal Implementation
 | 
						|
        public ShapeBorder() {}
 | 
						|
        public ShapeBorder(int borderWidth) { Width = borderWidth; }
 | 
						|
        public ShapeBorder(LinearGradientColorTable table)
 | 
						|
        {
 | 
						|
            this.Color1 = table.Start;
 | 
						|
            this.Color2 = table.End;
 | 
						|
            this.Width = 1;
 | 
						|
        }
 | 
						|
        public ShapeBorder(LinearGradientColorTable table, int width)
 | 
						|
        {
 | 
						|
            this.Color1 = table.Start;
 | 
						|
            this.Color2 = table.End;
 | 
						|
            this.Width = width;
 | 
						|
        }
 | 
						|
        public void Apply(LinearGradientColorTable table)
 | 
						|
        {
 | 
						|
            if (table == null)
 | 
						|
            {
 | 
						|
                this.Color1 = Color.Empty;
 | 
						|
                this.Color2 = Color.Empty;
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                this.Color1 = table.Start;
 | 
						|
                this.Color2 = table.End;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        public ShapeBorder(Color color1, Color color2, int width)
 | 
						|
        {
 | 
						|
            this.Color1 = color1;
 | 
						|
            this.Color2 = color2;
 | 
						|
            this.Width = width;
 | 
						|
        }
 | 
						|
        public ShapeBorder(Color color1, int width)
 | 
						|
        {
 | 
						|
            this.Color1 = color1;
 | 
						|
            this.Color2 = Color.Empty;
 | 
						|
            this.Width = width;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
}
 |