Test
This commit is contained in:
		
							
								
								
									
										232
									
								
								PrintPDF/PdfSharp.Charting/Charting/Axis.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										232
									
								
								PrintPDF/PdfSharp.Charting/Charting/Axis.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,232 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
#if !WINDOWS_PHONE
 | 
			
		||||
using System.ComponentModel;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// This class represents an axis in a chart.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Axis : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Axis class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal Axis(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Axis Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (Axis)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            Axis axis = (Axis)base.DeepCopy();
 | 
			
		||||
            if (axis._title != null)
 | 
			
		||||
            {
 | 
			
		||||
                axis._title = axis._title.Clone();
 | 
			
		||||
                axis._title._parent = axis;
 | 
			
		||||
            }
 | 
			
		||||
            if (axis._tickLabels != null)
 | 
			
		||||
            {
 | 
			
		||||
                axis._tickLabels = axis._tickLabels.Clone();
 | 
			
		||||
                axis._tickLabels._parent = axis;
 | 
			
		||||
            }
 | 
			
		||||
            if (axis._lineFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                axis._lineFormat = axis._lineFormat.Clone();
 | 
			
		||||
                axis._lineFormat._parent = axis;
 | 
			
		||||
            }
 | 
			
		||||
            if (axis._majorGridlines != null)
 | 
			
		||||
            {
 | 
			
		||||
                axis._majorGridlines = axis._majorGridlines.Clone();
 | 
			
		||||
                axis._majorGridlines._parent = axis;
 | 
			
		||||
            }
 | 
			
		||||
            if (axis._minorGridlines != null)
 | 
			
		||||
            {
 | 
			
		||||
                axis._minorGridlines = axis._minorGridlines.Clone();
 | 
			
		||||
                axis._minorGridlines._parent = axis;
 | 
			
		||||
            }
 | 
			
		||||
            return axis;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the title of the axis.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public AxisTitle Title
 | 
			
		||||
        {
 | 
			
		||||
            get { return _title ?? (_title = new AxisTitle(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal AxisTitle _title;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the minimum value of the axis.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public double MinimumScale
 | 
			
		||||
        {
 | 
			
		||||
            get { return _minimumScale; }
 | 
			
		||||
            set { _minimumScale = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal double _minimumScale = double.NaN;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the maximum value of the axis.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public double MaximumScale
 | 
			
		||||
        {
 | 
			
		||||
            get { return _maximumScale; }
 | 
			
		||||
            set { _maximumScale = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal double _maximumScale = double.NaN;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the interval of the primary tick.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public double MajorTick
 | 
			
		||||
        {
 | 
			
		||||
            get { return _majorTick; }
 | 
			
		||||
            set { _majorTick = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal double _majorTick = double.NaN;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the interval of the secondary tick.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public double MinorTick
 | 
			
		||||
        {
 | 
			
		||||
            get { return _minorTick; }
 | 
			
		||||
            set { _minorTick = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal double _minorTick = double.NaN;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the type of the primary tick mark.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public TickMarkType MajorTickMark
 | 
			
		||||
        {
 | 
			
		||||
            get { return _majorTickMark; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (!Enum.IsDefined(typeof(TickMarkType), value))
 | 
			
		||||
                    throw new InvalidEnumArgumentException("value", (int)value, typeof(TickMarkType));
 | 
			
		||||
                _majorTickMark = value;
 | 
			
		||||
                _majorTickMarkInitialized = true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal TickMarkType _majorTickMark;
 | 
			
		||||
        internal bool _majorTickMarkInitialized;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the type of the secondary tick mark.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public TickMarkType MinorTickMark
 | 
			
		||||
        {
 | 
			
		||||
            get { return _minorTickMark; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (!Enum.IsDefined(typeof(TickMarkType), value))
 | 
			
		||||
                    throw new InvalidEnumArgumentException("value", (int)value, typeof(TickMarkType));
 | 
			
		||||
                _minorTickMark = value;
 | 
			
		||||
                _minorTickMarkInitialized = true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal TickMarkType _minorTickMark;
 | 
			
		||||
        internal bool _minorTickMarkInitialized;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the label of the primary tick.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public TickLabels TickLabels
 | 
			
		||||
        {
 | 
			
		||||
            get { return _tickLabels ?? (_tickLabels = new TickLabels(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal TickLabels _tickLabels;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the format of the axis line.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public LineFormat LineFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _lineFormat ?? (_lineFormat = new LineFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal LineFormat _lineFormat;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the primary gridline object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Gridlines MajorGridlines
 | 
			
		||||
        {
 | 
			
		||||
            get { return _majorGridlines ?? (_majorGridlines = new Gridlines(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Gridlines _majorGridlines;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the secondary gridline object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Gridlines MinorGridlines
 | 
			
		||||
        {
 | 
			
		||||
            get { return _minorGridlines ?? (_minorGridlines = new Gridlines(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Gridlines _minorGridlines;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets, whether the axis has a primary gridline object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool HasMajorGridlines
 | 
			
		||||
        {
 | 
			
		||||
            get { return _hasMajorGridlines; }
 | 
			
		||||
            set { _hasMajorGridlines = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _hasMajorGridlines;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets, whether the axis has a secondary gridline object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool HasMinorGridlines
 | 
			
		||||
        {
 | 
			
		||||
            get { return _hasMinorGridlines; }
 | 
			
		||||
            set { _hasMinorGridlines = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _hasMinorGridlines;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										125
									
								
								PrintPDF/PdfSharp.Charting/Charting/AxisTitle.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								PrintPDF/PdfSharp.Charting/Charting/AxisTitle.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the title of an axis.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class AxisTitle : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the AxisTitle class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public AxisTitle()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the AxisTitle class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal AxisTitle(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new AxisTitle Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (AxisTitle)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            AxisTitle axisTitle = (AxisTitle)base.DeepCopy();
 | 
			
		||||
            if (axisTitle._font != null)
 | 
			
		||||
            {
 | 
			
		||||
                axisTitle._font = axisTitle._font.Clone();
 | 
			
		||||
                axisTitle._font._parent = axisTitle;
 | 
			
		||||
            }
 | 
			
		||||
            return axisTitle;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the caption of the title.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string Caption
 | 
			
		||||
        {
 | 
			
		||||
            get { return _caption; }
 | 
			
		||||
            set { _caption = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal string _caption = String.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the font of the title.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Font Font
 | 
			
		||||
        {
 | 
			
		||||
            get { return _font ?? (_font = new Font(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Font _font;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the orientation of the caption.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public double Orientation
 | 
			
		||||
        {
 | 
			
		||||
            get { return _orientation; }
 | 
			
		||||
            set { _orientation = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal double _orientation;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the horizontal alignment of the caption.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public HorizontalAlignment Alignment
 | 
			
		||||
        {
 | 
			
		||||
            get { return _alignment; }
 | 
			
		||||
            set { _alignment = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal HorizontalAlignment _alignment;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the vertical alignment of the caption.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public VerticalAlignment VerticalAlignment
 | 
			
		||||
        {
 | 
			
		||||
            get { return _verticalAlignment; }
 | 
			
		||||
            set { _verticalAlignment = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal VerticalAlignment _verticalAlignment;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										241
									
								
								PrintPDF/PdfSharp.Charting/Charting/Chart.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										241
									
								
								PrintPDF/PdfSharp.Charting/Charting/Chart.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,241 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents charts with different types.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Chart : DocumentObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Chart class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Chart()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Chart class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal Chart(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Chart class with the specified chart type.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Chart(ChartType type)
 | 
			
		||||
            : this()
 | 
			
		||||
        {
 | 
			
		||||
            Type = type;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Chart Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (Chart)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            Chart chart = (Chart)base.DeepCopy();
 | 
			
		||||
            if (chart._xAxis != null)
 | 
			
		||||
            {
 | 
			
		||||
                chart._xAxis = chart._xAxis.Clone();
 | 
			
		||||
                chart._xAxis._parent = chart;
 | 
			
		||||
            }
 | 
			
		||||
            if (chart._yAxis != null)
 | 
			
		||||
            {
 | 
			
		||||
                chart._yAxis = chart._yAxis.Clone();
 | 
			
		||||
                chart._yAxis._parent = chart;
 | 
			
		||||
            }
 | 
			
		||||
            if (chart._zAxis != null)
 | 
			
		||||
            {
 | 
			
		||||
                chart._zAxis = chart._zAxis.Clone();
 | 
			
		||||
                chart._zAxis._parent = chart;
 | 
			
		||||
            }
 | 
			
		||||
            if (chart._seriesCollection != null)
 | 
			
		||||
            {
 | 
			
		||||
                chart._seriesCollection = chart._seriesCollection.Clone();
 | 
			
		||||
                chart._seriesCollection._parent = chart;
 | 
			
		||||
            }
 | 
			
		||||
            if (chart._xValues != null)
 | 
			
		||||
            {
 | 
			
		||||
                chart._xValues = chart._xValues.Clone();
 | 
			
		||||
                chart._xValues._parent = chart;
 | 
			
		||||
            }
 | 
			
		||||
            if (chart._plotArea != null)
 | 
			
		||||
            {
 | 
			
		||||
                chart._plotArea = chart._plotArea.Clone();
 | 
			
		||||
                chart._plotArea._parent = chart;
 | 
			
		||||
            }
 | 
			
		||||
            if (chart._dataLabel != null)
 | 
			
		||||
            {
 | 
			
		||||
                chart._dataLabel = chart._dataLabel.Clone();
 | 
			
		||||
                chart._dataLabel._parent = chart;
 | 
			
		||||
            }
 | 
			
		||||
            return chart;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Determines the type of the given axis.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal string CheckAxis(Axis axis)
 | 
			
		||||
        {
 | 
			
		||||
            if ((_xAxis != null) && (axis == _xAxis))
 | 
			
		||||
                return "xaxis";
 | 
			
		||||
            if ((_yAxis != null) && (axis == _yAxis))
 | 
			
		||||
                return "yaxis";
 | 
			
		||||
            if ((_zAxis != null) && (axis == _zAxis))
 | 
			
		||||
                return "zaxis";
 | 
			
		||||
 | 
			
		||||
            return "";
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the base type of the chart.
 | 
			
		||||
        /// ChartType of the series can be overwritten.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public ChartType Type
 | 
			
		||||
        {
 | 
			
		||||
            get { return _type; }
 | 
			
		||||
            set { _type = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal ChartType _type;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the font for the chart. This will be the default font for all objects which are
 | 
			
		||||
        /// part of the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Font Font
 | 
			
		||||
        {
 | 
			
		||||
            get { return _font ?? (_font = new Font(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Font _font;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the legend of the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Legend Legend
 | 
			
		||||
        {
 | 
			
		||||
            get { return _legend ?? (_legend = new Legend(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Legend _legend;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the X-Axis of the Chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Axis XAxis
 | 
			
		||||
        {
 | 
			
		||||
            get { return _xAxis ?? (_xAxis = new Axis(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Axis _xAxis;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the Y-Axis of the Chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Axis YAxis
 | 
			
		||||
        {
 | 
			
		||||
            get { return _yAxis ?? (_yAxis = new Axis(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Axis _yAxis;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the Z-Axis of the Chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Axis ZAxis
 | 
			
		||||
        {
 | 
			
		||||
            get { return _zAxis ?? (_zAxis = new Axis(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Axis _zAxis;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the collection of the data series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public SeriesCollection SeriesCollection
 | 
			
		||||
        {
 | 
			
		||||
            get { return _seriesCollection ?? (_seriesCollection = new SeriesCollection(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal SeriesCollection _seriesCollection;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the collection of the values written on the X-Axis.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XValues XValues
 | 
			
		||||
        {
 | 
			
		||||
            get { return _xValues ?? (_xValues = new XValues(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal XValues _xValues;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the plot (drawing) area of the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public PlotArea PlotArea
 | 
			
		||||
        {
 | 
			
		||||
            get { return _plotArea ?? (_plotArea = new PlotArea(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal PlotArea _plotArea;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets a value defining how blanks in the data series should be shown.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public BlankType DisplayBlanksAs
 | 
			
		||||
        {
 | 
			
		||||
            get { return _displayBlanksAs; }
 | 
			
		||||
            set { _displayBlanksAs = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal BlankType _displayBlanksAs;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the DataLabel of the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DataLabel DataLabel
 | 
			
		||||
        {
 | 
			
		||||
            get { return _dataLabel ?? (_dataLabel = new DataLabel(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal DataLabel _dataLabel;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets whether the chart has a DataLabel.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool HasDataLabel
 | 
			
		||||
        {
 | 
			
		||||
            get { return _hasDataLabel; }
 | 
			
		||||
            set { _hasDataLabel = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _hasDataLabel;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										228
									
								
								PrintPDF/PdfSharp.Charting/Charting/ChartFrame.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								PrintPDF/PdfSharp.Charting/Charting/ChartFrame.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,228 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using PdfSharp.Drawing;
 | 
			
		||||
using PdfSharp.Charting.Renderers;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the frame which holds one or more charts.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class ChartFrame
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the ChartFrame class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public ChartFrame()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the ChartFrame class with the specified rectangle.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public ChartFrame(XRect rect)
 | 
			
		||||
        {
 | 
			
		||||
            _location = rect.Location;
 | 
			
		||||
            _size = rect.Size;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the location of the ChartFrame.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XPoint Location
 | 
			
		||||
        {
 | 
			
		||||
            get { return _location; }
 | 
			
		||||
            set { _location = value; }
 | 
			
		||||
        }
 | 
			
		||||
        XPoint _location;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the size of the ChartFrame.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XSize Size
 | 
			
		||||
        {
 | 
			
		||||
            get { return _size; }
 | 
			
		||||
            set { _size = value; }
 | 
			
		||||
        }
 | 
			
		||||
        XSize _size;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a chart to the ChartFrame.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void Add(Chart chart)
 | 
			
		||||
        {
 | 
			
		||||
            if (_chartList == null)
 | 
			
		||||
                _chartList = new List<Chart>();
 | 
			
		||||
            _chartList.Add(chart);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Draws all charts inside the ChartFrame.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void Draw(XGraphics gfx)
 | 
			
		||||
        {
 | 
			
		||||
            // Draw frame of ChartFrame. First shadow frame.
 | 
			
		||||
            const int dx = 5;
 | 
			
		||||
            const int dy = 5;
 | 
			
		||||
            gfx.DrawRoundedRectangle(XBrushes.Gainsboro,
 | 
			
		||||
                                     _location.X + dx, _location.Y + dy,
 | 
			
		||||
                                     _size.Width, _size.Height, 20, 20);
 | 
			
		||||
 | 
			
		||||
            XRect chartRect = new XRect(_location.X, _location.Y, _size.Width, _size.Height);
 | 
			
		||||
            XLinearGradientBrush brush = new XLinearGradientBrush(chartRect, XColor.FromArgb(0xFFD0DEEF), XColors.White,
 | 
			
		||||
                                                                  XLinearGradientMode.Vertical);
 | 
			
		||||
            XPen penBorder = new XPen(XColors.SteelBlue, 2.5);
 | 
			
		||||
            gfx.DrawRoundedRectangle(penBorder, brush,
 | 
			
		||||
                                     _location.X, _location.Y, _size.Width, _size.Height,
 | 
			
		||||
                                     15, 15);
 | 
			
		||||
 | 
			
		||||
            XGraphicsState state = gfx.Save();
 | 
			
		||||
            gfx.TranslateTransform(_location.X, _location.Y);
 | 
			
		||||
 | 
			
		||||
            // Calculate rectangle for all charts. Y-Position will be moved for each chart.
 | 
			
		||||
            int charts = _chartList.Count;
 | 
			
		||||
            const uint dxChart = 20;
 | 
			
		||||
            const uint dyChart = 20;
 | 
			
		||||
            const uint dyBetweenCharts = 30;
 | 
			
		||||
            XRect rect = new XRect(dxChart, dyChart,
 | 
			
		||||
              _size.Width - 2 * dxChart,
 | 
			
		||||
              (_size.Height - (charts - 1) * dyBetweenCharts - 2 * dyChart) / charts);
 | 
			
		||||
 | 
			
		||||
            // draw each chart in list
 | 
			
		||||
            foreach (Chart chart in _chartList)
 | 
			
		||||
            {
 | 
			
		||||
                RendererParameters parms = new RendererParameters(gfx, rect);
 | 
			
		||||
                parms.DrawingItem = chart;
 | 
			
		||||
 | 
			
		||||
                ChartRenderer renderer = GetChartRenderer(chart, parms);
 | 
			
		||||
                renderer.Init();
 | 
			
		||||
                renderer.Format();
 | 
			
		||||
                renderer.Draw();
 | 
			
		||||
 | 
			
		||||
                rect.Y += rect.Height + dyBetweenCharts;
 | 
			
		||||
            }
 | 
			
		||||
            gfx.Restore(state);
 | 
			
		||||
 | 
			
		||||
            //      // Calculate rectangle for all charts. Y-Position will be moved for each chart.
 | 
			
		||||
            //      int charts = chartList.Count;
 | 
			
		||||
            //      uint dxChart = 0;
 | 
			
		||||
            //      uint dyChart = 0;
 | 
			
		||||
            //      uint dyBetweenCharts = 0;
 | 
			
		||||
            //      XRect rect = new XRect(dxChart, dyChart,
 | 
			
		||||
            //        size.Width - 2 * dxChart,
 | 
			
		||||
            //        (size.Height - (charts - 1) * dyBetweenCharts - 2 * dyChart) / charts);
 | 
			
		||||
            //
 | 
			
		||||
            //      // draw each chart in list
 | 
			
		||||
            //      foreach (Chart chart in chartList)
 | 
			
		||||
            //      {
 | 
			
		||||
            //        RendererParameters parms = new RendererParameters(gfx, rect);
 | 
			
		||||
            //        parms.DrawingItem = chart;
 | 
			
		||||
            //
 | 
			
		||||
            //        ChartRenderer renderer = GetChartRenderer(chart, parms);
 | 
			
		||||
            //        renderer.Init();
 | 
			
		||||
            //        renderer.Format();
 | 
			
		||||
            //        renderer.Draw();
 | 
			
		||||
            //
 | 
			
		||||
            //        rect.Y += rect.Height + dyBetweenCharts;
 | 
			
		||||
            //      }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Draws first chart only.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void DrawChart(XGraphics gfx)
 | 
			
		||||
        {
 | 
			
		||||
            XGraphicsState state = gfx.Save();
 | 
			
		||||
            gfx.TranslateTransform(_location.X, _location.Y);
 | 
			
		||||
 | 
			
		||||
            if (_chartList.Count > 0)
 | 
			
		||||
            {
 | 
			
		||||
                XRect chartRect = new XRect(0, 0, _size.Width, _size.Height);
 | 
			
		||||
                Chart chart = (Chart)_chartList[0];
 | 
			
		||||
                RendererParameters parms = new RendererParameters(gfx, chartRect);
 | 
			
		||||
                parms.DrawingItem = chart;
 | 
			
		||||
 | 
			
		||||
                ChartRenderer renderer = GetChartRenderer(chart, parms);
 | 
			
		||||
                renderer.Init();
 | 
			
		||||
                renderer.Format();
 | 
			
		||||
                renderer.Draw();
 | 
			
		||||
            }
 | 
			
		||||
            gfx.Restore(state);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns the chart renderer appropriate for the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        private ChartRenderer GetChartRenderer(Chart chart, RendererParameters parms)
 | 
			
		||||
        {
 | 
			
		||||
            ChartType chartType = chart.Type;
 | 
			
		||||
            bool useCombinationRenderer = false;
 | 
			
		||||
            foreach (Series series in chart._seriesCollection)
 | 
			
		||||
            {
 | 
			
		||||
                if (series._chartType != chartType)
 | 
			
		||||
                {
 | 
			
		||||
                    useCombinationRenderer = true;
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (useCombinationRenderer)
 | 
			
		||||
                return new CombinationChartRenderer(parms);
 | 
			
		||||
 | 
			
		||||
            switch (chartType)
 | 
			
		||||
            {
 | 
			
		||||
                case ChartType.Line:
 | 
			
		||||
                    return new LineChartRenderer(parms);
 | 
			
		||||
 | 
			
		||||
                case ChartType.Column2D:
 | 
			
		||||
                case ChartType.ColumnStacked2D:
 | 
			
		||||
                    return new ColumnChartRenderer(parms);
 | 
			
		||||
 | 
			
		||||
                case ChartType.Bar2D:
 | 
			
		||||
                case ChartType.BarStacked2D:
 | 
			
		||||
                    return new BarChartRenderer(parms);
 | 
			
		||||
 | 
			
		||||
                case ChartType.Area2D:
 | 
			
		||||
                    return new AreaChartRenderer(parms);
 | 
			
		||||
 | 
			
		||||
                case ChartType.Pie2D:
 | 
			
		||||
                case ChartType.PieExploded2D:
 | 
			
		||||
                    return new PieChartRenderer(parms);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Holds the charts which will be drawn inside the ChartFrame.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        List<Chart> _chartList;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										48
									
								
								PrintPDF/PdfSharp.Charting/Charting/ChartObject.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								PrintPDF/PdfSharp.Charting/Charting/ChartObject.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Base class for all chart classes.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class ChartObject : DocumentObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the ChartObject class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public ChartObject()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the ChartObject class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal ChartObject(DocumentObject parent) : base(parent) { }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										134
									
								
								PrintPDF/PdfSharp.Charting/Charting/DataLabel.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								PrintPDF/PdfSharp.Charting/Charting/DataLabel.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,134 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
#if !WINDOWS_PHONE
 | 
			
		||||
using System.ComponentModel;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents a DataLabel of a Series
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class DataLabel : DocumentObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the DataLabel class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DataLabel()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the DataLabel class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal DataLabel(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new DataLabel Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (DataLabel)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            DataLabel dataLabel = (DataLabel)base.DeepCopy();
 | 
			
		||||
            if (dataLabel._font != null)
 | 
			
		||||
            {
 | 
			
		||||
                dataLabel._font = dataLabel._font.Clone();
 | 
			
		||||
                dataLabel._font._parent = dataLabel;
 | 
			
		||||
            }
 | 
			
		||||
            return dataLabel;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets a numeric format string for the DataLabel.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string Format
 | 
			
		||||
        {
 | 
			
		||||
            get { return _format; }
 | 
			
		||||
            set { _format = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal string _format = String.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the Font for the DataLabel.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Font Font
 | 
			
		||||
        {
 | 
			
		||||
            get { return _font ?? (_font = new Font(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Font _font;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the position of the DataLabel.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DataLabelPosition Position
 | 
			
		||||
        {
 | 
			
		||||
            get { return (DataLabelPosition)_position; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (!Enum.IsDefined(typeof(DataLabelPosition), value))
 | 
			
		||||
                    throw new InvalidEnumArgumentException("value", (int)value, typeof(DataLabelPosition));
 | 
			
		||||
 | 
			
		||||
                _position = value;
 | 
			
		||||
                _positionInitialized = true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal DataLabelPosition _position;
 | 
			
		||||
        internal bool _positionInitialized;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the type of the DataLabel.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DataLabelType Type
 | 
			
		||||
        {
 | 
			
		||||
            get { return _type; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (!Enum.IsDefined(typeof(DataLabelType), value))
 | 
			
		||||
                    throw new InvalidEnumArgumentException("value", (int)value, typeof(DataLabelType));
 | 
			
		||||
 | 
			
		||||
                _type = value;
 | 
			
		||||
                _typeInitialized = true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal DataLabelType _type;
 | 
			
		||||
        internal bool _typeInitialized;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										87
									
								
								PrintPDF/PdfSharp.Charting/Charting/DocumentObject.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								PrintPDF/PdfSharp.Charting/Charting/DocumentObject.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Base class for all chart classes.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class DocumentObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the DocumentObject class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DocumentObject()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the DocumentObject class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DocumentObject(DocumentObject parent)
 | 
			
		||||
        {
 | 
			
		||||
            _parent = parent;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of the DocumentObject. The parent of the new object is null.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public object Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected virtual object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            DocumentObject value = (DocumentObject)MemberwiseClone();
 | 
			
		||||
            value._parent = null;
 | 
			
		||||
            return value;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the parent object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DocumentObject Parent
 | 
			
		||||
        {
 | 
			
		||||
            get { return _parent; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /*protected*/
 | 
			
		||||
        internal DocumentObject _parent;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										261
									
								
								PrintPDF/PdfSharp.Charting/Charting/DocumentObjectCollection.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										261
									
								
								PrintPDF/PdfSharp.Charting/Charting/DocumentObjectCollection.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,261 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Base class of all collections.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public abstract class DocumentObjectCollection : DocumentObject, IList
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the DocumentObjectCollection class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal DocumentObjectCollection()
 | 
			
		||||
        {
 | 
			
		||||
            _elements = new List<DocumentObject>();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the DocumentObjectCollection class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal DocumentObjectCollection(DocumentObject parent)
 | 
			
		||||
            : base(parent)
 | 
			
		||||
        {
 | 
			
		||||
            _elements = new List<DocumentObject>();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the element at the specified index.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public virtual DocumentObject this[int index]
 | 
			
		||||
        {
 | 
			
		||||
            get { return _elements[index]; }
 | 
			
		||||
            internal set { _elements[index] = value; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new DocumentObjectCollection Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (DocumentObjectCollection)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            DocumentObjectCollection coll = (DocumentObjectCollection)base.DeepCopy();
 | 
			
		||||
 | 
			
		||||
            int count = Count;
 | 
			
		||||
            coll._elements = new List<DocumentObject>(count);
 | 
			
		||||
            for (int index = 0; index < count; ++index)
 | 
			
		||||
                coll._elements.Add((DocumentObject)this[index].Clone());
 | 
			
		||||
            return coll;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Copies the Array_List or a portion of it to a one-dimensional array.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void CopyTo(Array array, int index)
 | 
			
		||||
        {
 | 
			
		||||
            throw new NotImplementedException("TODO");
 | 
			
		||||
            //elements.CopyTo(array, index);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Removes all elements from the collection.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void Clear()
 | 
			
		||||
        {
 | 
			
		||||
            _elements.Clear();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Inserts an element into the collection at the specified position.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public virtual void InsertObject(int index, DocumentObject val)
 | 
			
		||||
        {
 | 
			
		||||
            _elements.Insert(index, val);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Searches for the specified object and returns the zero-based index of the first occurrence.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public int IndexOf(DocumentObject val)
 | 
			
		||||
        {
 | 
			
		||||
            return _elements.IndexOf(val);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Removes the element at the specified index.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void RemoveObjectAt(int index)
 | 
			
		||||
        {
 | 
			
		||||
            _elements.RemoveAt(index);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds the specified document object to the collection.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public virtual void Add(DocumentObject value)
 | 
			
		||||
        {
 | 
			
		||||
            if (value != null)
 | 
			
		||||
                value._parent = this;
 | 
			
		||||
            _elements.Add(value);
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the number of elements actually contained in the collection.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public int Count
 | 
			
		||||
        {
 | 
			
		||||
            get { return _elements.Count; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the first value in the collection, if there is any, otherwise null.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DocumentObject First
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                if (Count > 0)
 | 
			
		||||
                    return this[0];
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the last element or null, if no such element exists.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DocumentObject LastObject
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                int count = _elements.Count;
 | 
			
		||||
                if (count > 0)
 | 
			
		||||
                    return (DocumentObject)_elements[count - 1];
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region IList
 | 
			
		||||
        bool IList.IsReadOnly
 | 
			
		||||
        {
 | 
			
		||||
            get { return false; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        bool IList.IsFixedSize
 | 
			
		||||
        {
 | 
			
		||||
            get { return false; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        object IList.this[int index]
 | 
			
		||||
        {
 | 
			
		||||
            get { return _elements[index]; }
 | 
			
		||||
            set { _elements[index] = (DocumentObject)value; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        void IList.RemoveAt(int index)
 | 
			
		||||
        {
 | 
			
		||||
            throw new NotImplementedException("IList.RemoveAt");
 | 
			
		||||
            // TODO:  Add DocumentObjectCollection.RemoveAt implementation
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        void IList.Insert(int index, object value)
 | 
			
		||||
        {
 | 
			
		||||
            throw new NotImplementedException("IList.Insert");
 | 
			
		||||
            // TODO:  Add DocumentObjectCollection.Insert implementation
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        void IList.Remove(object value)
 | 
			
		||||
        {
 | 
			
		||||
            throw new NotImplementedException("IList.Remove");
 | 
			
		||||
            // TODO:  Add DocumentObjectCollection.Remove implementation
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        bool IList.Contains(object value)
 | 
			
		||||
        {
 | 
			
		||||
            throw new NotImplementedException("IList.Contains");
 | 
			
		||||
            // TODO:  Add DocumentObjectCollection.Contains implementation
 | 
			
		||||
            //return false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        int System.Collections.IList.IndexOf(object value)
 | 
			
		||||
        {
 | 
			
		||||
            throw new NotImplementedException("IList.IndexOf");
 | 
			
		||||
            // TODO:  Add DocumentObjectCollection.System.Collections.IList.IndexOf implementation
 | 
			
		||||
            //return 0;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        int IList.Add(object value)
 | 
			
		||||
        {
 | 
			
		||||
            throw new NotImplementedException("IList.Add");
 | 
			
		||||
            // TODO:  Add DocumentObjectCollection.Add implementation
 | 
			
		||||
            //return 0;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region ICollection
 | 
			
		||||
        bool ICollection.IsSynchronized
 | 
			
		||||
        {
 | 
			
		||||
            get { return false; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        object ICollection.SyncRoot
 | 
			
		||||
        {
 | 
			
		||||
            get { return null; }
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Returns an enumerator that iterates through a collection.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns>
 | 
			
		||||
        /// An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
 | 
			
		||||
        /// </returns>
 | 
			
		||||
        public IEnumerator GetEnumerator()
 | 
			
		||||
        {
 | 
			
		||||
            return _elements.GetEnumerator();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<DocumentObject> _elements;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										82
									
								
								PrintPDF/PdfSharp.Charting/Charting/FillFormat.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								PrintPDF/PdfSharp.Charting/Charting/FillFormat.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using PdfSharp.Drawing;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Defines the background filling of the shape.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class FillFormat : DocumentObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the FillFormat class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public FillFormat()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the FillFormat class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal FillFormat(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new FillFormat Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (FillFormat)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the color of the filling.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XColor Color
 | 
			
		||||
        {
 | 
			
		||||
            get { return _color; }
 | 
			
		||||
            set { _color = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XColor _color = XColor.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets a value indicating whether the background color should be visible.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool Visible
 | 
			
		||||
        {
 | 
			
		||||
            get { return _visible; }
 | 
			
		||||
            set { _visible = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _visible;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										169
									
								
								PrintPDF/PdfSharp.Charting/Charting/Font.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										169
									
								
								PrintPDF/PdfSharp.Charting/Charting/Font.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,169 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
using PdfSharp.Drawing;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Font represents the formatting of characters in a paragraph.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public sealed class Font : DocumentObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Font class that can be used as a template.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Font()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Font class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal Font(DocumentObject parent)
 | 
			
		||||
            : base(parent)
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Font class with the specified name and size.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Font(string name, XUnit size)
 | 
			
		||||
            : this()
 | 
			
		||||
        {
 | 
			
		||||
            _name = name;
 | 
			
		||||
            _size = size;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a copy of the Font.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Font Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (Font)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the name of the font.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string Name
 | 
			
		||||
        {
 | 
			
		||||
            get { return _name; }
 | 
			
		||||
            set { _name = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal string _name = String.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the size of the font.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XUnit Size
 | 
			
		||||
        {
 | 
			
		||||
            get { return _size; }
 | 
			
		||||
            set { _size = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XUnit _size;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the bold property.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool Bold
 | 
			
		||||
        {
 | 
			
		||||
            get { return _bold; }
 | 
			
		||||
            set { _bold = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _bold;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the italic property.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool Italic
 | 
			
		||||
        {
 | 
			
		||||
            get { return _italic; }
 | 
			
		||||
            set { _italic = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _italic;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the underline property.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Underline Underline
 | 
			
		||||
        {
 | 
			
		||||
            get { return _underline; }
 | 
			
		||||
            set { _underline = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal Underline _underline;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the color property.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XColor Color
 | 
			
		||||
        {
 | 
			
		||||
            get { return _color; }
 | 
			
		||||
            set { _color = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XColor _color = XColor.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the superscript property.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool Superscript
 | 
			
		||||
        {
 | 
			
		||||
            get { return _superscript; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (_superscript != value)
 | 
			
		||||
                {
 | 
			
		||||
                    _superscript = value;
 | 
			
		||||
                    _subscript = false;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _superscript;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the subscript property.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool Subscript
 | 
			
		||||
        {
 | 
			
		||||
            get { return _subscript; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (_subscript != value)
 | 
			
		||||
                {
 | 
			
		||||
                    _subscript = value;
 | 
			
		||||
                    _superscript = false;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _subscript;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										85
									
								
								PrintPDF/PdfSharp.Charting/Charting/Gridlines.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								PrintPDF/PdfSharp.Charting/Charting/Gridlines.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the gridlines on the axes.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Gridlines : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Gridlines class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Gridlines()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Gridlines class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal Gridlines(DocumentObject parent)
 | 
			
		||||
            : base(parent)
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Gridlines Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (Gridlines)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            Gridlines gridlines = (Gridlines)base.DeepCopy();
 | 
			
		||||
            if (gridlines._lineFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                gridlines._lineFormat = gridlines._lineFormat.Clone();
 | 
			
		||||
                gridlines._lineFormat._parent = gridlines;
 | 
			
		||||
            }
 | 
			
		||||
            return gridlines;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the line format of the grid.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public LineFormat LineFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _lineFormat ?? (_lineFormat = new LineFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal LineFormat _lineFormat;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										117
									
								
								PrintPDF/PdfSharp.Charting/Charting/Legend.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								PrintPDF/PdfSharp.Charting/Charting/Legend.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,117 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
#if !WINDOWS_PHONE
 | 
			
		||||
using System.ComponentModel;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents a legend of a chart.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Legend : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Legend class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Legend()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Legend class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal Legend(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Legend Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (Legend)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            Legend legend = (Legend)base.DeepCopy();
 | 
			
		||||
            if (legend._lineFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                legend._lineFormat = legend._lineFormat.Clone();
 | 
			
		||||
                legend._lineFormat._parent = legend;
 | 
			
		||||
            }
 | 
			
		||||
            if (legend._font != null)
 | 
			
		||||
            {
 | 
			
		||||
                legend._font = legend._font.Clone();
 | 
			
		||||
                legend._font._parent = legend;
 | 
			
		||||
            }
 | 
			
		||||
            return legend;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the line format of the legend's border.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public LineFormat LineFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _lineFormat ?? (_lineFormat = new LineFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal LineFormat _lineFormat;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the font of the legend.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Font Font
 | 
			
		||||
        {
 | 
			
		||||
            get { return _font ?? (_font = new Font(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Font _font;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the docking type.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DockingType Docking
 | 
			
		||||
        {
 | 
			
		||||
            get { return _docking; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (!Enum.IsDefined(typeof(DockingType), value))
 | 
			
		||||
                    throw new InvalidEnumArgumentException("value", (int)value, typeof(DockingType));
 | 
			
		||||
                _docking = value;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal DockingType _docking;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										112
									
								
								PrintPDF/PdfSharp.Charting/Charting/LineFormat.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								PrintPDF/PdfSharp.Charting/Charting/LineFormat.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,112 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using PdfSharp.Drawing;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Defines the format of a line in a shape object.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class LineFormat : DocumentObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the LineFormat class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public LineFormat()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the LineFormat class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal LineFormat(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new LineFormat Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (LineFormat)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets a value indicating whether the line should be visible.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool Visible
 | 
			
		||||
        {
 | 
			
		||||
            get { return _visible; }
 | 
			
		||||
            set { _visible = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _visible;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the width of the line in XUnit.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XUnit Width
 | 
			
		||||
        {
 | 
			
		||||
            get { return _width; }
 | 
			
		||||
            set { _width = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XUnit _width;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the color of the line.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XColor Color
 | 
			
		||||
        {
 | 
			
		||||
            get { return _color; }
 | 
			
		||||
            set { _color = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XColor _color = XColor.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the dash style of the line.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XDashStyle DashStyle
 | 
			
		||||
        {
 | 
			
		||||
            get { return _dashStyle; }
 | 
			
		||||
            set { _dashStyle = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XDashStyle _dashStyle;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the style of the line.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public LineStyle Style
 | 
			
		||||
        {
 | 
			
		||||
            get { return _style; }
 | 
			
		||||
            set { _style = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal LineStyle _style;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										48
									
								
								PrintPDF/PdfSharp.Charting/Charting/PSCSR.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								PrintPDF/PdfSharp.Charting/Charting/PSCSR.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// The Pdf-Sharp-Charting-String-Resources.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    // ReSharper disable once InconsistentNaming
 | 
			
		||||
    internal class PSCSR
 | 
			
		||||
    {
 | 
			
		||||
        internal static string InvalidChartTypeForCombination(ChartType chartType)
 | 
			
		||||
        {
 | 
			
		||||
            return string.Format("ChartType '{0}' not valid for combination of charts.", chartType.ToString());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal static string PercentNotSupportedByColumnDataLabel
 | 
			
		||||
        {
 | 
			
		||||
            get { return "Column data label cannot be set to 'Percent'"; }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										139
									
								
								PrintPDF/PdfSharp.Charting/Charting/PlotArea.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								PrintPDF/PdfSharp.Charting/Charting/PlotArea.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,139 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using PdfSharp.Drawing;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the area where the actual chart is drawn.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class PlotArea : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the PlotArea class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal PlotArea()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the PlotArea class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal PlotArea(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new PlotArea Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (PlotArea)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            PlotArea plotArea = (PlotArea)base.DeepCopy();
 | 
			
		||||
            if (plotArea._lineFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                plotArea._lineFormat = plotArea._lineFormat.Clone();
 | 
			
		||||
                plotArea._lineFormat._parent = plotArea;
 | 
			
		||||
            }
 | 
			
		||||
            if (plotArea._fillFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                plotArea._fillFormat = plotArea._fillFormat.Clone();
 | 
			
		||||
                plotArea._fillFormat._parent = plotArea;
 | 
			
		||||
            }
 | 
			
		||||
            return plotArea;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the line format of the plot area's border.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public LineFormat LineFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _lineFormat ?? (_lineFormat = new LineFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal LineFormat _lineFormat;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the background filling of the plot area.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public FillFormat FillFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _fillFormat ?? (_fillFormat = new FillFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal FillFormat _fillFormat;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the left padding of the area.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XUnit LeftPadding
 | 
			
		||||
        {
 | 
			
		||||
            get { return _leftPadding; }
 | 
			
		||||
            set { _leftPadding = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XUnit _leftPadding;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the right padding of the area.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XUnit RightPadding
 | 
			
		||||
        {
 | 
			
		||||
            get { return _rightPadding; }
 | 
			
		||||
            set { _rightPadding = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XUnit _rightPadding;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the top padding of the area.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XUnit TopPadding
 | 
			
		||||
        {
 | 
			
		||||
            get { return _topPadding; }
 | 
			
		||||
            set { _topPadding = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XUnit _topPadding;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the bottom padding of the area.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XUnit BottomPadding
 | 
			
		||||
        {
 | 
			
		||||
            get { return _bottomPadding; }
 | 
			
		||||
            set { _bottomPadding = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XUnit _bottomPadding;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										121
									
								
								PrintPDF/PdfSharp.Charting/Charting/Point.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								PrintPDF/PdfSharp.Charting/Charting/Point.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,121 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents a formatted value on the data series.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Point : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Point class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal Point()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Point class with a real value.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Point(double value)
 | 
			
		||||
            : this()
 | 
			
		||||
        {
 | 
			
		||||
            Value = value;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Point class with a real value.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Point(string value)
 | 
			
		||||
            : this()
 | 
			
		||||
        {
 | 
			
		||||
            // = "34.5 23.9"
 | 
			
		||||
            Value = 0;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Point Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (Point)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            Point point = (Point)base.DeepCopy();
 | 
			
		||||
            if (point._lineFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                point._lineFormat = point._lineFormat.Clone();
 | 
			
		||||
                point._lineFormat._parent = point;
 | 
			
		||||
            }
 | 
			
		||||
            if (point._fillFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                point._fillFormat = point._fillFormat.Clone();
 | 
			
		||||
                point._fillFormat._parent = point;
 | 
			
		||||
            }
 | 
			
		||||
            return point;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the line format of the data point's border.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public LineFormat LineFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _lineFormat ?? (_lineFormat = new LineFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal LineFormat _lineFormat;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the filling format of the data point.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public FillFormat FillFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _fillFormat ?? (_fillFormat = new FillFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal FillFormat _fillFormat;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// The actual value of the data point.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public double Value
 | 
			
		||||
        {
 | 
			
		||||
            get { return _value; }
 | 
			
		||||
            set { _value = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal double _value;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										246
									
								
								PrintPDF/PdfSharp.Charting/Charting/Series.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										246
									
								
								PrintPDF/PdfSharp.Charting/Charting/Series.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,246 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
using PdfSharp.Drawing;
 | 
			
		||||
#if !SILVERLIGHT
 | 
			
		||||
using System.ComponentModel;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents a series of data on the chart.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class Series : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the Series class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Series()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Series Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (Series)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            Series series = (Series)base.DeepCopy();
 | 
			
		||||
            if (series._seriesElements != null)
 | 
			
		||||
            {
 | 
			
		||||
                series._seriesElements = series._seriesElements.Clone();
 | 
			
		||||
                series._seriesElements._parent = series;
 | 
			
		||||
            }
 | 
			
		||||
            if (series._lineFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                series._lineFormat = series._lineFormat.Clone();
 | 
			
		||||
                series._lineFormat._parent = series;
 | 
			
		||||
            }
 | 
			
		||||
            if (series._fillFormat != null)
 | 
			
		||||
            {
 | 
			
		||||
                series._fillFormat = series._fillFormat.Clone();
 | 
			
		||||
                series._fillFormat._parent = series;
 | 
			
		||||
            }
 | 
			
		||||
            if (series._dataLabel != null)
 | 
			
		||||
            {
 | 
			
		||||
                series._dataLabel = series._dataLabel.Clone();
 | 
			
		||||
                series._dataLabel._parent = series;
 | 
			
		||||
            }
 | 
			
		||||
            return series;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a blank to the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void AddBlank()
 | 
			
		||||
        {
 | 
			
		||||
            Elements.AddBlank();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a real value to the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Point Add(double value)
 | 
			
		||||
        {
 | 
			
		||||
            return Elements.Add(value);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds an array of real values to the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void Add(params double[] values)
 | 
			
		||||
        {
 | 
			
		||||
            Elements.Add(values);
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// The actual value container of the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public SeriesElements Elements
 | 
			
		||||
        {
 | 
			
		||||
            get { return _seriesElements ?? (_seriesElements = new SeriesElements(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal SeriesElements _seriesElements;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the name of the series which will be used in the legend.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string Name
 | 
			
		||||
        {
 | 
			
		||||
            get { return _name; }
 | 
			
		||||
            set { _name = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal string _name = String.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the line format of the border of each data.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public LineFormat LineFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _lineFormat ?? (_lineFormat = new LineFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal LineFormat _lineFormat;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the background filling of the data.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public FillFormat FillFormat
 | 
			
		||||
        {
 | 
			
		||||
            get { return _fillFormat ?? (_fillFormat = new FillFormat(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal FillFormat _fillFormat;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the size of the marker in a line chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XUnit MarkerSize
 | 
			
		||||
        {
 | 
			
		||||
            get { return _markerSize; }
 | 
			
		||||
            set { _markerSize = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XUnit _markerSize;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the style of the marker in a line chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public MarkerStyle MarkerStyle
 | 
			
		||||
        {
 | 
			
		||||
            get { return _markerStyle; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (!Enum.IsDefined(typeof(MarkerStyle), value))
 | 
			
		||||
                    throw new InvalidEnumArgumentException("value", (int)value, typeof(MarkerStyle));
 | 
			
		||||
 | 
			
		||||
                _markerStyle = value;
 | 
			
		||||
                _markerStyleInitialized = true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal MarkerStyle _markerStyle;
 | 
			
		||||
        internal bool _markerStyleInitialized;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the foreground color of the marker in a line chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XColor MarkerForegroundColor
 | 
			
		||||
        {
 | 
			
		||||
            get { return _markerForegroundColor; }
 | 
			
		||||
            set { _markerForegroundColor = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XColor _markerForegroundColor = XColor.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the background color of the marker in a line chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XColor MarkerBackgroundColor
 | 
			
		||||
        {
 | 
			
		||||
            get { return _markerBackgroundColor; }
 | 
			
		||||
            set { _markerBackgroundColor = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal XColor _markerBackgroundColor = XColor.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the chart type of the series if it's intended to be different than the
 | 
			
		||||
        /// global chart type.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public ChartType ChartType
 | 
			
		||||
        {
 | 
			
		||||
            get { return _chartType; }
 | 
			
		||||
            set
 | 
			
		||||
            {
 | 
			
		||||
                if (!Enum.IsDefined(typeof(ChartType), value))
 | 
			
		||||
                    throw new InvalidEnumArgumentException("value", (int)value, typeof(ChartType));
 | 
			
		||||
 | 
			
		||||
                _chartType = value;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        internal ChartType _chartType;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the DataLabel of the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public DataLabel DataLabel
 | 
			
		||||
        {
 | 
			
		||||
            get { return _dataLabel ?? (_dataLabel = new DataLabel(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal DataLabel _dataLabel;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets whether the series has a DataLabel.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool HasDataLabel
 | 
			
		||||
        {
 | 
			
		||||
            get { return _hasDataLabel; }
 | 
			
		||||
            set { _hasDataLabel = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal bool _hasDataLabel;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the element count of the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public int Count
 | 
			
		||||
        {
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                return _seriesElements != null ? _seriesElements.Count : 0;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										78
									
								
								PrintPDF/PdfSharp.Charting/Charting/SeriesCollection.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								PrintPDF/PdfSharp.Charting/Charting/SeriesCollection.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// The collection of data series.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class SeriesCollection : DocumentObjectCollection
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the SeriesCollection class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal SeriesCollection()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the SeriesCollection class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal SeriesCollection(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets a series by its index.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Series this[int index]
 | 
			
		||||
        {
 | 
			
		||||
            get { return base[index] as Series; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new SeriesCollection Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (SeriesCollection)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a new series to the collection.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Series AddSeries()
 | 
			
		||||
        {
 | 
			
		||||
            Series series = new Series();
 | 
			
		||||
            // Initialize chart type for each new series.
 | 
			
		||||
            series._chartType = ((Chart)_parent)._type;
 | 
			
		||||
            Add(series);
 | 
			
		||||
            return series;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										93
									
								
								PrintPDF/PdfSharp.Charting/Charting/SeriesElements.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								PrintPDF/PdfSharp.Charting/Charting/SeriesElements.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the collection of the values in a data series.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class SeriesElements : DocumentObjectCollection
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the SeriesElements class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal SeriesElements()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the SeriesElements class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal SeriesElements(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets a point by its index.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new Point this[int index]
 | 
			
		||||
        {
 | 
			
		||||
            get { return (Point)base[index]; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new SeriesElements Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (SeriesElements)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a blank to the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void AddBlank()
 | 
			
		||||
        {
 | 
			
		||||
            base.Add(null);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a new point with a real value to the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Point Add(double value)
 | 
			
		||||
        {
 | 
			
		||||
            Point point = new Point(value);
 | 
			
		||||
            Add(point);
 | 
			
		||||
            return point;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds an array of new points with real values to the series.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void Add(params double[] values)
 | 
			
		||||
        {
 | 
			
		||||
            foreach (double val in values)
 | 
			
		||||
                Add(val);
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										95
									
								
								PrintPDF/PdfSharp.Charting/Charting/TickLabels.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								PrintPDF/PdfSharp.Charting/Charting/TickLabels.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the format of the label of each value on the axis.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class TickLabels : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the TickLabels class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public TickLabels()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the TickLabels class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal TickLabels(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new TickLabels Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (TickLabels)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            TickLabels tickLabels = (TickLabels)base.DeepCopy();
 | 
			
		||||
            if (tickLabels._font != null)
 | 
			
		||||
            {
 | 
			
		||||
                tickLabels._font = tickLabels._font.Clone();
 | 
			
		||||
                tickLabels._font._parent = tickLabels;
 | 
			
		||||
            }
 | 
			
		||||
            return tickLabels;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets or sets the label's number format.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string Format
 | 
			
		||||
        {
 | 
			
		||||
            get { return _format; }
 | 
			
		||||
            set { _format = value; }
 | 
			
		||||
        }
 | 
			
		||||
        internal string _format = String.Empty;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the font of the label.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public Font Font
 | 
			
		||||
        {
 | 
			
		||||
            get { return _font ?? (_font = new Font(this)); }
 | 
			
		||||
        }
 | 
			
		||||
        internal Font _font;
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										127
									
								
								PrintPDF/PdfSharp.Charting/Charting/XSeries.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								PrintPDF/PdfSharp.Charting/Charting/XSeries.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,127 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System.Collections;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents a series of data on the X-Axis.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class XSeries : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the XSeries class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XSeries()
 | 
			
		||||
        {
 | 
			
		||||
            _xSeriesElements = new XSeriesElements();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the xvalue at the specified index.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XValue this[int index]
 | 
			
		||||
        {
 | 
			
		||||
            get { return (XValue)_xSeriesElements[index]; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// The actual value container of the XSeries.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected XSeriesElements _xSeriesElements;
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new XSeries Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (XSeries)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Implements the deep copy of the object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        protected override object DeepCopy()
 | 
			
		||||
        {
 | 
			
		||||
            XSeries xSeries = (XSeries)base.DeepCopy();
 | 
			
		||||
            if (xSeries._xSeriesElements != null)
 | 
			
		||||
            {
 | 
			
		||||
                xSeries._xSeriesElements = xSeries._xSeriesElements.Clone();
 | 
			
		||||
                xSeries._xSeriesElements._parent = xSeries;
 | 
			
		||||
            }
 | 
			
		||||
            return xSeries;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a blank to the XSeries.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void AddBlank()
 | 
			
		||||
        {
 | 
			
		||||
            _xSeriesElements.AddBlank();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a value to the XSeries.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XValue Add(string value)
 | 
			
		||||
        {
 | 
			
		||||
            return _xSeriesElements.Add(value);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds an array of values to the XSeries.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void Add(params string[] values)
 | 
			
		||||
        {
 | 
			
		||||
            _xSeriesElements.Add(values);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the enumerator.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        public IEnumerator GetEnumerator()
 | 
			
		||||
        {
 | 
			
		||||
            return _xSeriesElements.GetEnumerator();
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region Properties
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets the number of xvalues actually contained in the xseries.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public int Count
 | 
			
		||||
        {
 | 
			
		||||
            get { return _xSeriesElements.Count; }
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										80
									
								
								PrintPDF/PdfSharp.Charting/Charting/XSeriesElements.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								PrintPDF/PdfSharp.Charting/Charting/XSeriesElements.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the collection of the value in an XSeries.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class XSeriesElements : DocumentObjectCollection
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the XSeriesElements class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XSeriesElements()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new XSeriesElements Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (XSeriesElements)base.DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a blank to the XSeries.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void AddBlank()
 | 
			
		||||
        {
 | 
			
		||||
            base.Add(null);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a value to the XSeries.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XValue Add(string value)
 | 
			
		||||
        {
 | 
			
		||||
            XValue xValue = new XValue(value);
 | 
			
		||||
            Add(xValue);
 | 
			
		||||
            return xValue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds an array of values to the XSeries.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public void Add(params string[] values)
 | 
			
		||||
        {
 | 
			
		||||
            foreach (string val in values)
 | 
			
		||||
                Add(val);
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										72
									
								
								PrintPDF/PdfSharp.Charting/Charting/XValue.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								PrintPDF/PdfSharp.Charting/Charting/XValue.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the actual value on the XSeries.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class XValue : ChartObject
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the XValue class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal XValue()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the XValue class with the specified value.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XValue(string value)
 | 
			
		||||
            : this()
 | 
			
		||||
        {
 | 
			
		||||
            if (value == null)
 | 
			
		||||
                throw new ArgumentNullException("value");
 | 
			
		||||
 | 
			
		||||
            _value = value;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// The actual value of the XValue.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal string _value;
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new XValue Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (XValue)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										76
									
								
								PrintPDF/PdfSharp.Charting/Charting/XValues.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								PrintPDF/PdfSharp.Charting/Charting/XValues.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Represents the collection of values on the X-Axis.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class XValues : DocumentObjectCollection
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the XValues class.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XValues()
 | 
			
		||||
        { }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Initializes a new instance of the XValues class with the specified parent.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal XValues(DocumentObject parent) : base(parent) { }
 | 
			
		||||
 | 
			
		||||
        #region Methods
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates a deep copy of this object.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new XValues Clone()
 | 
			
		||||
        {
 | 
			
		||||
            return (XValues)DeepCopy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Gets an XSeries by its index.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public new XSeries this[int index]
 | 
			
		||||
        {
 | 
			
		||||
            get { return base[index] as XSeries; }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Adds a new XSeries to the collection.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public XSeries AddXSeries()
 | 
			
		||||
        {
 | 
			
		||||
            XSeries xSeries = new XSeries();
 | 
			
		||||
            Add(xSeries);
 | 
			
		||||
            return xSeries;
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										52
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/BlankType.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/BlankType.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Determines how null values will be handled in a chart.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum BlankType
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Null value is not plotted.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        NotPlotted,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Null value will be interpolated.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Interpolated,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Null value will be handled as zero.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Zero
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										77
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/ChartType.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/ChartType.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Specifies with type of chart will be drawn.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum ChartType
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// A line chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Line,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// A clustered 2d column chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Column2D,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// A stacked 2d column chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        ColumnStacked2D,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// A 2d area chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Area2D,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// A clustered 2d bar chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Bar2D,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// A stacked 2d bar chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        BarStacked2D,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// A 2d pie chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Pie2D,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// An exploded 2d pie chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        PieExploded2D,
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,57 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Determines where the data label will be positioned.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum DataLabelPosition
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// DataLabel will be centered inside the bar or pie.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Center,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Inside the bar or pie at the origin.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        InsideBase,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Inside the bar or pie at the edge.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        InsideEnd,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Outside the bar or pie.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        OutsideEnd
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										52
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/DataLabelType.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/DataLabelType.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Determines the type of the data label.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum DataLabelType
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// No DataLabel.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        None,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Percentage of the data. For pie charts only.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Percent,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Value of the data.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Value
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										54
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/DockingType.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/DockingType.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Specifies the legend's position inside the chart.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum DockingType
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Above the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Top,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Below the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Bottom,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Left from the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Left,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Right from the chart.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Right
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										52
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/FontProperties.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/FontProperties.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Specifies the properties for the font.
 | 
			
		||||
    /// FOR INTERNAL USE ONLY.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    [Flags]
 | 
			
		||||
    enum FontProperties
 | 
			
		||||
    {
 | 
			
		||||
        None = 0x0000,
 | 
			
		||||
        Name = 0x0001,
 | 
			
		||||
        Size = 0x0002,
 | 
			
		||||
        Bold = 0x0004,
 | 
			
		||||
        Italic = 0x0008,
 | 
			
		||||
        Underline = 0x0010,
 | 
			
		||||
        Color = 0x0020,
 | 
			
		||||
        Border = 0x0040,
 | 
			
		||||
        Superscript = 0x0080,
 | 
			
		||||
        Subscript = 0x0100,
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,52 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Used to determine the horizontal alignment of the axis title.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum HorizontalAlignment
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Axis title will be left aligned.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Left,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Axis title will be right aligned.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Right,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Axis title will be centered.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Center
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/LineStyle.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/LineStyle.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Specifies the line style of the LineFormat object.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum LineStyle
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Single
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										78
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/MarkerStyle.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/MarkerStyle.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Symbols of a data point in a line chart.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum MarkerStyle
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        None,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Circle,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Dash,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Diamond,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Dot,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Plus,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Square,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Star,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Triangle,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        X
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										57
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/TickMarkType.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/TickMarkType.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Determines the position where the Tickmarks will be rendered.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum TickMarkType
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Tickmarks are not rendered.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        None,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Tickmarks are rendered inside the plot area.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Inside,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Tickmarks are rendered outside the plot area.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Outside,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Tickmarks are rendered inside and outside the plot area.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Cross
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										66
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/Underline.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								PrintPDF/PdfSharp.Charting/Charting/enums/Underline.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Specifies the underline type for the font.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum Underline
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        None,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Single,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Words,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Dotted,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Dash,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        DotDash,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        DotDotDash,
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,52 @@
 | 
			
		||||
#region PDFsharp Charting - A .NET charting library based on PDFsharp
 | 
			
		||||
//
 | 
			
		||||
// Authors:
 | 
			
		||||
//   Niklas Schneider
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
 | 
			
		||||
//
 | 
			
		||||
// http://www.pdfsharp.com
 | 
			
		||||
// http://sourceforge.net/projects/pdfsharp
 | 
			
		||||
//
 | 
			
		||||
// Permission is hereby granted, free of charge, to any person obtaining a
 | 
			
		||||
// copy of this software and associated documentation files (the "Software"),
 | 
			
		||||
// to deal in the Software without restriction, including without limitation
 | 
			
		||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
			
		||||
// and/or sell copies of the Software, and to permit persons to whom the
 | 
			
		||||
// Software is furnished to do so, subject to the following conditions:
 | 
			
		||||
//
 | 
			
		||||
// The above copyright notice and this permission notice shall be included
 | 
			
		||||
// in all copies or substantial portions of the Software.
 | 
			
		||||
//
 | 
			
		||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 | 
			
		||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 | 
			
		||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 | 
			
		||||
// DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#endregion
 | 
			
		||||
 | 
			
		||||
namespace PdfSharp.Charting
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Used to determine the vertical alignment of the axis title.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum VerticalAlignment
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Axis title will be top aligned.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Top,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Axis title will be centered.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Center,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Axis title will be bottom aligned.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        Bottom
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user