InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITextParcelList Class Referenceabstract
Inheritance diagram for ITextParcelList:
IPMUnknown

Classes

class  const_iterator
 
class  const_reverse_iterator
 

Public Types

enum  { kDefaultIID = IID_ITEXTPARCELLIST }
 
enum  RecomposeResult {
  kRR_NothingToCompose, kRR_DamagedBackParcel, kRR_Interrupted, kRR_ComposedUpTo,
  kRR_FullyComposed
}
 
typedef void(ITextParcelList::* ComputeMethod1 )(ParcelKey, TextIndex *, int32 *) const
 
typedef void(ITextParcelList::* ComputeMethod2 )(ParcelKey, const PMRect &, const PMRect &, TextIndex *, int32 *) const
 

Public Member Functions

virtual UIDRef GetTextModelRef () const =0
 
virtual UIDRef GetWaxStrandRef () const =0
 
virtual ITextStoryThreadQueryStoryThread () const =0
 
virtual RangeData GetThreadRange () const =0
 
virtual TextIndex GetThreadStart (int32 *pSpan=nil) const =0
 
virtual int32 GetThreadSpan (TextIndex *pStart=nil) const =0
 
virtual TextIndex GetTextStart (ParcelKey key) const =0
 
virtual int32 GetTextSpan (ParcelKey key) const =0
 
virtual RangeData GetTextRange (ParcelKey key) const =0
 
virtual void SetTextSpan (ParcelKey key, int32 span)=0
 
virtual ParcelKey GetParcelContaining (TextIndex at) const =0
 
virtual ParcelKey GetParcelContainingLeanLeft (TextIndex at) const =0
 
virtual ParcelKey GetParcelContaining (const RangeData &location) const =0
 
virtual void GetParcelsContaining (const RangeData &r, ParcelKey *firstParcel, ParcelKey *lastParcel) const =0
 
virtual bool16 GetIsOverset (TextIndex *pFirstOversetTextIndex=nil) const =0
 
virtual TextIndex GetFirstOversetTextIndex (TextIndex *pThreadLast=nil) const =0
 
virtual ParcelKey GetFirstLogicalParcelKey () const =0
 
virtual ParcelKey GetNextLogicalParcelKey (ParcelKey key) const =0
 
virtual ParcelKey GetLastLogicalParcelKey () const =0
 
virtual ParcelKey GetLastLogicalNonOversetParcelKey () const =0
 
virtual const_iterator begin () const =0
 
virtual const_iterator begin (ParcelKey key) const =0
 
virtual const_iterator end () const =0
 
virtual const_iterator end (ParcelKey key) const =0
 
virtual const_reverse_iterator rbegin () const =0
 
virtual const_reverse_iterator rbegin (ParcelKey key) const =0
 
virtual const_reverse_iterator rend () const =0
 
virtual const_reverse_iterator rend (ParcelKey key) const =0
 
virtual Text::FirstLineOffsetMetric GetFirstLineOffsetMetric (ParcelKey key) const =0
 
virtual PMReal GetMinFirstLineOffset (ParcelKey key) const =0
 
virtual bool16 GetIsVertical () const =0
 
virtual bool16 GetIsRightToLeft () const =0
 
virtual bool16 GetParcelHasBeenVJed (ParcelKey key) const =0
 
virtual PMRect GetParcelContentBounds (ParcelKey key) const =0
 
virtual PMMatrix GetParcelToContentMatrix (ParcelKey key) const =0
 
virtual PMReal GetMaxSoftBottomHeight (ParcelKey key) const =0
 
virtual bool16 GetIsDamaged (ParcelKey key) const =0
 
virtual void SetDamaged (ParcelKey key)=0
 
virtual ParcelKey GetFirstDamagedParcel () const =0
 
virtual ParcelKey GetFirstParcelNeedingComposition () const =0
 
