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));
|
|
}
|
|
}
|
|
}
|