private void ExecutePathCurveToAbs(XmlElement element, Collection<IPath> paths)
{
Hashtable arguments = new Hashtable();
foreach (XmlAttribute attribute in element.Attributes)
{
if (attribute.Name == "controlPointEnd")
arguments["controlPointEnd"] = Variables.GetValue<PointD>(attribute);
else if (attribute.Name == "controlPointStart")
arguments["controlPointStart"] = Variables.GetValue<PointD>(attribute);
else if (attribute.Name == "end")
arguments["end"] = Variables.GetValue<PointD>(attribute);
else if (attribute.Name == "x")
arguments["x"] = Variables.GetValue<double>(attribute);
else if (attribute.Name == "x1")
arguments["x1"] = Variables.GetValue<double>(attribute);
else if (attribute.Name == "x2")
arguments["x2"] = Variables.GetValue<double>(attribute);
else if (attribute.Name == "y")
arguments["y"] = Variables.GetValue<double>(attribute);
else if (attribute.Name == "y1")
arguments["y1"] = Variables.GetValue<double>(attribute);
else if (attribute.Name == "y2")
arguments["y2"] = Variables.GetValue<double>(attribute);
}
if (OnlyContains(arguments, "controlPointStart", "controlPointEnd", "end"))
paths.Add(new PathCurveToAbs((PointD)arguments["controlPointStart"], (PointD)arguments["controlPointEnd"], (PointD)arguments["end"]));
else if (OnlyContains(arguments, "x1", "y1", "x2", "y2", "x", "y"))
paths.Add(new PathCurveToAbs((double)arguments["x1"], (double)arguments["y1"], (double)arguments["x2"], (double)arguments["y2"], (double)arguments["x"], (double)arguments["y"]));
else
throw new ArgumentException("Invalid argument combination for 'curveToAbs', allowed combinations are: [controlPointStart, controlPointEnd, end] [x1, y1, x2, y2, x, y]");
}
private void ExecutePathCurveToRel(XmlElement element, Collection<IPath> paths)