virtual RecomposeResult Recompose (IParcelContainer *container, int32 firstContainerPI, bool16 noDamageBackPrevContainers, Text::VerticalJustification vj, PMReal vjMaxInterParaSpace, bool16 vjBalanceColumns, int32 firstDamagedPI, int32 firstNeedWrapCheckPI, TextIndex composeUpToTextIndex=kInvalidTextIndex, IdleTimer *interruptCheck=nil, PMReal *tileableHeightRemaining=nil)=0
 
virtual bool16 MarkDamage (TextIndex at, int32 amt, int32 limitLeanLeftParcelIndex)=0
 
virtual void AdjustSpans (TextIndex at, int32 amt)=0
 
virtual void MarkParcelInsertDamage (ParcelKey key)=0
 
virtual void MarkParcelRemoveDamage (ParcelKey key)=0
 
virtual void MarkResizeDamage (ParcelKey key, const PMRect &boundsBefore, const PMRect &boundsAfter)=0
 
virtual void MarkMoveDamage (ParcelKey key)=0
 
virtual void MarkGridDamage (ParcelKey key)=0
 
virtual void MarkCompositionDamageNoLean (ParcelKey limitFirstParcelKey, TextIndex threadStart, TextIndex damageStart, int32 limitFirstParcelIndex, TextIndex damageEnd, int32 lastParcelIndex)=0
 
virtual void DamageFirstLine (ParcelKey key)=0
 
virtual void DamageEntireParcel (ParcelKey key, int32 limitLeanLeftParcelIndex=kInvalidParcelIndex)=0
 
virtual void DamageEntireParcelP1 (ParcelKey key, int32 limitLeanLeftParcelIndex=kInvalidParcelIndex)=0
 
virtual void DamageFirstLineInNextParcel (ParcelKey key)=0
 
virtual void DamageYRange (ParcelKey key, const PMReal &waxYTop, const PMReal &waxYBottom)=0
 
virtual void DamageWaxAnchoredElementYRange (ParcelKey key, const PMReal &waxYTop, const PMReal &waxYBottom)=0
 
virtual void Damage (ComputeMethod1, ParcelKey key, int32 limitLeanLeftParcelIndex=kInvalidParcelIndex)=0
 
virtual void Damage (ComputeMethod2, ParcelKey key, const PMRect &b1, const PMRect &b2)=0
 
virtual void ComputeResizeDamage (ParcelKey key, const PMRect &boundsBefore, const PMRect &boundsAfter, TextIndex *pStart, int32 *pLen) const =0
 
virtual void ComputeFirstLineDamage (ParcelKey key, TextIndex *pStart, int32 *pLen) const =0
 
virtual void ComputeEntireParcelDamage (ParcelKey key, TextIndex *pStart, int32 *pLen) const =0
 
virtual void ComputeEntireParcelP1Damage (ParcelKey key, TextIndex *pStart, int32 *pLen) const =0
 
virtual void ComputeFirstLineInNextParcelDamage (ParcelKey key, TextIndex *pStart, int32 *pLen) const =0
 
virtual void Inval (TextIndex start, int32 span) const =0
 
virtual bool16 GetIsValidStartBreakLocation (ParcelKey key, Text::StartBreakLocation mode) const =0
 
virtual bool16 GetHasAnyValidStartBreakLocation () const =0
 
virtual void GetShapeData (ParcelKey key, PMRect *inkBounds, int32 *passCount, Text::DrawPassInfo **passList)=0
 
virtual void DrawParcel (ParcelKey key, GraphicsData *gd, int32 iShapeFlags, const PMRect *areaToDraw, const int32 passCount, const Text::DrawPassInfo *passList, void(*btdFunc)(void *), void(*btfdFunc)(void *), void *funcPrv, bool16 *pInkBoundsChanged)=0
 
virtual PMRect GetParcelComposedBounds (ParcelKey key) const =0
 
virtual PMReal HitTestParcel (ParcelKey key, const PMPoint &pasteboardPt, TextIndex *nextLine=nil)=0
 
