// --------------------------------------------------------------------------------------------------------------------
//
// Copyright (c) 2014 OxyPlot contributors
//
//
// This is a Avalonia wrapper of OxyPlot.AreaSeries
//
// --------------------------------------------------------------------------------------------------------------------
using Avalonia;
namespace OxyPlot.Avalonia
{
using global::Avalonia.Media;
///
/// This is a Avalonia wrapper of OxyPlot.AreaSeries
///
public class AreaSeries : LineSeries
{
///
/// Identifies the dependency property.
///
public static readonly StyledProperty Color2Property = AvaloniaProperty.Register(nameof(Color2), MoreColors.Automatic);
///
/// Identifies the dependency property.
///
public static readonly StyledProperty ConstantY2Property = AvaloniaProperty.Register(nameof(ConstantY2), 0.0);
///
/// Identifies the dependency property.
///
public static readonly StyledProperty DataFieldX2Property = AvaloniaProperty.Register(nameof(DataFieldX2), null);
///
/// Identifies the dependency property.
///
public static readonly StyledProperty DataFieldY2Property = AvaloniaProperty.Register(nameof(DataFieldY2), null);
///
/// Identifies the dependency property.
///
public static readonly StyledProperty FillProperty = AvaloniaProperty.Register(nameof(Fill), MoreColors.Automatic);
///
/// Identifies the dependency property.
///
public static readonly StyledProperty Reverse2Property = AvaloniaProperty.Register(nameof(Reverse2), true);
///
/// Initializes a new instance of the class.
///
public AreaSeries()
{
InternalSeries = new OxyPlot.Series.AreaSeries();
}
///
/// Gets or sets the color of the second line.
///
public Color Color2
{
get
{
return GetValue(Color2Property);
}
set
{
SetValue(Color2Property, value);
}
}
///
/// Gets or sets ConstantY2.
///
public double ConstantY2
{
get
{
return GetValue(ConstantY2Property);
}
set
{
SetValue(ConstantY2Property, value);
}
}
///
/// Gets or sets DataFieldX2.
///
public string DataFieldX2
{
get
{
return GetValue(DataFieldX2Property);
}
set
{
SetValue(DataFieldX2Property, value);
}
}
///
/// Gets or sets DataFieldY2.
///
public string DataFieldY2
{
get
{
return GetValue(DataFieldY2Property);
}
set
{
SetValue(DataFieldY2Property, value);
}
}
///
/// Gets or sets Fill.
///
public Color Fill
{
get
{
return GetValue(FillProperty);
}
set
{
SetValue(FillProperty, value);
}
}
///
/// Gets or sets a value indicating whether Reverse2.
///
public bool Reverse2
{
get
{
return GetValue(Reverse2Property);
}
set
{
SetValue(Reverse2Property, value);
}
}
///
/// Creates the internal series.
///
/// The internal series.
public override OxyPlot.Series.Series CreateModel()
{
SynchronizeProperties(InternalSeries);
return InternalSeries;
}
///
/// Synchronizes the properties.
///
/// The series.
protected override void SynchronizeProperties(OxyPlot.Series.Series series)
{
base.SynchronizeProperties(series);
var s = (OxyPlot.Series.AreaSeries)series;
s.Color2 = Color2.ToOxyColor();
s.DataFieldX2 = DataFieldX2;
s.DataFieldY2 = DataFieldY2;
s.ConstantY2 = ConstantY2;
s.Fill = Fill.ToOxyColor();
s.Reverse2 = Reverse2;
}
static AreaSeries()
{
Color2Property.Changed.AddClassHandler(AppearanceChanged);
ConstantY2Property.Changed.AddClassHandler(DataChanged);
DataFieldX2Property.Changed.AddClassHandler(DataChanged);
DataFieldY2Property.Changed.AddClassHandler(DataChanged);
FillProperty.Changed.AddClassHandler(AppearanceChanged);
Reverse2Property.Changed.AddClassHandler(AppearanceChanged);
}
}
}