grobX: Create a Unit Describing a Grob Boundary Location
Description
These functions create a unit object describing a location somewhere
on the boundary of
a grob. They are generic.
Usage
grobX(x, theta)
grobY(x, theta)
Arguments
x
A grob, or gList, or gTree, or gPath.
theta
An angle indicating where the location is
on the grob boundary. Can be one of "east",
"north", "west", or "south",
which correspond to angles 0, 90, 180, and 270,
respectively.
Value
A unit object.
Details
The angle is anti-clockwise with zero corresponding to a line
with an origin centred between the extreme
points of the shape, and pointing at 3 o'clock. If the grob describes a single shape, the boundary value should
correspond to the exact edge of the shape. If the grob describes multiple shapes, the boundary
value will either correspond to the edge of a bounding box around all of
the shapes described by the grob (for multiple rectangles, circles,
xsplines, or text), or to a
convex hull around all vertices of all shapes described by the grob
(for multiple polygons, points, lines, polylines,
and segments). Points grobs are currently a special case because the convex hull
is based on the data symbol locations and does not take
into account the extent of the data symbols themselves. The extents of any arrow heads are currently not taken into account.