virtual void IterateTextParcelListDrawOrder (const PMMatrix *xform, ICallback *callbackInfo, int32 iShapeFlags, ParcelKey key) const =0
 
virtual bool16 ShouldFakeTabAlignToChar () const =0
 
virtual void CollectParcelChildren (ParcelKey key, UIDList *list) const =0
 
virtual void InsertWaxAnchoredElement (IWaxAnchoredElement *wae, ParcelKey toKey)=0
 
virtual void RemoveWaxAnchoredElement (IWaxAnchoredElement *wae)=0
 
virtual void MoveWaxAnchoredElement (IWaxAnchoredElement *wae, ParcelKey toKey)=0
 
virtual void NotifyInkBoundsChangedAt (TextIndex at, bool16 fromRebuild)=0
 
virtual void NotifyParcelInkBoundsChanged (ParcelKey key)=0
 
virtual void NotifyParcelPositionDependentContentSet (ParcelKey key)=0
 
virtual PMReal HitTestParcel (ParcelKey key, const PMPoint &waxPt, bool16 withinSTOnly, TextIndex *nextLine) const =0
 
virtual void CollectParcelOwnedItems (ParcelKey key, OwnedItemDataList *rList) const =0
 
virtual bool16 GetParcelIsEmpty (ParcelKey key, bool16 *optionalIsOnlyLastCR=nil) const =0
 
virtual void NotifyParcelLayerChanged (ParcelKey key, const IDocumentLayer *newDocLayer)=0
 
virtual void NotifyParcelVisibilityChanged (ParcelKey key)=0
 
virtual void NotifyParcelZOrderChanged (ParcelKey key)=0
 
virtual void NotifyParcelIgnoreWrapChanged (ParcelKey key)=0
 
virtual void AddParcelInlineWraps (ParcelKey key, const IInlineData *id, const UIDRef &spreadRef, const TextWrapRefList &sodList)=0
 
virtual void NotifyParcelWrapZOrderChanged (ParcelKey key, const TextWrapRef &sodRef, bool16 zOrderBasedWrap, const IDocumentLayer *sodDocLayer)=0
 
virtual void NotifyParcelWrapSkipByLeadingChanged (ParcelKey key, const TextWrapRef &sodRef)=0
 
virtual void NotifyParcelWrapNonGeometryChanged (ParcelKey key, const TextWrapRef &sodRef)=0
 
virtual void RemoveParcelWrap (ParcelKey key, const TextWrapRef &sodRef)=0
 
virtual bool16 RebuildWaxLine (const ITextStoryThread *thread, const IParcelList *pl, IWaxLine *waxLine) const =0
 
virtual bool16 GetParcelContainsOversetContent (ParcelKey key) const =0
 
virtual void NotifyStoryDirectionChanged ()=0
 
virtual ParcelKey GetParcelComposing () const =0
 
virtual Text::VerticalJustification GetComposingVerticalJustification () const =0
 
virtual bool16 CanBackDamageContainer () const =0
 
virtual ContainerComposer * GetCompositionContext () const =0
 
virtual void NotifyParcelWrapModifyIndentsAroundTextWrapChanged (ParcelKey key, const TextWrapRef &sodRef)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Member Enumeration Documentation

RecomposeResult
Enumerator
kRR_NothingToCompose 

The Parcel was either not Wax damaged or after handling wrap check damage no wax was damaged as a result. The Parcel remains fully composed and without any wax damage.

kRR_DamagedBackParcel 

A Parcel in a previous container became damaged.

kRR_Interrupted 

Composition was interrupted due to the interruptCheck. This will only be returned if and IdleTimer is specified.

kRR_ComposedUpTo 

The container is now fully composed upto the specified TextIndex. This will only be returned if the optional composeUpToTextIndex parameter is not kInvalidTextIndex AND after the Column containing the TextIndex is fully composed the Container still needs composition.

kRR_FullyComposed 

The container is now fully composed.

Member Function Documentation

