Answer the rectangle, defined in absolute coordinates, whose
intersection with the destinationForm is the area in which the characters
are constrained to display.
Answer the rectangle whose width is the dimension, modified by
indents and tabsLevels, against which line wraparound is measured. The
height of the compositionRectangle is reset each time recomposition is
required.
Answer the number of leading tabs in the line at lineIndex. If there are
no visible characters, pass the number of tabs to aBlock and return its value.
If the line is word-wrap overflow, back up a line and recur.
Replace the receiver's text starting at position start, stopping at stop, by
the characters in aText. It is expected that most requirements for
modifications to the receiver will call this code. Certainly all cut's or
paste's.
Set the alignment for the style with which the receiver displays its text
so that the characters in each of text end on an even border in the
composition rectangle.
Set the alignment for the style with which the receiver displays its text
so that the characters in each of text begin on an even border in the
composition rectangle. This is also known as ragged-right.
Set the alignment for the style with which the receiver displays its text
so that the characters in each of text end on an even border in the
composition rectangle but the beginning of each line does not. This is
also known as ragged-left.
Set the alignment for the style with which the receiver displays its text
so that it moves from centered to justified to leftFlush to rightFlush and
back to centered again.
Answer a CharacterBlock for characters in the text at point aPoint. It is
assumed that aPoint has been transformed into coordinates appropriate to
the receiver's destinationForm rectangle and the compositionRectangle.
Answer a CharacterBlock for character in the text at targetIndex. The
coordinates in the CharacterBlock will be appropriate to the intersection
of the destinationForm rectangle and the compositionRectangle.
Set the composition rectangle for the receiver so that the lines wrap
within the rectangle, compositionRect, and the display of the text is
clipped by the rectangle, clippingRect.
This is the first level workhorse in the display portion of the TextForm routines.
It checks to see which lines in the interval are actually visible, has the
CharacterScanner display only those, clears out the areas in which display will
occur, and clears any space remaining in the visibleRectangle following the space
occupied by lastLine.
Translate the composition rectangle up (dy<0) by heightToMove.
Repainting text as necessary, and selection if blocks not nil.
Return true unless scrolling limits have been reached.
Answer with an Array of two CharacterBlocks that represent the text
selection that the user makes. Return quickly if the button is noticed up
to make double-click more responsive.