public VectorInkBuilder() { BrushPolygon bp4 = new BrushPolygon(0.0f, VectorBrushFactory.CreateEllipseBrush(4, 1.0f, 1.0f)); BrushPolygon bp8 = new BrushPolygon(2.0f, VectorBrushFactory.CreateEllipseBrush(8, 1.0f, 1.0f)); BrushPolygon bp16 = new BrushPolygon(6.0f, VectorBrushFactory.CreateEllipseBrush(16, 1.0f, 1.0f)); BrushPolygon bp32 = new BrushPolygon(18.0f, VectorBrushFactory.CreateEllipseBrush(32, 1.0f, 1.0f)); mBrush = new VectorBrush(bp4, bp8, bp16, bp32); }
public static List <Vector2> ResolveShape(string shapeUri) { var uriSplit = shapeUri.Split('?'); var type = uriSplit[0]; var arguments = uriSplit[1].Split('&'); if (type == CommonShapeURIs.Ellipse.Uri) { //E.g. will://brush/3.0/shape/Ellipse?precision=20&radiusX=1.0&radiusY=1.0 int precision = 20; float radiusX = 1.0f; float radiusY = 0.5f; foreach (var arg in arguments) { string[] split = arg.Split('='); if (split[0] == "precision") { bool res = int.TryParse(split[1], out int value); if (res) { precision = value; } } else if (split[0] == "radiusX") { bool res = float.TryParse(split[1], out float value); if (res) { radiusX = value; } } else if (split[0] == "radiusY") { bool res = float.TryParse(split[1], out float value); if (res) { radiusY = value; } } else { throw new NotSupportedException($"Argument '{split[0]}' not supported!"); } } return(VectorBrushFactory.CreateEllipseBrush(precision, radiusX, radiusY)); } else if (type == CommonShapeURIs.Circle.Uri) { //E.g. will://brush/3.0/shape/Circle?precision=20&radius=1.0 int precision = 20; float radius = 1.0f; foreach (var arg in arguments) { string[] split = arg.Split('='); if (split[0] == "precision") { bool res = int.TryParse(split[1], out int value); if (res) { precision = value; } } else if (split[0] == "radius") { bool res = float.TryParse(split[1], out float value); if (res) { radius = value; } } else { throw new NotSupportedException($"Argument '{split[0]}' not supported!"); } } return(VectorBrushFactory.CreateEllipseBrush(precision, radius, radius)); } else { throw new NotSupportedException($"Unknown shape URI: {type}"); } }