\HeaderA{xDetails}{Boundary of a grid grob}{xDetails}
\aliasA{yDetails}{xDetails}{yDetails}
\keyword{dplot}{xDetails}
\begin{Description}\relax
These generic functions are used to determine a location
on the boundary of a grid grob.
\end{Description}
\begin{Usage}
\begin{verbatim}
xDetails(x, theta)
yDetails(x, theta)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] A grid grob. 
\item[\code{theta}] A numeric angle, in degrees, measured
anti-clockwise from the 3 o'clock \emph{or} one of
the following character strings: \code{"north"},
\code{"east"}, \code{"west"}, \code{"south"}.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The location on the grob boundary is determined by taking
a line from the centre of the grob at the angle \code{theta}
and intersecting it with the convex hull of the grob
(for the basic
grob primitives, the centre is
determined as half way between the minimum and maximum values
in x and y directions).

These functions are called in the calculation of
\code{"grobx"} and \code{"groby"} units as produced by
the \code{grobX} and \code{grobY} functions.
Methods should be written for classes derived from grob or gTree
where the boundary of the grob can be determined.
\end{Details}
\begin{Value}
A unit object.
\end{Value}
\begin{Author}\relax
Paul Murrell
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{grobX}{grobX}},
\code{\LinkA{grobY}{grobY}}.
\end{SeeAlso}

