cap |
[RW] |
The type of cap to put on the line.
:butt: | The stroke is squared off at the endpoint of the path. There is no
projection beyond the end of the path.
|
:round: | A semicircular arc with a diameter equal to the line width is drawn around
the endpoint and filled in.
|
:square: | The stroke continues beyond the endpoint of the path for a distance equal
to half the line width and is squared off.
|
nil: | Keeps the current line cap.
|
|
dash |
[RW] |
Controls the pattern of dashes and gaps used to stroke paths. This value
must either be nil, or a hash with the following values:
:pattern: | An array of numbers specifying the lengths (in PDF userspace units) of alternating dashes and
gaps. The array is processed cyclically, so that a :pattern of [3]
represents three units on, three units off, and a :pattern of
- 2, 1
- represents two units on, one unit off.
|
# - represents on, _ represents off
---___---___--- # pattern [3]
--_--_--_--_--_ # pattern [2, 1]
:phase: | The offset in the :pattern where the drawing of the stroke begins.
Using a :phase of 1, the :pattern [3] will start offset
by one phase, for two units on, three units off, three units on.
|
--___---___---_ # pattern [3], phase 1
-_--_--_--_--_- # pattern [2, 1], phase 1
The constant SOLID_LINE may be used to restore line drawing to a solid
line; this corresponds to an empty pattern with zero phase ([] 0).
Dashed lines wrap around curves and corners just as solid stroked lines do,
with normal cap and join handling with no consideration of the dash
pattern. A path with several subpaths treats each subpath independently;
the complete dash pattern is restarted at the beginning of each subpath.
|
join |
[RW] |
How two lines join together.
:miter: | The outer edges of the strokes for the two segments are extended until they
meet at an angle, as in a picture frame. If the segments meet at too sharp
an angle (as defined by the miter_limit), a bevel join is used instead.
|
:round: | An arc of a circle with a diameter equal to the line width is drawn around
the point where the two segments meet, connecting the outer edges of the
strokes for the two segments. This pie-slice shaped figure is filled in,
producing a rounded corner.
|
:bevel: | The two segments are finished with butt caps and the the resulting notch
beyond the ends of the segments is filled with a triangle, forming a
flattened edge on the join.
|
nil: | Keeps the current line join.
|
|
miter_limit |
[RW] |
When two line segments meet and :miter joins have been specified,
the miter may extend far beyond the thickness of the line stroking the
path. miter_limit imposes a maximum ratio miter length to line width at
which point the join will be converted from a miter to a bevel. Adobe
points out that the ratio is directly related to the angle between the
segments in user space. With [p] representing the angle at which the
segments meet:
miter_length / line_width == 1 / (sin ([p] / 2))
A miter limit of 1.414 converts miters to bevels for [p] less than 90
degrees, a limit of 2.0 converts them for [p] less than 60 degrees, and a
limit of 10.0 converts them for [p] less than approximately 11.5 degrees.
|
width |
[RW] |
The thickness of the line in PDF units.
|