![]() | InDesign SDK 20.5 |
#include <IWaxLine.h>

Public Member Functions | |
| virtual void | SetVOSWaxObject (VOS_Object *vosObject)=0 |
| virtual VOS_Object * | GetVOSWaxObject () const =0 |
| virtual ParcelKey | GetParcelKey () const =0 |
| virtual void | SetParcelKey (ParcelKey parcelKey)=0 |
| virtual IWaxRun * | QueryRun (int32 index) const =0 |
| virtual int32 | GetRunIndex (const IWaxRun *run) const =0 |
| virtual int32 | GetRunCount () const =0 |
| virtual bool16 | DoWaxRunsExist () const =0 |
| virtual bool16 | StartsLine (const IWaxRun *waxRun) const =0 |
| virtual bool16 | EndsLine (const IWaxRun *waxRun) const =0 |
| virtual IWaxGlyphIterator * | QueryWaxGlyphIterator (bool16 includeLine=kFalse) const =0 |
| virtual IWaxRunIterator * | QueryWaxRunIterator (bool16 includeLine=kFalse) const =0 |
| virtual IWaxRun * | QueryRunByTextOffset (int32 textOffset, int32 *pGlyphOffset=nil) const =0 |
| virtual void | SetDropCapIndents (int32 howManyIndents, const PMReal *indents, const int32 *lineCounts)=0 |
| virtual int32 | GetDropCapIndents (PMReal *indents=nil, int32 *lineCounts=nil) const =0 |
| virtual PMReal | GetNthDropCapIndent (int32 n) const =0 |
| virtual bool16 | GetNextLineAffectedByDropcap () const =0 |
| virtual IDataBase * | GetDataBase () const =0 |
| virtual int32 | GetTextSpan () const =0 |
| virtual int32 | GetTextSpanInTile (int32 tileNum) const =0 |
| virtual void | SetTextSpanInTile (int32 span, int32 tileNum=0)=0 |
| virtual PMReal | GetUnjustifiedTextWidthInTile (int32 tileNum) const =0 |
| virtual void | SetUnjustifiedTextWidthInTile (PMReal unJTW, int32 tileNum=0)=0 |
| virtual PMReal | GetJustifiedTextWidthInTile (int32 tileNum) const =0 |
| virtual void | SetJustifiedTextWidthInTile (PMReal justWidth, int32 tileNum=0)=0 |
| virtual TextIndex | TextOrigin (const IWaxRun *waxRun=nil) const =0 |
| virtual PMReal | GetYAdvance () const =0 |
| virtual int32 | GetNumberOfTiles () const =0 |
| virtual void | SetNumberOfTiles (int32 numTiles)=0 |
| virtual PMReal | GetXPosition (int32 tileNum=0) const =0 |
| virtual void | SetXPosition (PMReal xPosition, int32 tileNum=0)=0 |
| virtual PMReal | GetYPosition () const =0 |
| virtual PMMatrix | GetTransform () const =0 |
| virtual PMMatrix | GetToParcelMatrix () const =0 |
| virtual PMMatrix | GetToFrameMatrix () const =0 |
| virtual PMMatrix | GetToSpreadMatrix () const =0 |
| virtual PMMatrix | GetToPasteboardMatrix () const =0 |
| virtual PMReal | GetLineHeight () const =0 |
| virtual void | SetLineHeight (PMReal lineHeight)=0 |
| virtual Text::LeadingModel | GetLeadingModel () const =0 |
| virtual void | SetLeadingModel (Text::LeadingModel m)=0 |
| virtual PMReal | GetLineHeightLeadingDiff () const =0 |
| virtual void | SetLineHeightLeadingDiff (PMReal lineHeight)=0 |
| virtual PMReal | GetLeadingModelOffset () const =0 |
| virtual void | SetLeadingModelOffset (PMReal offset)=0 |
| virtual PMReal | GetWidth (bool16 ignoreAllTrailing=kFalse) const =0 |
| virtual PMReal | GetTargetWidth (int32 tileNum=0) const =0 |
| virtual void | SetTargetWidth (PMReal targetWidth, int32 tileNum=0)=0 |
| virtual void | SetJustificationViolationAmt (int16 jva) const =0 |
| virtual int16 | GetJustificationViolationAmt () const =0 |
| virtual void | SetHyphenationViolation (bool16 violation)=0 |
| virtual bool16 | GetHyphenationViolation () const =0 |
| virtual void | SetLineTightness (IWaxLine::LineTightness t)=0 |
| virtual IWaxLine::LineTightness | GetLineTightness () const =0 |
| virtual void | SetKeepsViolation (bool16 onOff)=0 |
| virtual bool16 | GetKeepsViolation () const =0 |
| virtual void | SetComposedWithMissingFont (bool16 missing)=0 |
| virtual bool16 | GetComposedWithMissingFont () const =0 |
| virtual void | SetHyphenState (bool16 endsWithHyphen)=0 |
| virtual bool16 | LineEndsWithHyphen () const =0 |
| virtual void | SetAlwaysRegenerate (bool16) const =0 |
| virtual bool16 | GetAlwaysRegenerate () const =0 |
| virtual Text::GridAlignmentMetric | GetGridAlignmentMetric () const =0 |
| virtual PMReal | GetGridAlignmentMetricOffset () const =0 |
| virtual void | SetGridAlignment (Text::GridAlignmentMetric alignment, PMReal metricOffset=0.0)=0 |
| virtual void | SetNoShuffle (bool16 s)=0 |
| virtual bool16 | GetNoShuffle () const =0 |
| virtual void | SetNoShuffleToParcelBottom (bool16 s)=0 |
| virtual bool16 | GetNoShuffleToParcelBottom () const =0 |
| virtual void | SetRebuildRunsWhenShuffled (bool16 b)=0 |
| virtual bool16 | GetRebuildRunsWhenShuffled () const =0 |
| virtual PMReal | GetTOFLineHeight () const =0 |
| virtual Text::FirstLineOffsetMetric | GetTOFLineHeightMetric () const =0 |
| virtual void | SetTOFLineHeight (PMReal lineHeight, Text::FirstLineOffsetMetric lineHeightMetric)=0 |
| virtual void | SetAtTOF (bool16 v)=0 |
| virtual bool16 | GetAtTOF () const =0 |
| virtual void | SetHasOwnedItem (bool16 v)=0 |
| virtual bool16 | GetHasOwnedItem () const =0 |
| virtual void | SetParcelPositionDependent (bool16 v)=0 |
| virtual bool16 | GetParcelPositionDependent () const =0 |
| virtual PMReal | GetIndentHerePosition () const =0 |
| virtual void | SetIndentHerePosition (PMReal r)=0 |
| virtual void | SetStoryThread (ITextStoryThread *thread)=0 |
| virtual ITextStoryThread * | QueryStoryThread () const =0 |
| virtual bool16 | IsDamaged () const =0 |
| virtual bool16 | IsGeometryDamaged () const =0 |
| virtual bool16 | IsKeepsDamaged () const =0 |
| virtual bool16 | IsContentDamaged () const =0 |
| virtual bool16 | IsDestroyed () const =0 |
| virtual void | SetContentDamaged ()=0 |
| virtual void | SetGeometryDamaged ()=0 |
| virtual void | SetKeepsDamaged ()=0 |
| virtual void | SetDestroyed ()=0 |
| virtual void | ClearDamage ()=0 |
| virtual void | Inval (IParcelList *pl, const PMRect *alternateInk=nil) const =0 |
| virtual void | SetWaxAnchorPt (bool16)=0 |
| virtual bool16 | GetIsWaxAnchorPt () const =0 |
| virtual IWaxStrand * | QueryWaxStrand () const =0 |
| virtual ITextModel * | QueryTextModel () const =0 |
| virtual PMReal | GetLineMetricOffset (IDrawingStyle::CharacterHang hangType) const =0 |
| virtual void | SetLineTextOrigin (const TextIndex absoluteTextIndex)=0 |
| virtual PMReal | GetContentBottom () const =0 |
| virtual void | SetRequiresCallToListInvalService (bool16 requiresCall)=0 |
| virtual bool16 | GetRequiresCallToListInvalService () const =0 |
| virtual void | SetKeepWithPrevExternal (bool16 v)=0 |
| virtual bool16 | GetKeepWithPrevExternal () const =0 |
| virtual void | SetKeepWithPrevParaLastLine (bool16 v)=0 |
| virtual bool16 | GetKeepWithPrevParaLastLine () const =0 |
| virtual void | SetKeepWithPrevFirst (bool16 v)=0 |
| virtual bool16 | GetKeepWithPrevFirst () const =0 |
| virtual void | SetKeepWithPrevLast (bool16 v)=0 |
| virtual bool16 | GetKeepWithPrevLast () const =0 |
| virtual void | SetNeedsPostProcessing (bool16 v)=0 |
| virtual bool16 | GetNeedsPostProcessing () const =0 |
| virtual void | SetComposerWasSwappedToSingle (bool16 v)=0 |
| virtual bool16 | GetComposerWasSwappedToSingle () const =0 |
| virtual void | SetCompositionYPosition (PMReal compYPos)=0 |
| virtual PMReal | GetCompositionYPosition () const =0 |
| virtual bool16 | GetYPositionAdjValid () const =0 |
| virtual void | SetYPositionAdj (PMReal yPosAdj)=0 |
| virtual PMReal | GetYPositionAdj () const =0 |
| virtual void | SetBreakMode (Text::StartBreakLocation bl)=0 |
| virtual Text::StartBreakLocation | GetBreakMode () const =0 |
| virtual void | SetGotoNextX (Text::StartBreakLocation nx)=0 |
| virtual Text::StartBreakLocation | GetGotoNextX () const =0 |
| virtual void | SetSpaceBefore (PMReal sb)=0 |
| virtual PMReal | GetSpaceBefore () const =0 |
| virtual void | SetSpaceAfter (PMReal sa)=0 |
| virtual PMReal | GetSpaceAfter () const =0 |
| virtual void | SetSameParaSpacing (PMReal sb)=0 |
| virtual PMReal | GetSameParaSpacing () const =0 |
| virtual void | SetSpaceAfterIsSticky (bool16 v)=0 |
| virtual bool16 | GetSpaceAfterIsSticky () const =0 |
| virtual void | SetKeepWithNextNLines (int32 n)=0 |
| virtual int32 | GetKeepWithNextNLines () const =0 |
| virtual void | SetKeepLastNLines (int32 n)=0 |
| virtual int32 | GetKeepLastNLines () const =0 |
| virtual bool16 | GetYPositionAdjIgnored () const =0 |
| virtual void | SetYPositionAdjIgnored ()=0 |
| virtual void | SetBulletNumberOffset (PMReal bnp)=0 |
| virtual PMReal | GetBulletNumberOffset () const =0 |
| virtual bool16 | GetHasColumnSpanOrSplit () const =0 |
| virtual void | SetColumnSpan (uchar count)=0 |
| virtual bool16 | GetColumnSpan (uchar *pCount=nil) const =0 |
| virtual void | SetColumnSplit (uchar count, PMReal insideGutter, PMReal outsideGutter)=0 |
| virtual bool16 | GetColumnSplit (uchar *pCount=nil, PMReal *pInsideGutter=nil, PMReal *pOutsideGutter=nil) const =0 |
| virtual void | InvalidateRuns ()=0 |
| virtual bool16 | GetRunsWereInvalidated () const =0 |
| virtual void | ClearRunsWereInvalidated ()=0 |
| virtual void | SetHasWAENoFitInParcel (bool16, const ParcelKey &)=0 |
| virtual bool16 | GetHasWAENoFitInParcel (ParcelKey &) const =0 |
| virtual void | SetParaShadingOn (bool16 bParaShadingOn)=0 |
| virtual bool16 | HasParaShadingOn () const =0 |
| virtual void | SetParaBorderOn (bool16 bParaBorderOn)=0 |
| virtual bool16 | HasParaBorderOn () const =0 |
| virtual void | SetParaBorderMergingOn (bool16 bParaBorderMergingOn)=0 |
| virtual bool16 | HasParaBorderMergingOn () const =0 |
| virtual bool | IsHarfBuzzParagraphShapingEngine () const =0 |
| virtual void | SetHarfBuzzParagraphShapingEngine (bool shapingEngineType)=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
This interface manages the hierarchy for the wax-line. It also stores the position of the line and many other properties such as leading.
| pure virtual |
Are the IWaxRuns for this line already built?
| pure virtual |
Does this IWaxRun end the line?
| pure virtual |
Gets the current column span value. Note that only the first WaxLine of the paragraph can be expected to have this value set, all other intra para WaxLines will not.
| pCount | Optional pointer to value which will be set to the span IF a column span has been previously set. |
| pure virtual |
Gets the current column split value. Note that only the first WaxLine of the paragraph can be expected to have this value set, all other intra para WaxLines will not.
| pCount | Optional pointer to value which will be to the split count IF a column split has been previously set. |
| pInsideGutter | Optional pointer to value which will be to the inside gutter width IF a column split has been previously set. |
| pOutsideGutter | Optional pointer to value which will be to the outside gutter width IF a column split has been previously set. |
| pure virtual |
GetComposedWithMissingFont indicates whether this line's ending was decided using a missing font. When this occurs, we will force this line to recompose when opening the document if the font is back.
| pure virtual |
Returns the effective content bottom of the WaxLine. This value is used for fit-frame-to-content and cell autogrow computation. For normal lines this is simply the Y Position of the line. For lines containing Dropcaps and WaxAnchorPts this computation is slightly different. The content Top of the line is still the LineHeight or TOFLineHeight.
| pure virtual |
Returns the database containing this wax
| pure virtual |
returns number of indents, will copy them if the pointers are non-nil
| pure virtual |
By default, WaxLines compose in a single "column". Paragraph attributes exist that allow them to span more than one column OR split a single column into two or more sub-columns.
| pure virtual |
GetHyphenationViolation indicates whether a hyphenation violation occurred
| pure virtual |
GetJustificationViolationAmt returns a number from 0 = no violation to 100 == complete violation.
| pure virtual |
Justified Width is the width to justify the text. In most cases this value is 0 and should be ignored. In the case of kashida justification the last line can be stretched to match the rest of the lines in the paragraph.
| pure virtual |
The LeadingModel determines how line leading is measured from line to line and thereby how lines are placed in the frame
| pure virtual |
This is the offset into the LineHeight to the point from which line leading is to be measured 0.0 means measure leading from the line's yPosition.
| pure virtual |
This is the difference of the LineHeight and the max Leading value in the line.
| pure virtual |
Given a CharacterHang type to get the result for, return a PMReal representing the number of points upward the line must be adjusted
| pure virtual |
GetLineTightness indicates a "tightness" of this line which is considered in order to favor justification consistency.
| pure virtual |
return kTrue if the next line following this one will be affected by a dropcap.
| pure virtual |
n too big == last one, n too small == 0 — this allows shortcuts
| pure virtual |
Hierarchy: this WaxLine is inside the parcel specified: overset == !ParcelKey.IsValid()
| pure virtual |
Range of characters in the text model mapped to this wax. Note: The wax span and model span differ when the text model has been altered but the wax has not been fully recomposed.
| pure virtual |
Returns a matrix which will transform a WaxLine relative coordinate to the Frame coordinate system of the Frame that the WaxLine is in.
| pure virtual |
Returns a matrix which will transform a WaxLine relative coordinate to the Parcel coordinate system of the Parcel that the WaxLine is in.
| pure virtual |
Returns a matrix which will transform a WaxLine relative coordinate to the Pasteboard coordinate system.
| pure virtual |
Returns a matrix which will transform a WaxLine relative coordinate to the Spread coordinate system.
| pure virtual |
The WaxLine exists in its own zero-based coordinate system. These matrices will handle the transformations between the various target coordinate systems: Returns a matrix which will transform a WaxLine relative coordinate to the Parcel "content" coordinate system, a.k.a. the "Wax" coordinate system, of the Parcel that the WaxLine is in.
| pure virtual |
Unjustified Text Width is the width of the Text calculated by the composer in order to fit within the tile. So the difference between this value and the target width of the tile is the amount of space that the composer will fill up by justifying the text in the tile. If the return value is zero then the composer did not set a value (older documents).
| pure virtual |
get pointer to vos object that owns this line. Generally internal use only.
| pure virtual |
If ignoreAllTrailing is True the width will not include the width of white space or non selectable glyphs.
| pure virtual |
x position of each tile. first tile is the line's x position
| pure virtual |
y-position of bottom of line height
| pure virtual |
The YPositionAdj is only valid when the Parcel the WaxLine has composed
into has VJ set or the WaxLine needs post-processing and in all other cases when the WaxLine is composed SetYPositionAdjIgnored() will be called.
| pure virtual |
if alternateInk is nil, IWaxLineShape::GetInkBounds() will be used.
| pure virtual |
This method is used to remove all the WaxRuns associated with the WaxLine and mark that the Runs were invalidated. This information will be used on the next rebuild to re-validate the inkbounds. This method should be used whenever the rebuild state of WaxLine is expected to be changed. Examples are WaxLines with any type of calculated text.
| pure virtual |
Damage recording methods.
| pure virtual |
For Internal Use Only: for "world ready paragraph /world ready single line composer" If shaping engine happens to be HB store this information at waxline level. // default is lipika below information is utilized only for above mentioned paragraph composer.
| pure virtual |
QueryRunByTextOffset returns the WaxRun that contains the specified textOffset in the WaxLine. pGlyphOffset will be set to the offset within the run to the specified glyph (it can be expensive to generate this). NOTE: not all runs have glyphs, so it's possible that *pGlyphOffset will come back invalid (e.g. as -1)
| pure virtual |
QueryWaxGlyphIterator provides iteration through all the glyphs in this waxLine. It may not visit every run, since not all runs contain glyphs. if includeLine is true, then the Matrix will include the line's transform (thereby converting to parcel coordinates)
| pure virtual |
QueryWaxRunIterator only iterates the leaf waxRuns - basically it just hides the wax hierarchy, providing access to the glyphs (or other "drawn" data). if includeLine is true, then the Matrix will include the line's transform (thereby converting to parcel coordinates)
| pure virtual |
Rebuild the Runs everytime the WaxLine is drawn. The composer is allowed to set this value at regen time when it only has a const pointer.
| pure virtual |
These values refer to the attributes used to compose the WaxLine rather their actual composed location.
If the WaxLine is the first of the Paragraph then GetBreakMode() and GetSpaceBefore() may return non-zero values.
If the WaxLine is the last of the Paragraph then GetGotoNextX(), GetSpaceAfter() and GetKeepWithNextNLines() may return non-zero values.
| pure virtual |
BulletNumberPosition is only used for lines with text wrap and a bullet/number
adornment contains a tab character.
| pure virtual |
Sets the column span to the specified value. Valid values for span are greater than or equal to 2 and less than or equal to 40. However, if span is set to 255 then it is equivalent to "all".
| count |
| pure virtual |
Sets the column split to the specified values. Valid values for count are greater than or equal to 2 and less than or equal to 40. insideGutter and outsideGutter need to be greater than or equal to 0.0.
| pure virtual |
SetComposedWithMissingFont indicates whether this line's ending was decided using a missing font. When this occurs, we will force this line to recompose when opening the document if the font is back.
| missing | specifies if a missing font had to be used. |
| pure virtual |
WaxLines which were asked to compose with the paragraph composer, but were actually composed with the single-line composer because of certain restrictions should set this flag to true.
| pure virtual |
The CompositionYPosition is what is set by the ParagraphComposer. By default there is not YPositionAdj so the value returned by GetYPosition() is the same as GetCompositionYPosition(). If post-processing occurs, whether it be specified in the WaxLine with SetNeedsPostProcessing() or by Parcel VJ, then a YPosition Adj will be set.
| pure virtual |
sets LISTS of dropcap indents
| pure virtual |
For Internal Use Only: If a Wax Anchored Element doesn't fit in a parcel, we note down its anchor waxline index. This is done so that we can limit backing up otherwise it may cause a forever loop.
| pure virtual |
SetHyphenationViolation indicates whether a hyphenation violation occurred
| violation | specifies if an unwanted hyphen had to be used. |
| pure virtual |
SetJustificationViolationAmt sets the justification violation for a line.
| jva | specifies the justification violation: 0 = no violation, 100 == complete violation. |
| pure virtual |
Support for keeps on WaxLines. ...External keeps represents the previous paragraph having KeepWithNextNLines in effect. ...First keeps represents the containing paragraph having KeepTogether or KeepFirstNLines in effect. ...Last keeps represents the containing paragraph having KeepLastNLines in effect. External keeps represents the previous paragraph having KeepWithNextNLines in effect.
| pure virtual |
First keeps represents the containing paragraph having KeepTogether or KeepFirstNLines in effect.
| pure virtual |
Last keeps represents the containing paragraph having KeepLastNLines in effect.
| pure virtual |
Prev Para Last Line represents this paragraph having KeepWithPrev in effect which simply means keep the first WaxLine of this Paragraph with the last WaxLine of the previous Paragraph.
| pure virtual |
Optimization. Will be called by the wax iterator.
| pure virtual |
SetLineTightness indicates a "tightness" of this line which is considered in order to favor justification consistency.
| t | specifies this line's tightness. |
| pure virtual |
WaxLines which need post-processing due to paragraph attributes require adjustments to the CompositionYPosition with SetYPositionAdj(). Although the adjustment mechanism is the same, this not the same as Parcel VJ which does not mark the WaxLines.
| pure virtual |
For Internal Use Only: If Paragraph Border Merging is enabled, we note here on the waxline about the same.
| pure virtual |
For Internal Use Only: If paragraph border is applied on a waxline, we note here on the waxline about the same.
| pure virtual |
For Internal Use Only: If paragraph shading is applied on a waxline, we note here on the waxline about the same.
| pure virtual |
If the WaxLine needs to be damaged when the Parcel that is composed into is moved relative to the pasteboard then this should be set to kTrue. Some examples are:
| pure virtual |
When set this flag causes calls to SetGeometryDamage to have the side effect of calling all available IListInvalService service providers with the line that's being geometry damaged. These services are rarely needed, but can be used by text adornments to clear cached data on wax runs.
| pure virtual |
Returns kTrue if space after in line should stay when line is last line in parcel
| pure virtual |
When the WaxLine is applied into the Wax the WaxStrand will update the thread information. This information is used to speed the lookup of Frame information by getting the ParcelList from the StoryThread and using the ParcelIndex to get the appropriate Parcel.
| pure virtual |
SetVOSWaxObject is for internal initialization only.
| pure virtual |
Does this IWaxRun start the line?
| pure virtual |
Finds the run within the line and returns it's first TextIndex. Passing nil returns the first TextIndex of the line.