using System; using System.Text; using System.Drawing; using System.ComponentModel; #if AdvTree namespace DevComponents.Tree #elif DOTNETBAR namespace DevComponents.DotNetBar #endif { /// /// Defines single color blend point for the multicolor gradient fills. /// [ToolboxItem(false),DesignTimeVisible(false),TypeConverter(typeof(BackgroundColorBlendConverter))] public class BackgroundColorBlend { #region Private Variables private Color m_Color = Color.Empty; private float m_Position = 0; #endregion #region Internal Implementation /// /// Creates new instance of the class. When defining multicolor gradinet blends and using the percentage positions the positions created /// must start with 0f and end with 1f. /// public BackgroundColorBlend() {} /// /// Creates new instance of the class and initialize it with default values. /// public BackgroundColorBlend(Color color, float position) { m_Color=color; m_Position=position; } /// /// Creates new instance of the class and initialize it with default values. /// public BackgroundColorBlend(int color, float position) { m_Color = ColorScheme.GetColor(color); m_Position = position; } /// /// Gets or sets Color to use in multicolor gradient blend at specified position. /// [Browsable(true), Description("Indicates the Color to use in multicolor gradient blend at specified position.")] public Color Color { get { return m_Color; } set { m_Color = value; OnColorBlendChanged(); } } private bool ShouldSerializeColor() { return !m_Color.IsEmpty; } /// /// Gets or sets the color position in multicolor gradient blend. Values less or equal to 1 are used as percentage specifing percentages of distance along the gradient line. /// Values greater than 1 are used as absolute pixel values of distance along the gradient line. /// [Browsable(true), DefaultValue(0f), Description("")] public float Position { get { return m_Position; } set { m_Position = value; OnColorBlendChanged(); } } private void OnColorBlendChanged() { } #endregion } }