Path Modification

To convert the current path to one that describes the envelope of a geometric wide line, use GpiModifyPath. The current geometric line attributes are then applied to the figures within the path. The line end, line join, and geometric line width attributes all must be set before modify-path or stroke-path operations begin, because it is during those times that the attributes are applied. Cosmetic line attributes of width and type have no effect on geometric lines.

GpiModifyPath accepts the path identifier (which must be 1) and the modification option MPATH_STROKE as input.

Subsequently, the modified path can be filled to display the geometric wide line, but only in winding mode. Alternatively, the modified path can be converted into a clip path, but again, only in winding mode.

Open figures within the path are not closed automatically. Figures not explicitly closed with GpiCloseFigure are drawn with line ends rather than line joins at their start and end points. If the figures within the path overlap, the geometric width envelope compensates so that the overlap portion is not drawn blank in XOR or exclusive-OR mode.

Now the geometric lines can be scaled.

Note: The current transforms are applied to the primitives inside a path bracket when the path is defined. This binds the path definition in device coordinates at that time. The path is unaffected by subsequent transformations, except for those (such as scaling) that affect the width of geometric (wide) lines. Since the geometric line width attribute is not applied until the path is converted into a wide line by GpiModifyPath or GpiStrokePath, the width of geometric lines is unaffected by earlier transformations directed at the path definition.

After creating a path bracket, geometric wide lines can be constructed by either:

GpiStrokePath is slightly more efficient, but GpiModifyPath and GpiFillPath offer more flexibility (by way of the fill options). After drawing the lines no alterations can be made.


[Back: Paths in Winding Mode]
[Next: Path-Stroking]