libs-gui/Documentation/gsdoc/NSLayoutManager.gsdoc
Adam Fedor 8cd9572170 Version 0.7.9
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14167 72102866-910b-0410-8b05-ffd578937521
2002-07-17 14:06:33 +00:00

1313 lines
44 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 0.6.7//EN" "http://www.gnustep.org/gsdoc-0_6_7.xml">
<gsdoc base="NSLayoutManager" up="Gui">
<head>
<title>NSLayoutManager</title>
<author name="Jonathan Gapen">
<email address="jagapen@smithlab.chem.wisc.edu">
jagapen@smithlab.chem.wisc.edu
</email>
</author>
<author name="Michael Hanni">
<email address="mhanni@sprintmail.com">
mhanni@sprintmail.com
</email>
</author>
<author name="Richard Frith-Macdonald">
<email address="rfm@gnu.org">
rfm@gnu.org
</email>
</author>
<abstract>The text layout manager class</abstract>
<copy>1999 Free Software Foundation, Inc.</copy>
</head>
<body>
<front><contents /></front>
<chapter>
<heading>
Software documentation for the NSLayoutManager class
</heading>
<class name="NSLayoutManager" super="NSObject">
<declared>AppKit/NSLayoutManager.h</declared>
<desc>
<p>
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.
</p>
<p>
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.
</p>
<p>
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.
</p>
</desc>
<ivariable type="" name="_backgroundLayout">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_beganEditing">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_cachedFont">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_cachedFontCharRange">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_cachedLocation">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_cachedLocationGlyphIndex">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_cachedLocationNominalGlyphRange">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_cachedRectArray">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_cachedRectArrayCapacity">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_chunkIndex">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_currentGlyphs">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_deferredDisplayCharRange">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_delegate">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_displayInvalidationDisableStack">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_extraLineFragmentContainer">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_extraLineFragmentRect">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_extraLineFragmentUsedRect">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_finished">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_firstTextView">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_firstUnlaidCharIndex">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_firstUnlaidGlyphIndex">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_glyphBuffer">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_glyphBufferSize">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_glyphData">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_glyphGaps">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_glyphGenerator">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_glyphIndex">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_glyphOffset">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_hyphenationFactor">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_isSynchronizingDelegates">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_isSynchronizingFlags">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_newlyFilledGlyphRange">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_showsControlChars">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_showsInvisibleChars">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_textContainers">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_textContainersCount">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_textStorage">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_textViewResizeDisableStack">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_typesetter">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<ivariable type="" name="_usesScreenFonts">
<desc>
<em>Description forthcoming.</em>
</desc>
</ivariable>
<method type="void">
<sel>addTextContainer:</sel>
<arg type="NSTextContainer*">obj</arg>
<desc>
Adds a container to the layout manager.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="BOOL">
<sel>backgroundLayoutEnabled</sel>
<desc>
Returns flag to say if text should get laid out in
the background when the run lopp is idle.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRect">
<sel>boundingRectForGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<sel>inTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="unsigned">
<sel>characterIndexForGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
Returns the character index for the specified
<var>glyphIndex</var>. <br /> If there are
invalidated ranges (gaps) in the glyph stream
before <var>glyphIndex</var>, this will cause glyph
generation to fill them.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRange">
<sel>characterRangeForGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<sel>actualGlyphRange:</sel>
<arg type="NSRange*">actualGlyphRange</arg>
<desc>
Returns the range of characters that generated the
glyphs in <var>glyphRange</var>. Sets
<var>actualGlyphRange</var> (if non-nul) to the range
of glyphs generated by those characters.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="id">
<sel>delegate</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>deleteGlyphsInRange:</sel>
<arg type="NSRange">aRange</arg>
<desc>
Removes all the glyphs in <var>aRange</var> from
the glyph stream, causing all subsequent glyphs to have
their index decreased by <var>aRange</var>.length
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="BOOL">
<sel>drawsOutsideLineFragmentForGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRect">
<sel>extraLineFragmentRect</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSTextContainer*">
<sel>extraLineFragmentTextContainer</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRect">
<sel>extraLineFragmentUsedRect</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="unsigned">
<sel>firstUnlaidCharacterIndex</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="unsigned">
<sel>firstUnlaidGlyphIndex</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>getFirstUnlaidCharacterIndex:</sel>
<arg type="unsigned*">charIndex</arg>
<sel>glyphIndex:</sel>
<arg type="unsigned*">glyphIndex</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="unsigned">
<sel>getGlyphs:</sel>
<arg type="NSGlyph*">glyphArray</arg>
<sel>range:</sel>
<arg type="NSRange">glyphRange</arg>
<desc>
This returns a nul terminated array of glyphs... so
<var>glyphArray</var> should contain space for
<var>glyphRange</var>.length+1 glyphs.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSGlyph">
<sel>glyphAtIndex:</sel>
<arg type="unsigned">index</arg>
<desc>
Returns the glyph at the specified <var>index</var>
. <br /> Causes any gaps (areas where glyphs have been
invalidated) before this <var>index</var> to
be re-filled. <br /> Raises an exception if the
<var>index</var> is out of range.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSGlyph">
<sel>glyphAtIndex:</sel>
<arg type="unsigned">index</arg>
<sel>isValidIndex:</sel>
<arg type="BOOL*">flag</arg>
<desc>
Returns the glyph at the specified <var>index</var>
. <br /> Causes any gaps (areas where glyphs have been
invalidated) before this <var>index</var> to
be re-filled. <br /> Sets the <var>flag</var> to
indicate whether the <var>index</var> was found...
if it wasn't the returned glyph is meaningless.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="unsigned">
<sel>glyphIndexForPoint:</sel>
<arg type="NSPoint">aPoint</arg>
<sel>inTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="unsigned">
<sel>glyphIndexForPoint:</sel>
<arg type="NSPoint">aPoint</arg>
<sel>inTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<sel>fractionOfDistanceThroughGlyph:</sel>
<arg type="float*">partialFraction</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRange">
<sel>glyphRangeForBoundingRect:</sel>
<arg type="NSRect">aRect</arg>
<sel>inTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRange">
<sel>glyphRangeForBoundingRectWithoutAdditionalLayout:</sel>
<arg type="NSRect">bounds</arg>
<sel>inTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRange">
<sel>glyphRangeForCharacterRange:</sel>
<arg type="NSRange">charRange</arg>
<sel>actualCharacterRange:</sel>
<arg type="NSRange*">actualCharRange</arg>
<desc>
Returns the range of glyphs that are generated from
the characters in <var>charRange</var>. Sets
<var>actualCharRange</var> (if non-nul) to the full
range of characters which generated those glyphs.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRange">
<sel>glyphRangeForTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="id" init="yes">
<sel>init</sel>
<desc>
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.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>insertGlyph:</sel>
<arg type="NSGlyph">aGlyph</arg>
<sel>atGlyphIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<sel>characterIndex:</sel>
<arg type="unsigned">charIndex</arg>
<desc>
Used by the internal glyph generation system to insert
<var>aGlyph</var> into the glyph stream athe the
specified <var>glyphIndex</var> and
<var>charIndex</var>. <br /> Invariants... <br /> a)
Glyph chunks are ordered sequentially from zero by
character index. <br /> b) Glyph chunks are
ordered sequentially from zero by glyph index.
<br /> c) Adjacent glyphs may share a character
index. <br />
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>insertTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<sel>atIndex:</sel>
<arg type="unsigned">index</arg>
<desc>
Inserts a new text container at <var>index</var>.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="int">
<sel>intAttribute:</sel>
<arg type="int">attribute</arg>
<sel>forGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
Returns the value for the <var>attribute</var> at
the <var>glyphIndex</var>.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>invalidateDisplayForCharacterRange:</sel>
<arg type="NSRange">aRange</arg>
<desc>
Causes redisplay of <var>aRange</var>, but does not
lose the alyout information.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>invalidateDisplayForGlyphRange:</sel>
<arg type="NSRange">aRange</arg>
<desc>
Causes redisplay of <var>aRange</var>, but does not
lose the alyout information.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>invalidateGlyphsForCharacterRange:</sel>
<arg type="NSRange">aRange</arg>
<sel>changeInLength:</sel>
<arg type="int">lengthChange</arg>
<sel>actualCharacterRange:</sel>
<arg type="NSRange*">actualRange</arg>
<desc>
This determines the glyph range corresponding to
<var>aRange</var> and marks the glyphs as invalid. It
adjusts the character locations of all glyphs
beyond this by <var>lengthChange</var>. It returns
the actual character range corresponding to the
invalidated glyphs if <var>actualRange</var> is
non-nul.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>invalidateLayoutForCharacterRange:</sel>
<arg type="NSRange">aRange</arg>
<sel>isSoft:</sel>
<arg type="BOOL">flag</arg>
<sel>actualCharacterRange:</sel>
<arg type="NSRange*">actualRange</arg>
<desc>
This invalidates glyph positions for all glyphs
corresponding to the specified character
range. <br /> If <var>flag</var> is <code>YES</code>
then the layout information needs to be redone from
scratch, but if it's <code>NO</code>, the layout
manager may try to optimise layout from the old
information. <br /> If <var>actualRange</var>
is non-nul, returns the actual range invalidated.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRect">
<sel>lineFragmentRectForGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<sel>effectiveRange:</sel>
<arg type="NSRange*">lineFragmentRange</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRect">
<sel>lineFragmentUsedRectForGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<sel>effectiveRange:</sel>
<arg type="NSRange*">lineFragmentRange</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSPoint">
<sel>locationForGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="BOOL">
<sel>notShownAttributeForGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="unsigned">
<sel>numberOfGlyphs</sel>
<desc>
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.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRange">
<sel>rangeOfNominallySpacedGlyphsContainingIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRect*">
<sel>rectArrayForCharacterRange:</sel>
<arg type="NSRange">charRange</arg>
<sel>withinSelectedCharacterRange:</sel>
<arg type="NSRange">selChareRange</arg>
<sel>inTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<sel>rectCount:</sel>
<arg type="unsigned*">rectCount</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRect*">
<sel>rectArrayForGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<sel>withinSelectedGlyphRange:</sel>
<arg type="NSRange">selectedGlyphRange</arg>
<sel>inTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<sel>rectCount:</sel>
<arg type="unsigned*">rectCount</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>removeTextContainerAtIndex:</sel>
<arg type="unsigned">index</arg>
<desc>
Removes the text container at <var>index</var>.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>replaceGlyphAtIndex:</sel>
<arg type="unsigned">index</arg>
<sel>withGlyph:</sel>
<arg type="NSGlyph">newGlyph</arg>
<desc>
Replaces the glyph at <var>index</var> with
<var>newGlyph</var> without changing character
<var>index</var> or other attributes.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>replaceTextStorage:</sel>
<arg type="NSTextStorage*">newTextStorage</arg>
<desc>
Replaces the test storage with a new one. <br />
Takes care (since layout managers are owned by text
storages) not to get self deallocated.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setAttachmentSize:</sel>
<arg type="NSSize">attachmentSize</arg>
<sel>forGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setBackgroundLayoutEnabled:</sel>
<arg type="BOOL">flag</arg>
<desc>
Sets <var>flag</var> to say if text should get laid
out in the background when the run lopp is idle.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setCharacterIndex:</sel>
<arg type="unsigned">charIndex</arg>
<sel>forGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
Sets the glyph at <var>glyphIndex</var> to correspond
to the character at <var>charIndex</var>.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setDelegate:</sel>
<arg type="id">aDelegate</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setDrawsOutsideLineFragment:</sel>
<arg type="BOOL">flag</arg>
<sel>forGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setExtraLineFragmentRect:</sel>
<arg type="NSRect">aRect</arg>
<sel>usedRect:</sel>
<arg type="NSRect">usedRect</arg>
<sel>textContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setIntAttribute:</sel>
<arg type="int">attribute</arg>
<sel>value:</sel>
<arg type="int">anInt</arg>
<sel>forGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
This method modifies the attributes of an existing
glyph at <var>glyphIndex</var>. It only deals with
the existing <var>attribute</var> types... if you
subclass and add new attributed, you must replace
this method with one which can store your new
attributes.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setLineFragmentRect:</sel>
<arg type="NSRect">fragmentRect</arg>
<sel>forGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<sel>usedRect:</sel>
<arg type="NSRect">usedRect</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setLocation:</sel>
<arg type="NSPoint">aPoint</arg>
<sel>forStartOfGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setNotShownAttribute:</sel>
<arg type="BOOL">flag</arg>
<sel>forGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setShowsControlCharacters:</sel>
<arg type="BOOL">flag</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setShowsInvisibleCharacters:</sel>
<arg type="BOOL">flag</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setTextContainer:</sel>
<arg type="NSTextContainer*">aTextContainer</arg>
<sel>forGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setTextStorage:</sel>
<arg type="NSTextStorage*">aTextStorage</arg>
<desc>
Sets the text storage for the layout manager. Use
<ref type="method" id="-replaceTextStorage:">
-replaceTextStorage:
</ref>
instead as a rule. - this method is really more for
internal use by the text system. Invalidates the
entire layout (should it]
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setUsesScreenFonts:</sel>
<arg type="BOOL">flag</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="BOOL">
<sel>showsControlCharacters</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="BOOL">
<sel>showsInvisibleCharacters</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSFont*">
<sel>substituteFontForFont:</sel>
<arg type="NSFont*">originalFont</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>textContainerChangedGeometry:</sel>
<arg type="NSTextContainer*">aContainer</arg>
<desc>
Invalidates the layout of all glyphs in
<var>aContainer</var> and all containers following
it.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>textContainerChangedTextView:</sel>
<arg type="NSTextContainer*">aContainer</arg>
<desc>
Notifies the layout manager that one of its text
containers has changed its view and an update of
the display is needed.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSTextContainer*">
<sel>textContainerForGlyphAtIndex:</sel>
<arg type="unsigned">glyphIndex</arg>
<sel>effectiveRange:</sel>
<arg type="NSRange*">effectiveRange</arg>
<desc>
Returns the text container in which the glyph at
<var>glyphIndex</var> is laid. If
<var>effectiveRange</var> is non-nul, returns the
range of all glyphs in the container.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSArray*">
<sel>textContainers</sel>
<desc>
Return the text containers
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSTextStorage*">
<sel>textStorage</sel>
<desc>
Returns the text storage for this layout manager.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>textStorage:</sel>
<arg type="NSTextStorage*">aTextStorage</arg>
<sel>edited:</sel>
<arg type="unsigned">mask</arg>
<sel>range:</sel>
<arg type="NSRange">newCharRange</arg>
<sel>changeInLength:</sel>
<arg type="int">lengthChange</arg>
<sel>invalidatedRange:</sel>
<arg type="NSRange">invalidatedRange</arg>
<desc>
This method is used to handle an editing change to
<var>aTextStorage</var>. The <var>mask</var> value
indicates whether characters or attribuytes or
both have changed. <br /> If characters have not
changed, the <var>lengthChange</var> argument is
ignored. <br /> The <var>newCharRange</var> is the
effected range currently in the storage, while
<var>invalidatedRange</var> is the original range
effected.
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSRect">
<sel>usedRectForTextContainer:</sel>
<arg type="NSTextContainer*">container</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="BOOL">
<sel>usesScreenFonts</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</class>
</chapter>
<chapter>
<heading>
Software documentation for the
NSLayoutManager(NSTextViewSupport)
category
</heading>
<category name="NSTextViewSupport" class="NSLayoutManager">
<declared>AppKit/NSLayoutManager.h</declared>
<desc>
<em>Description forthcoming.</em>
</desc>
<method type="unsigned">
<sel>_charIndexForInsertionPointMovingFromY:</sel>
<arg type="float">position</arg>
<sel>bestX:</sel>
<arg type="float">wanted</arg>
<sel>up:</sel>
<arg type="BOOL">upFlag</arg>
<sel>textContainer:</sel>
<arg type="NSTextContainer*">tc</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>drawBackgroundForGlyphRange:</sel>
<arg type="NSRange">glyphsToShow</arg>
<sel>atPoint:</sel>
<arg type="NSPoint">origin</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>drawGlyphsForGlyphRange:</sel>
<arg type="NSRange">glyphsToShow</arg>
<sel>atPoint:</sel>
<arg type="NSPoint">origin</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>drawUnderlineForGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<sel>underlineType:</sel>
<arg type="int">underlineVal</arg>
<sel>baselineOffset:</sel>
<arg type="float">baselineOffset</arg>
<sel>lineFragmentRect:</sel>
<arg type="NSRect">lineRect</arg>
<sel>lineFragmentGlyphRange:</sel>
<arg type="NSRange">lineGlyphRange</arg>
<sel>containerOrigin:</sel>
<arg type="NSPoint">containerOrigin</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSTextView*">
<sel>firstTextView</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="float">
<sel>hyphenationFactor</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="BOOL">
<sel>layoutManagerOwnsFirstResponderInWindow:</sel>
<arg type="NSWindow*">window</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSView*">
<sel>rulerAccessoryViewForTextView:</sel>
<arg type="NSTextView*">view</arg>
<sel>paragraphStyle:</sel>
<arg type="NSParagraphStyle*">style</arg>
<sel>ruler:</sel>
<arg type="NSRulerView*">ruler</arg>
<sel>enabled:</sel>
<arg type="BOOL">isEnabled</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSArray*">
<sel>rulerMarkersForTextView:</sel>
<arg type="NSTextView*">view</arg>
<sel>paragraphStyle:</sel>
<arg type="NSParagraphStyle*">style</arg>
<sel>ruler:</sel>
<arg type="NSRulerView*">ruler</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>setHyphenationFactor:</sel>
<arg type="float">factor</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="NSTextView*">
<sel>textViewForBeginningOfSelection</sel>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>underlineGlyphRange:</sel>
<arg type="NSRange">glyphRange</arg>
<sel>underlineType:</sel>
<arg type="int">underlineVal</arg>
<sel>lineFragmentRect:</sel>
<arg type="NSRect">lineRect</arg>
<sel>lineFragmentGlyphRange:</sel>
<arg type="NSRange">lineGlyphRange</arg>
<sel>containerOrigin:</sel>
<arg type="NSPoint">containerOrigin</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</category>
</chapter>
<chapter>
<heading>
Software documentation for the
NSObject(NSLayoutManagerDelegate)
informal protocol
</heading>
<category name="NSLayoutManagerDelegate" class="NSObject">
<declared>AppKit/NSLayoutManager.h</declared>
<desc>
<em>Description forthcoming.</em>
</desc>
<method type="void">
<sel>layoutManager:</sel>
<arg type="NSLayoutManager*">layoutManager</arg>
<sel>didCompleteLayoutForTextContainer:</sel>
<arg type="NSTextContainer*">textContainer</arg>
<sel>atEnd:</sel>
<arg type="BOOL">layoutFinishedFlag</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<method type="void">
<sel>layoutManagerDidInvalidateLayout:</sel>
<arg type="NSLayoutManager*">sender</arg>
<desc>
<em>Description forthcoming.</em>
</desc>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</method>
<standards>
<MacOS-X /> <OpenStep /> <GNUstep />
</standards>
</category>
</chapter>
</body>
</gsdoc>