public static IElement Inside(XdShapeJson shape, ElementParameter parameter) { var strokeWidth = parameter.StrokeWidth ?? 1f; return(new GroupElement { Parameter = parameter, Children = new IElement[] { new EllipseElement { Parameter = new ElementParameter { EnableStroke = true, }, Cx = shape.Cx, Cy = shape.Cy, Rx = shape.Rx, Ry = shape.Ry, }, new EllipseElement { Parameter = new ElementParameter { EnableFill = true, }, Cx = shape.Cx, Cy = shape.Cy, Rx = shape.Rx - strokeWidth / 2f, Ry = shape.Ry - strokeWidth / 2f, }, } }); }
public static IElement Inside(XdShapeJson shape, ElementParameter parameter) { var strokeWidth = parameter.StrokeWidth ?? 1f; var rx = parameter.Rx; parameter.Rx = null; return(new GroupElement { Parameter = parameter, Children = new IElement[] { new RectElement { Parameter = new ElementParameter { EnableStroke = true, Rx = rx, }, Width = shape.Width, Height = shape.Height, }, new RectElement { Parameter = new ElementParameter { X = strokeWidth / 2f, Y = strokeWidth / 2f, EnableFill = true, Rx = rx - strokeWidth / 2f, }, Width = shape.Width - strokeWidth, Height = shape.Height - strokeWidth, }, } }); }
public static IElement Inside(XdShapeJson shape, ElementParameter parameter, float?shapeR) { var strokeWidth = parameter.StrokeWidth ?? 1f; return(new GroupElement { Parameter = parameter, Children = new IElement[] { new CircleElement { Parameter = new ElementParameter { EnableStroke = true, }, Cx = shape.Cx, Cy = shape.Cy, R = shapeR ?? 1f, }, new CircleElement { Parameter = new ElementParameter { EnableFill = true, }, Cx = shape.Cx, Cy = shape.Cy, R = (shapeR ?? 1f) - strokeWidth / 2f, }, } }); }
public static IElement Inside(XdShapeJson shape, ElementParameter parameter) { parameter.Rx = null; return(new GroupElement { Parameter = parameter, Children = new IElement[] { new PolygonElement { Parameter = new ElementParameter(), Points = shape.Points, }, } }); }