When typing block
in front of any arrow definition, it will become
a block arrow. The label of a block arrow is displayed inside it.
In addition to the attributes above, block arrows also have fill and shadow
attributes, similar to entities.
All arrowheads explained above for regular arrows are supported, except the
double
and triple
ones. In general, types with empty
in
them, draws a variant of the arrowhead which is not taller that the body of the
block arrow. The ones with line
draw the same as the ones without.
Three additional types ‘empty_inv’, ‘stripes’ and
‘triangle_stripes’ types are supported, as well.
See the example below for a detailed list of all types supported for block arrows.
![]() | ![]() |
If the arrow has multiple segments and the type of the inner arrowheads is
either of half
, line
, empty
, solid
or sharp
the block arrow is split into multiple smaller arrows. In this case the arrow
label is placed into the leftmost, rightmost or middle one of the smaller
arrows, depending on the value of the text.ident
attribute.
It is also possible to use different arrow symbols leading to different line types, but only if the middle arrow type is such that the arrow is split into multiple contours. If not, the whole arrow is drawn with the line type of the first segment.
Block arrows do not accept the arrow.skiptype
attribute and are not
impacted by setting the aline.*
, atext.*
or the arrow
attribute of their source entity. However, they can be slanted using the angle
attribute.