#if TEST_MSAGL
using System;
using Microsoft.Msagl.Core.Geometry.Curves;
using System.Diagnostics.CodeAnalysis;
namespace Microsoft.Msagl.DebugHelpers {
///
///
[Serializable]
public class DebugCurve : DebugShape {
///
/// color transparency
///
public byte Transparency { get; set; }
double width = 1;
///
///
public ICurve Curve { get; set; }
///
///
public double Width {
get { return width; }
set { width = value; }
}
///
///
///
///
///
///
///
public DebugCurve(byte transparency, double width, string color, ICurve curve, object id)
: this(width, color, curve, id) {
Transparency = transparency;
}
///
///
///
///
///
///
///
public DebugCurve(byte transparency, double width, string color, ICurve curve, double [] dashArray)
: this(width, color, curve, null) {
Transparency = transparency;
DashArray = dashArray;
}
///
///
///
///
///
///
public DebugCurve(byte transparency, double width, string color, ICurve curve)
: this(width, color, curve, null)
{
Transparency = transparency;
}
///
///
///
///
///
///
///
public DebugCurve(byte transparency, double width, string color, string fillColor, ICurve curve)
: this(width, color, fillColor, curve, null) {
Transparency = transparency;
}
///
///
///
///
///
public DebugCurve(double width, string color, ICurve curve):this(width,color,curve,null)
{
}
///
///
///
///
///
///
public DebugCurve(double width, string color, ICurve curve, object id) {
Transparency = 255;
Width = width;
Color = color;
Curve = curve;
Label = id;
}
///
///
///
///
///
///
///
public DebugCurve(double width, string color,string fillColor, ICurve curve, object id): this(width, color, curve, null) {
FillColor = fillColor;
}
///
///
public object Label { get; set; }
///
///
///
///
public DebugCurve(string color, ICurve curve):this(1, color, curve, null){}
///
///
///
///
public DebugCurve(double pen, ICurve curve) : this(pen, "black", curve, null){}
///
///
///
///
public DebugCurve(ICurve curve, object id) : this(1, "black", curve, id) { }
///
///
///
///
///
public DebugCurve(string color, ICurve curve, object id) : this(1, color, curve, id) { }
///
///
///
public DebugCurve(ICurve curve) : this(1, "black", curve, null) { }
///
/// color strings for debugging
///
[SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly")]
public static readonly string[] Colors = {
"DeepSkyBlue", "IndianRed", "Orange", "Gold", "DarkRed", "Plum",
"Red", "Violet", "Indigo", "Yellow", "OrangeRed", "Tomato", "Purple"
, "SaddleBrown", "Green", "Navy", "Aqua", "Pink", "Bisque", "Black",
"BlanchedAlmond", "Blue", "BlueViolet", "Brown", "Lime", "BurlyWood"
, "Chocolate", "Coral", "CornflowerBlue", "Cornsilk", "Crimson",
"Cyan", "CadetBlue", "Chartreuse", "DarkBlue", "DarkCyan",
"DarkGoldenrod", "DarkGray", "DarkGreen", "DarkKhaki", "DarkMagenta"
, "DarkOliveGreen", "DarkOrange", "DarkOrchid", "DarkSalmon",
"DarkSeaGreen", "DarkSlateBlue", "DarkSlateGray", "DarkTurquoise",
"DarkViolet", "DeepPink", "DimGray", "DodgerBlue", "Firebrick",
"FloralWhite", "ForestGreen", "Fuchsia", "CodeAnalysis", "Gainsboro"
, "GhostWhite", "Goldenrod", "Gray", "GreenYellow", "Honeydew",
"HotPink", "Ivory", "Lavender", "LavenderBlush", "LawnGreen",
"LemonChiffon", "LightBlue", "LightCoral", "LightCyan",
"LightGoldenrodYellow", "LightGray", "LightGreen", "LightPink",
"LightSalmon", "LightSeaGreen", "LightSkyBlue", "LightSlateGray",
"LightSteelBlue", "LightYellow", "LimeGreen", "Linen", "Magenta",
"Maroon", "MediumAquamarine", "MediumBlue", "MediumOrchid",
"MediumPurple", "MediumSeaGreen", "MediumSlateBlue",
"MediumSpringGreen", "MediumTurquoise", "MediumVioletRed",
"MidnightBlue", "MintCream", "MistyRose", "Moccasin", "NavajoWhite",
"OldLace", "Olive", "OliveDrab", "Orchid", "PaleGoldenrod",
"PaleGreen", "PaleTurquoise", "PaleVioletRed", "PapayaWhip",
"PeachPuff", "Peru", "PowderBlue", "RosyBrown", "RoyalBlue",
"Salmon", "SandyBrown", "SeaGreen", "CodeAnalysis", "SeaShell",
"Sienna", "Silver", "SkyBlue", "SlateBlue", "SlateGray", "Snow",
"SpringGreen", "SteelBlue", "Tan", "Teal", "Thistle", "Transparent",
"Turquoise", "Aquamarine", "Azure", "Beige", "Wheat", "White",
"WhiteSmoke", "YellowGreen", "Khaki", "AntiqueWhite"
};
///
/// the pattern of dashes
///
public double [] DashArray;
}
}
#endif