| Entry | |
|---|---|
| R0 | Pointer to path block |
| R1 | Pointer to an output path block, or 0 to calculate size |
| R2 | Pointer to transformation matrix, or 0 for default |
| R3 | Flatness, or 0 for default |
| R4 | Line thickness, or 0 for default |
| R5 | Pointer to join/cap block, or 0 if none |
| R6 | Pointer to dash block, or 0 if none |
| Exit | |
|---|---|
| R0 | If R1 = 0, then calculated output buffer size, otherwise |
| Pointer to end of path marker in output path | |
| R1 | Preserved |
| R2 | Preserved |
| R3 | Preserved |
| R4 | Preserved |
| R5 | Preserved |
| R6 | Preserved |
The purpose of this call is to draw a path and write the output as a path in the block.
If thickness is zero, fill bits 3, 2 must not be 01.
If thickness is non-zero, fill bits 2-5 must not be 0110. i.e. Filling just the boundary pixels.
Draw_Stroke is similar to this call, however, it outputs the the screen rather than to a block.