virtual void ITextParcelList::AddParcelInlineWraps (ParcelKey key,
const IInlineDataid,
const UIDRefspreadRef,
const TextWrapRefListsodList 
)
pure virtual

Adds Wraps during composition that are children of an inlines. Because these Wraps are never from MasterPages, the X/YOffset component of the Wrap is always zero and so we never pass it in.

Parameters
keyParcelKey that the inline is registered in
spreadRefUIDRef of ISpread that the key is on
sodListTextWrapRefList of active IStandOffData
virtual void ITextParcelList::AdjustSpans (TextIndex at,
int32 amt 
)
pure virtual

Used only by WaxStrand to maintain consistent text spans in the parcels.

virtual void ITextParcelList::CollectParcelChildren (ParcelKey key,
UIDListlist 
) const
pure virtual

Collects all the OwnedItems and WaxAnchoredElements associated with Parcel. This method supports IVisitorHelper implementations that have Text.

Parameters
key
list
virtual void ITextParcelList::CollectParcelOwnedItems (ParcelKey key,
OwnedItemDataListrList 
) const
pure virtual

Appends the list of OwnedItems that are associated with the specified Parcel. Only those OwnedItems that are actually composed within the Parcel are added. Note that because of the presence of WaxAnchorPts and WaxAnchoredElements it is not sufficient to use the span of the Parcel to compute this.

Parameters
key
rListThe results are appended to the list.
virtual TextIndex ITextParcelList::GetFirstOversetTextIndex (TextIndex * pThreadLast = nil) const
pure virtual

Returns the TextIndex of the first character that is NOT mapped to a Parcel BEFORE the Parcel returned by ITextParcelListData::GetOversetParcelKey(). If all of the TextStoryThread is composed within those Parcel then kInvalidTextIndex is returned. Note that because of WaxAnchoredElements, this method is not sufficient to determine if the TextParcelList is overset, use GetIsOverset().

Parameters
pThreadLastwill be set to the last TextIndex in the TextStoryThread.
Returns
TextIndex of the first Text content which is composed beyond the last Logical Parcel.
virtual ParcelKey ITextParcelList::GetFirstParcelNeedingComposition () const
pure virtual

This method returns the ParcelKey of the first Parcel in the ParcelList which needs composition. Note because of the subtle iteraction with Parcels that needs to check for wrap, this method is not the same as simply returning the first damaged or first needs wrap check Parcel. In particular, a Parcel needing wrap check which is beyond the Parcel containing the end of the story thread is NOT considered to need composition.

Returns
Invalid ParcelKey if no Parcel needs composition
virtual bool16 ITextParcelList::GetIsOverset (TextIndex * pFirstOversetTextIndex = nil) const
pure virtual

The TextParcelList is considered overset if any content other than the last CR in the associated TextStoryThread is not composed in Parcels BEFORE the Parcel returned by ITextParcelListData::GetLastOversetParcelKey().

Parameters
pFirstOversetTextIndexOptional pointer that will be filled in the TextIndex of the first overset text.
Returns
kTrue if overset, kFalse otherwise.
virtual ParcelKey ITextParcelList::GetParcelComposing () const
pure virtual

This method tells callers if the TextParcelList is currently composing any Parcels within the list.

Returns
ParcelKey of the Parcel being currently composed. Will return an invalid ParcelKey is not composing.
virtual bool16 ITextParcelList::GetParcelContainsOversetContent (ParcelKey key) const
pure virtual

Parcels which compose complex content, such as Tables and Footnotes, which themselves manage TextStoryThreads in the same TextModel as this TextParcelList can be overset without this TextParcelList itself being overset.

Parameters
key
Returns
kTrue if the Parcel contains any complex content which is overset.
virtual bool16 ITextParcelList::GetParcelIsEmpty (ParcelKey key,
bool16 * optionalIsOnlyLastCR = nil 
) const
pure virtual

Returns kTrue if the Parcel has no Text span AND no WaxAnchoredElemenents with any content.

