jagapen@smithlab.chem.wisc.edu
)
mhanni@sprintmail.com
)
rfm@gnu.org
)The text layout manager class
Copyright: (C) 1999 Free Software Foundation, Inc.
- Declared in:
- AppKit/NSLayoutManager.h
Standards:
- MacOS-X
- OpenStep
- GNUstep
A layout manager handles layout and glyph management for a text storage. A glyph is a symbol draewn to a display, and while there is usually a one to one correspondence between glyphs and characters in the text storage, that is no always the case.
Sometimes a group of characters (a unicode composed character sequence) can represent a single glyph, sometimes a single unicode character is represented by multiple glyphs.
eg. The text storage may contain the unichar o-umlaut and the glyph stream could contain the two glyphs "o" and umlaut. In this case, we would have two glyphs, with different glyph indexes, both corresponding to a single character index.
Adds a container to the layout manager.
Returns flag to say if text should get laid out in the background when the run lopp is idle.
Description forthcoming.
Returns the character index for the specified
glyphIndex.
If there are
invalidated ranges (gaps) in the glyph stream
before glyphIndex, this will cause glyph
generation to fill them.
Returns the range of characters that generated the glyphs in glyphRange. Sets actualGlyphRange (if non-nul) to the range of glyphs generated by those characters.
Description forthcoming.
Removes all the glyphs in aRange from the glyph stream, causing all subsequent glyphs to have their index decreased by aRange.length
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
This returns a nul terminated array of glyphs... so glyphArray should contain space for glyphRange.length+1 glyphs.
Returns the glyph at the specified index
.
Causes any gaps (areas where glyphs have been
invalidated) before this index to
be re-filled.
Raises an exception if the
index is out of range.
Returns the glyph at the specified index
.
Causes any gaps (areas where glyphs have been
invalidated) before this index to
be re-filled.
Sets the flag to
indicate whether the index was found...
if it wasn't the returned glyph is meaningless.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Returns the range of glyphs that are generated from the characters in charRange. Sets actualCharRange (if non-nul) to the full range of characters which generated those glyphs.
Description forthcoming.
Sets up this instance. We should in future find a glyph generator and a typesetter to use with glyphs management, but for now we just set up the glyph storage.
Used by the internal glyph generation system to insert
aGlyph into the glyph stream athe the
specified glyphIndex and
charIndex.
Invariants...
a)
Glyph chunks are ordered sequentially from zero by
character index.
b) Glyph chunks are
ordered sequentially from zero by glyph index.
c) Adjacent glyphs may share a character
index.
Inserts a new text container at index.
Returns the value for the attribute at the glyphIndex.
Causes redisplay of aRange, but does not lose the alyout information.
Causes redisplay of aRange, but does not lose the alyout information.
This determines the glyph range corresponding to aRange and marks the glyphs as invalid. It adjusts the character locations of all glyphs beyond this by lengthChange. It returns the actual character range corresponding to the invalidated glyphs if actualRange is non-nul.
This invalidates glyph positions for all glyphs
corresponding to the specified character
range.
If flag is YES
then the layout information needs to be redone from
scratch, but if it's NO
, the layout
manager may try to optimise layout from the old
information.
If actualRange
is non-nul, returns the actual range invalidated.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Returns the number of glyphs in the glyph stream... causing generation of new glyphs to fill gaps and to extend the stream until all characters in the text storage have had glyphs generated.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Removes the text container at index.
Replaces the glyph at index with newGlyph without changing character index or other attributes.
Replaces the test storage with a new one.
Takes care (since layout managers are owned by text
storages) not to get self deallocated.
Description forthcoming.
Sets flag to say if text should get laid out in the background when the run lopp is idle.
Sets the glyph at glyphIndex to correspond to the character at charIndex.
Description forthcoming.
Description forthcoming.
Description forthcoming.
This method modifies the attributes of an existing glyph at glyphIndex. It only deals with the existing attribute types... if you subclass and add new attributed, you must replace this method with one which can store your new attributes.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Sets the text storage for the layout manager. Use -replaceTextStorage: instead as a rule. - this method is really more for internal use by the text system. Invalidates the entire layout (should it]
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Invalidates the layout of all glyphs in aContainer and all containers following it.
Notifies the layout manager that one of its text containers has changed its view and an update of the display is needed.
Returns the text container in which the glyph at glyphIndex is laid. If effectiveRange is non-nul, returns the range of all glyphs in the container.
Return the text containers
Returns the text storage for this layout manager.
This method is used to handle an editing change to
aTextStorage. The mask value
indicates whether characters or attribuytes or
both have changed.
If characters have not
changed, the lengthChange argument is
ignored.
The newCharRange is the
effected range currently in the storage, while
invalidatedRange is the original range
effected.
Description forthcoming.
Description forthcoming.
- Declared in:
- AppKit/NSLayoutManager.h
Standards:
- MacOS-X
- OpenStep
- GNUstep
Description forthcoming.
Method summaryDescription forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
Description forthcoming.
- Declared in:
- AppKit/NSLayoutManager.h
Standards:
- MacOS-X
- OpenStep
- GNUstep
Description forthcoming.
Method summaryDescription forthcoming.
Description forthcoming.