Icon decorator that implements the view interface. The
entire element is used to represent the icon. This acts
as a gateway from the display-only View implementations to
interactive lightweight icons (that is, it allows icons
to be embedded into the View hierarchy. The parent of the icon
is the container that is handed out by the associated view
factory.
Paints the icon.
The real paint behavior occurs naturally from the association
that the icon has with its parent container (the same
container hosting this view), so this simply allows us to
position the icon properly relative to the view. Since
the coordinate system for the view is simply the parent
containers, positioning the child icon is easy.
the span the view would like to be rendered into
Typically the view is told to render into the span
that is returned, although there is no guarantee.
The parent may choose to resize or break the view.
Determines the desired alignment for this view along an
axis. This is implemented to give the alignment to the
bottom of the icon along the y axis, and the default
along the x axis.
the desired alignment >= 0.0f && <= 1.0f. This should be
a value between 0.0 and 1.0 where 0 indicates alignment at the
origin and 1.0 indicates alignment to the full span
away from the origin. An alignment of 0.5 would be the
center of the view.
b - the bias toward the previous character or the
next character represented by the offset, in case the
position is a boundary of two views; b will have one
of these values:
Position.Bias.Forward
Position.Bias.Backward
Returns:
the bounding box of the given position
Throws:
BadLocationException - if the given position does not
represent a valid location in the associated document