Parameters
ParcelKey
optionalIsOnlyLastCRPointer to bool which will be set to kTrue if the Parcel ONLY contains the final CR of the story thread, kFalse otherwise.
virtual PMReal ITextParcelList::HitTestParcel (ParcelKey key,
const PMPointpasteboardPt,
TextIndex * nextLine = nil 
)
pure virtual

Given a point in Pasteboard coordinates, return the TextIndex of the closest character/glyph in this Parcel. Only returns TextIndexes within this TextStoryThread. The TextParcelList is required to be fully composed upto this point. Note that it is not possible to hit below the last line in the story thread, the location returned will be to the left of the final CR.

Parameters
keyParcel
pasteboardPt
nextLineThe TextIndex of the end of the WaxLine (which is the start of the next WaxLine)
Returns
The TextIndex of the closest character/glyph in this Parcel.
virtual PMReal ITextParcelList::HitTestParcel (ParcelKey key,
const PMPointwaxPt,
bool16 withinSTOnly,
TextIndex * nextLine 
) const
pure virtual

Given a point in Wax coordinates, return the TextIndex of the closest character/glyph in this Parcel. The TextParcelList is required to be fully composed upto this point. Note that it is not possible to hit below the last line in the story thread, the location returned will be to the left of the final CR.

Parameters
keyParcel
waxPt
withinSTOnlyIf kTrue, then the we will not burrow into Tables or WaxAnchoredElements looking for a better hits.
nextLineThe TextIndex of the end of the WaxLine (which is the start of the next WaxLine)
Returns
The TextIndex of the closest character/glyph in this Parcel.
virtual void ITextParcelList::InsertWaxAnchoredElement (IWaxAnchoredElement * wae,
ParcelKey toKey 
)
pure virtual
Parameters
waeThe WaxAnchoredElement to insert.
atParcelThe Parcel that the WaxAnchoredElement will start life in.
virtual void ITextParcelList::IterateTextParcelListDrawOrder (const PMMatrixxform,
ICallbackcallbackInfo,
int32 iShapeFlags,
ParcelKey key 
) const
pure virtual

Iterate over every object in a given parcel and call its IterateDrawOrder method

virtual void ITextParcelList::MarkCompositionDamageNoLean (ParcelKey limitFirstParcelKey,
TextIndex threadStart,
TextIndex damageStart,
int32 limitFirstParcelIndex,
TextIndex damageEnd,
int32 lastParcelIndex 
)
pure virtual

This method will damage a range of Text without causing any back-up damage to a Parcel previous to the one specified. The caller specifies the Text range to be damaged but they also must specify the range of the Parcels that may be damaged by this action. Only used during composition since for all changes to the TextModel we want to lean-left to previous Parcels and failure to do so will result in ASSERTs by the WaxLineCompositionIter.

Parameters
limitFirstParcelKeyThe first Parcel that can become damaged - no damage before this point. If damageStart equals damageEnd, then this Parcel will be marked damaged, otherwise this Parcel will only be damaged if the start of the damage range is containing by this Parcel or we lean-left into it.
threadStartThe TextIndex of the start of the Thread managed by this TextParcelList. We could calculate it ourselves but most callers have it anyway.
damageStartTextIndex of the first point of damage - must be within the Parcel specified by 'firstParcelKey'
limitFirstParcelIndexIndex within the controlling ParcelList of the Parcel specified by 'limitFirstParcelKey'
damageEndTextIndex of the end point of damage.
lastParcelIndexIndex within the controlling ParcelList of the last Parcel to be damaged. Only used when damageStart equals damageEnd, otherwise the last Parcel damaged will be one containing the last TextIndex of the damage range.
virtual bool16 ITextParcelList::MarkDamage (TextIndex at,
int32 amt,
int32 limitLeanLeftParcelIndex 
)
pure virtual

Damage ranges of Text. This method does not damage waxLines, it just updates the span state.

