53 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
 | 
						|
namespace DevComponents.DotNetBar.Charts.Style
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Represents base class that each visual style factory for the ChartControl inherits from.
 | 
						|
    /// </summary>
 | 
						|
    public abstract class VisualStyleFactory
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// Create the DefaultVisualStyle for the ChartControl.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="factory">Color-Factory used to generate colors.</param>
 | 
						|
        /// <returns>New instance of DefaultVisualStyles class.</returns>
 | 
						|
        public abstract DefaultVisualStyles CreateStyle(Rendering.ColorFactory factory);
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Create the DefaultVisualStyle for the ChartControl with empty color factory.
 | 
						|
        /// </summary>
 | 
						|
        /// <returns>New instance of DefaultVisualStyles class.</returns>
 | 
						|
        public virtual DefaultVisualStyles CreateStyle()
 | 
						|
        {
 | 
						|
            if (StyleManager.ColorTint.IsEmpty)
 | 
						|
                return CreateStyle(Rendering.ColorFactory.Empty);
 | 
						|
 | 
						|
            return CreateStyle(new Rendering.ColorBlendFactory(StyleManager.ColorTint));
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Returns the style factory for specified visual style.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="style">Style to create factory for.</param>
 | 
						|
        /// <returns>An instance of VisualStyleFactory.</returns>
 | 
						|
        public static VisualStyleFactory GetStyleFactory(ChartControlStyle style)
 | 
						|
        {
 | 
						|
            if (style == ChartControlStyle.Office2010Blue)
 | 
						|
                return new Office2010BlueStyleFactory();
 | 
						|
 | 
						|
            if (style == ChartControlStyle.Office2010Silver)
 | 
						|
                return new Office2010SilverStyleFactory();
 | 
						|
 | 
						|
            if (style == ChartControlStyle.Office2010Black)
 | 
						|
                return new Office2010BlackStyleFactory();
 | 
						|
 | 
						|
            if (style == ChartControlStyle.Metro)
 | 
						|
                return new MetroStyleFactory();
 | 
						|
 | 
						|
            throw new ArgumentException(string.Format(
 | 
						|
                "Specified style '{0}' factory has not been implemented.", style));
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |