77 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Text;
 | 
						|
using System.Drawing;
 | 
						|
using System.ComponentModel;
 | 
						|
 | 
						|
namespace DevComponents.WinForms.Drawing
 | 
						|
{
 | 
						|
    public class SolidFill : Fill
 | 
						|
    {
 | 
						|
        #region Constructor
 | 
						|
        /// <summary>
 | 
						|
        /// Initializes a new instance of the SolidFill class.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="color"></param>
 | 
						|
        public SolidFill(Color color)
 | 
						|
        {
 | 
						|
            _Color = color;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Initializes a new instance of the SolidFill class.
 | 
						|
        /// </summary>
 | 
						|
        public SolidFill()
 | 
						|
        {
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Internal Implementation
 | 
						|
        /// <summary>
 | 
						|
        /// Creates the brush for fill.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="bounds">Bounds for the brush</param>
 | 
						|
        /// <returns>Returns brush or null if brush cannot be created for given bounds or colors are not set. It is responsibility of caller to Dispose the brush.</returns>
 | 
						|
        public override Brush CreateBrush(Rectangle bounds)
 | 
						|
        {
 | 
						|
            if (_Color.IsEmpty) return null;
 | 
						|
            return new SolidBrush(_Color);
 | 
						|
        }
 | 
						|
 | 
						|
        private Color _Color = Color.Empty;
 | 
						|
        /// <summary>
 | 
						|
        /// Gets or sets the fill color.
 | 
						|
        /// </summary>
 | 
						|
        [Description("Indicates the fill color.")]
 | 
						|
        public Color Color
 | 
						|
        {
 | 
						|
            get { return _Color; }
 | 
						|
            set { _Color = value; }
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// Gets whether property should be serialized.
 | 
						|
        /// </summary>
 | 
						|
        /// <returns>true if property should be serialized</returns>
 | 
						|
        [EditorBrowsable(EditorBrowsableState.Never)]
 | 
						|
        public bool ShouldSerializeColor()
 | 
						|
        {
 | 
						|
            return !_Color.IsEmpty;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// Sets the property to its default value.
 | 
						|
        /// </summary>
 | 
						|
        [EditorBrowsable(EditorBrowsableState.Never)]
 | 
						|
        public void ResetColor()
 | 
						|
        {
 | 
						|
            Color = Color.Empty;
 | 
						|
        }
 | 
						|
 | 
						|
        public override Pen CreatePen(int width)
 | 
						|
        {
 | 
						|
            if (!_Color.IsEmpty)
 | 
						|
                return new Pen(_Color, width);
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
}
 |