Parameters
atTextIndex for the start of the damage range.
amtLength of damage range, must be > 0, must end before the end of the story thread owning the starting TextIndex.
limitLeanLeftParcelIndexIf NOT kInvalidParcelIndex, the index in the controlling ParcelList for which we will not do lean left damage.
Returns
kTrue if limitLeanLeftParcelIndex was valid AND it resulted in a limit to leaning left.
virtual void ITextParcelList::NotifyInkBoundsChangedAt (TextIndex at,
bool16 fromRebuild 
)
pure virtual

This method tells the TextParcelList that the WaxLine at the specified TextIndex has changed its ink bounds outside of composition. The WaxRun and WaxLine containing that TextIndex will have their caches invalidated appropriately before NotifyInkBoundsChanged() is called internally on the appropriate Parcel.

Parameters
atTextIndex of the WaxLine that changed.
fromRebuildkTrue if the WaxLine at the specified TextIndex is being rebuilt, kFalse otherwise.
virtual void ITextParcelList::NotifyParcelIgnoreWrapChanged (ParcelKey key)
pure virtual
Parameters
ParcelKey
virtual void ITextParcelList::NotifyParcelInkBoundsChanged (ParcelKey key)
pure virtual

This method tells the TextParcelList that some Wax element in the specified Parcel has changed its ink bounds outside of composition.

virtual void ITextParcelList::NotifyParcelLayerChanged (ParcelKey key,
const IDocumentLayernewDocLayer 
)
pure virtual
Parameters
ParcelKey
newDocLayer
virtual void ITextParcelList::NotifyParcelPositionDependentContentSet (ParcelKey key)
pure virtual

This method tells the TextParcelList that some Wax element in the specified Parcel has become position dependent. This call is typically made outside of the composition of the Parcel.

virtual void ITextParcelList::NotifyParcelVisibilityChanged (ParcelKey key)
pure virtual
Parameters
ParcelKey
virtual void ITextParcelList::NotifyParcelWrapModifyIndentsAroundTextWrapChanged (ParcelKey key,
const TextWrapRefsodRef 
)
pure virtual

The specified active Wrap affecting the specified Parcel has changed the ModifyIndentsAroundTextWrap option. This method will damage the appropriate text within the Parcel as required.

Parameters
key
sodRefTextWrapRef of the wrap that has been affected.
virtual void ITextParcelList::NotifyParcelWrapNonGeometryChanged (ParcelKey key,
const TextWrapRefsodRef 
)
pure virtual

The specified active Wrap affecting the specified Parcel has changed either IStandOff::Mode from one BBox mode to another (such as kBoundingBox to kBand) or the IStandOff::Side. These changes do not result in a change to the PathGeometry of the Wrap but it will affect how Text will compose around the Wrap. This method will damage the appropriate text within the Parcel as required.

Parameters
key
sodRefTextWrapRef of the wrap that has been affected.
virtual void ITextParcelList::NotifyParcelWrapSkipByLeadingChanged (ParcelKey key,
const TextWrapRefsodRef 
)
pure virtual

The specified active Wrap affecting the specified Parcel has changed the SkipByLeading option. This method will damage the appropriate text within the Parcel as required.

Parameters
key
sodRefTextWrapRef of the wrap that has been affected.
virtual void ITextParcelList::NotifyParcelWrapZOrderChanged (ParcelKey key,
const TextWrapRefsodRef,
bool16 zOrderBasedWrap,
const IDocumentLayersodDocLayer 
)
pure virtual

The specified Wrap affecting the specified Parcel has changed in some way that is based on ZOrder. This could be ZOrder based on the Wraps IHierarchy, the Wraps Layer, the ZOrder of the Wraps Layer, the visibility of the Wraps Layer or even Wrap being affected by ZOrder at all. The geometry, position and mode of the Wrap remains unchanged. This method will re-evaluate the Wrap relative to the effective ZOrder of the Parcel if required.

