Initializes a new instance of the Shape class with the specified outline formula and id.
Namespace: MindFusion.Diagramming
Package: MindFusion.Diagramming
C# Copy Code |
---|
public Shape ( |
Visual Basic Copy Code |
---|
Public New ( _ |
A string containing the formula that defines the shape.
The string identifier of the new shape.
Shape formulas are small scripts that call one of the following functions to add graphics to the shape:
Function | Description |
---|---|
MoveTo (x,y) | Moves the current position to the specified point without drawing. |
LineTo (x,y) | Draws a line from the current position to the specified point. |
BezierTo (x1,y1,x2,y2,x3,y3) | Draws a Bezier curve from the current position to (x3,y3) using (x1,y1) and (x2,y2) as control points. |
ArcTo (x,y,largeArc,clockwiseArc,rx,ry) | Draws an arc from the specified point to (x,y) where rx and ry are the ellipse radiuses and the arc flags are boolean values specifying which of the four possible arcs to draw. |
Each of them starts drawing from the current position and changes the current position to their point argument after drawing. In addition, the scripts can access the current size of the node through the Width and Height variables.
This sample creates an arrow shape with fixed shaft width and arrowhead length, which will still shrink when the node gets small due to the Min calls.
C# Copy Code |
---|
string outline = @" my = Height / 2; ah = Min(10, Height / 4); aw = Min(20, Width / 2); MoveTo(0, my - ah); LineTo(Width - aw, my - ah); LineTo(Width - aw, 0); LineTo(Width, my); LineTo(Width - aw, Height); LineTo(Width - aw, my + ah); LineTo(0, my + ah); "; Shape shape = new Shape(outline, "my shape"); |