Added new tech tree layout implementation using Microsoft Automatic Graph Layouts Added some functionality to the database editor tools
188 lines
8.4 KiB
C#
188 lines
8.4 KiB
C#
#if TEST_MSAGL
|
|
using System;
|
|
using Microsoft.Msagl.Core.Geometry.Curves;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
|
|
namespace Microsoft.Msagl.DebugHelpers {
|
|
///<summary>
|
|
///</summary>
|
|
[Serializable]
|
|
public class DebugCurve : DebugShape {
|
|
/// <summary>
|
|
/// color transparency
|
|
/// </summary>
|
|
public byte Transparency { get; set; }
|
|
|
|
double width = 1;
|
|
|
|
///<summary>
|
|
///</summary>
|
|
public ICurve Curve { get; set; }
|
|
|
|
///<summary>
|
|
///</summary>
|
|
public double Width {
|
|
get { return width; }
|
|
set { width = value; }
|
|
}
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="transparency"></param>
|
|
///<param name="width"></param>
|
|
///<param name="curve"></param>
|
|
///<param name="color"></param>
|
|
///<param name="id"></param>
|
|
public DebugCurve(byte transparency, double width, string color, ICurve curve, object id)
|
|
: this(width, color, curve, id) {
|
|
Transparency = transparency;
|
|
}
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="transparency"></param>
|
|
///<param name="width"></param>
|
|
///<param name="curve"></param>
|
|
///<param name="color"></param>
|
|
///<param name="dashArray"></param>
|
|
public DebugCurve(byte transparency, double width, string color, ICurve curve, double [] dashArray)
|
|
: this(width, color, curve, null) {
|
|
Transparency = transparency;
|
|
DashArray = dashArray;
|
|
}
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="transparency"></param>
|
|
///<param name="width"></param>
|
|
///<param name="curve"></param>
|
|
///<param name="color"></param>
|
|
public DebugCurve(byte transparency, double width, string color, ICurve curve)
|
|
: this(width, color, curve, null)
|
|
{
|
|
Transparency = transparency;
|
|
}
|
|
/// <summary>
|
|
/// </summary>
|
|
/// <param name="transparency"></param>
|
|
/// <param name="width"></param>
|
|
/// <param name="color"></param>
|
|
/// <param name="fillColor"></param>
|
|
/// <param name="curve"></param>
|
|
public DebugCurve(byte transparency, double width, string color, string fillColor, ICurve curve)
|
|
: this(width, color, fillColor, curve, null) {
|
|
Transparency = transparency;
|
|
}
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="width"></param>
|
|
///<param name="color"></param>
|
|
///<param name="curve"></param>
|
|
public DebugCurve(double width, string color, ICurve curve):this(width,color,curve,null)
|
|
{
|
|
|
|
}
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="width"></param>
|
|
///<param name="color"></param>
|
|
///<param name="curve"></param>
|
|
///<param name="id"></param>
|
|
public DebugCurve(double width, string color, ICurve curve, object id) {
|
|
Transparency = 255;
|
|
Width = width;
|
|
Color = color;
|
|
Curve = curve;
|
|
Label = id;
|
|
}
|
|
/// <summary>
|
|
/// </summary>
|
|
/// <param name="width"></param>
|
|
/// <param name="color"></param>
|
|
/// <param name="fillColor"></param>
|
|
/// <param name="curve"></param>
|
|
/// <param name="id"></param>
|
|
public DebugCurve(double width, string color,string fillColor, ICurve curve, object id): this(width, color, curve, null) {
|
|
FillColor = fillColor;
|
|
}
|
|
|
|
///<summary>
|
|
///</summary>
|
|
public object Label { get; set; }
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="curve"></param>
|
|
///<param name="color"></param>
|
|
public DebugCurve(string color, ICurve curve):this(1, color, curve, null){}
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="curve"></param>
|
|
///<param name="pen"></param>
|
|
public DebugCurve(double pen, ICurve curve) : this(pen, "black", curve, null){}
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="curve"></param>
|
|
///<param name="id"></param>
|
|
public DebugCurve(ICurve curve, object id) : this(1, "black", curve, id) { }
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="color"></param>
|
|
///<param name="curve"></param>
|
|
///<param name="id"></param>
|
|
public DebugCurve(string color, ICurve curve, object id) : this(1, color, curve, id) { }
|
|
|
|
|
|
///<summary>
|
|
///</summary>
|
|
///<param name="curve"></param>
|
|
public DebugCurve(ICurve curve) : this(1, "black", curve, null) { }
|
|
|
|
/// <summary>
|
|
/// color strings for debugging
|
|
/// </summary>
|
|
[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"
|
|
};
|
|
|
|
///<summary>
|
|
/// the pattern of dashes
|
|
///</summary>
|
|
public double [] DashArray;
|
|
}
|
|
|
|
}
|
|
#endif
|