Parameters
key
sodRefTextWrapRef of the wrap that has been affected.
zOrderBasedWrap
sodLayerVisible
sodLayerIgnoreWhenHidden
sodDocLayer
virtual void ITextParcelList::NotifyParcelZOrderChanged (ParcelKey key)
pure virtual
Parameters
ParcelKey
virtual void ITextParcelList::NotifyStoryDirectionChanged ()
pure virtual

The story direction (returned by GetIsVertical()) of this StoryThread has changed.

virtual bool16 ITextParcelList::RebuildWaxLine (const ITextStoryThreadthread,
const IParcelListpl,
IWaxLinewaxLine 
) const
pure virtual

This method manages the process of asking the IParagraphComposer to rebuild the specified WaxLine to fit. This main caller of this method is the private method IWaxLine::BuildRuns().

Parameters
Pointerto ITextStoryThread of the WaxLine
Pointerto IParcelList of this ITextParcelList
waxLinePointer to IWaxLine that needs WaxRuns to build
Returns
kTrue if the WaxLine successfully built it's runs.
virtual RecomposeResult ITextParcelList::Recompose (IParcelContainercontainer,
int32 firstContainerPI,
bool16 noDamageBackPrevContainers,
Text::VerticalJustification vj,
PMReal vjMaxInterParaSpace,
bool16 vjBalanceColumns,
int32 firstDamagedPI,
int32 firstNeedWrapCheckPI,
TextIndex composeUpToTextIndex = kInvalidTextIndex,
IdleTimerinterruptCheck = nil,
PMRealtileableHeightRemaining = nil 
)
pure virtual

Recompose Parcels.

WARNING: This method should only be called by the implementors of the ITextParcelListData which is the only code with enough knowledge of the proper context in which this can be called.

Parameters
containerPointer to IParcelContainer which will be used to drive the composition on the container.
firstContainerPIThe index within the ParcelList of the first Parcel of the container.
noDamageBackPrevContainersIf kTrue, composition of the specified container must not result in damage to any Parcels in previous ParcelContainers. This should only be set if the ParcelList being composed is associated with a containing ParcelList (such as the FrameList) otherwise incorrect composition will result.
vjVerticalJustification
vjMaxInterParaSpace
vjBalanceColumns
firstDamagedPIindex within the IParcelList of the first Parcel which is damaged. May be set to kInvalidParcelIndex if firstNeedWrapCheckPI is NOT kInvalidParcelIndex.
firstNeedWrapCheckPIindex within the IParcelList of the first Parcel which needs wrap check. May be set to kInvalidParcelIndex if firstDamagedPI is NOT kInvalidParcelIndex.
composeUpToTextIndexOptional parameter for TextIndex within the thread which the container will compose 'columns' upto. If the TextIndex is beyond the end of the Container then it has no effect. If it ends within the Container, and the Container and stop composing in the 'column' that it is in, then the method will return early. Otherwise the entire Container will be composed.
interruptCheckOptional pointer to IdleTimer class that will be used in some circumstances to interrupt composition before the container is fully composed.
tilableHeightRemainingOptions pointer to PMReal which will be filled in with an estimate of the tileable height remaining in the Container (before VJ was run) if the returned value is kRR_FullyComposed.
Returns
RecomposeResult
virtual void ITextParcelList::RemoveParcelWrap (ParcelKey key,
const TextWrapRefsodRef 
)
pure virtual

The specified Wrap is removed from the specified Parcel. If the wrap is known to the Parcel then this method will damage Text that was overlapped by the wrap. The IStandOffParcelUsedList on the same boss as the IStandOffData will be called to unregister the Parcel.

Parameters
key
sodPointer to IStandOffData interface for the wrap
xOffsetXOffset that the specified Parcel knows the StandOff by
yOffsetYOffset that the specified Parcel knows the StandOff by
virtual bool16 ITextParcelList::ShouldFakeTabAlignToChar () const
pure virtual

The purpose of this API is for composition/regen code to determine if it should act like there is a tab character as the first character of paragraphs in this story thread. This gives table cells the ability to have align to character tab functionality without having an actual tab character in the model.