Renders primitive shapes.

Details:

I have always wanted a graphics editor with BlackBox and never had the time to work on one. I developed a module named ShapesDraw, however, that could serve to render primitive shapes for the editor.

It exports the following procedures:

Arc, a 90 degree arc

RoundedRect, a rectangle with rounded corners

Arrow, an arrow with a solid shaft

PathArrow, an arrow with a hollow interior

Pie, a segment of a pie chart

Sin, an efficient computation of sine

Cos, an efficient computation of cosine

I think the arrow routines are particularly nice, as you can specify the exact shape of the arrowheads. You can even put them on either or both ends of a Bezier curve. Integer arithmetic is used for efficiency, and angles are specified to a precision of 1/64 of one degree. The module is well-documented. It has a suite of test programs including some with animation. The BlackBox system is particularly nice, as you get resolution-independent rendering for hardcopy output. Anyone is welcome to use the module as one of the building blocks of a BlackBox editor.

Author: Stan Warford

Published by: Anton Shelin