27 #include "IPMUnknown.h" 29 #include "CTextEnum.h" 30 #include "IDrawingStyle.h" 31 #include "ParcelKey.h" 53 enum { kDefaultIID = IID_IWAXLINE };
55 enum LineTightness { kUnknown, kVeryLoose, kLoose, kNormal, kTight, kVeryTight,
56 kTooLoose_Obsolete, kTooTight_Obsolete };
58 enum { kMaximumTilesPerLine = 32 };
70 virtual void SetParcelKey(
ParcelKey parcelKey) = 0;
72 virtual IWaxRun* QueryRun(int32 index)
const = 0;
73 virtual int32 GetRunIndex(
const IWaxRun * run)
const = 0;
74 virtual int32 GetRunCount()
const = 0;
127 virtual int32 GetTextSpanInTile(int32 tileNum)
const = 0;
128 virtual void SetTextSpanInTile(int32 span, int32 tileNum = 0) = 0;
139 virtual void SetUnjustifiedTextWidthInTile(
PMReal unJTW, int32 tileNum = 0) = 0;
147 virtual void SetJustifiedTextWidthInTile(
PMReal justWidth, int32 tileNum = 0) = 0;
154 virtual PMReal GetYAdvance()
const = 0;
156 virtual int32 GetNumberOfTiles()
const = 0;
157 virtual void SetNumberOfTiles(int32 numTiles) = 0;
162 virtual void SetXPosition(
PMReal xPosition, int32 tileNum = 0) = 0;
197 virtual PMReal GetLineHeight()
const = 0;
198 virtual void SetLineHeight(
PMReal lineHeight) = 0;
204 virtual void SetLeadingModel(Text::LeadingModel m) = 0;
209 virtual void SetLineHeightLeadingDiff(
PMReal lineHeight) = 0;
215 virtual void SetLeadingModelOffset(
PMReal offset) = 0;
219 virtual PMReal GetWidth(bool16 ignoreAllTrailing = kFalse)
const = 0;
220 virtual PMReal GetTargetWidth(int32 tileNum = 0)
const = 0;
221 virtual void SetTargetWidth(
PMReal targetWidth, int32 tileNum = 0) = 0;
250 virtual void SetKeepsViolation(bool16 onOff) = 0;
251 virtual bool16 GetKeepsViolation()
const = 0;
264 virtual void SetHyphenState(bool16 endsWithHyphen) = 0;
265 virtual bool16 LineEndsWithHyphen()
const = 0;
273 virtual bool16 GetAlwaysRegenerate()
const = 0;
275 virtual Text::GridAlignmentMetric GetGridAlignmentMetric()
const = 0;
278 virtual PMReal GetGridAlignmentMetricOffset()
const = 0;
279 virtual void SetGridAlignment(Text::GridAlignmentMetric alignment,
280 PMReal metricOffset = 0.0) = 0;
282 virtual void SetNoShuffle(bool16 s) = 0;
283 virtual bool16 GetNoShuffle()
const = 0;
285 virtual void SetNoShuffleToParcelBottom(bool16 s) = 0;
286 virtual bool16 GetNoShuffleToParcelBottom()
const = 0;
288 virtual void SetRebuildRunsWhenShuffled(bool16 b) = 0;
289 virtual bool16 GetRebuildRunsWhenShuffled()
const = 0;
291 virtual PMReal GetTOFLineHeight()
const = 0;
292 virtual Text::FirstLineOffsetMetric GetTOFLineHeightMetric()
const = 0;
293 virtual void SetTOFLineHeight(
PMReal lineHeight,
294 Text::FirstLineOffsetMetric lineHeightMetric) = 0;
296 virtual void SetAtTOF(bool16 v) = 0;
297 virtual bool16 GetAtTOF()
const = 0;
299 virtual void SetHasOwnedItem(bool16 v) = 0;
300 virtual bool16 GetHasOwnedItem()
const = 0;
315 virtual bool16 GetParcelPositionDependent()
const = 0;
317 virtual PMReal GetIndentHerePosition()
const = 0;
318 virtual void SetIndentHerePosition(
PMReal r) = 0;
331 virtual bool16 IsGeometryDamaged()
const = 0;
332 virtual bool16 IsKeepsDamaged()
const = 0;
333 virtual bool16 IsContentDamaged()
const = 0;
334 virtual bool16 IsDestroyed()
const = 0;
335 virtual void SetContentDamaged() = 0;
336 virtual void SetGeometryDamaged() = 0;
337 virtual void SetKeepsDamaged() = 0;
338 virtual void SetDestroyed() = 0;
339 virtual void ClearDamage() = 0;
345 virtual void SetWaxAnchorPt(bool16) = 0;
346 virtual bool16 GetIsWaxAnchorPt()
const = 0;
348 virtual IWaxStrand* QueryWaxStrand()
const = 0;
349 virtual ITextModel* QueryTextModel()
const = 0;
375 virtual bool16 GetRequiresCallToListInvalService()
const = 0;
389 virtual bool16 GetKeepWithPrevExternal()
const = 0;
397 virtual bool16 GetKeepWithPrevParaLastLine()
const = 0;
404 virtual bool16 GetKeepWithPrevFirst()
const = 0;
411 virtual bool16 GetKeepWithPrevLast()
const = 0;
419 virtual bool16 GetNeedsPostProcessing()
const = 0;
426 virtual bool16 GetComposerWasSwappedToSingle()
const = 0;
435 virtual PMReal GetCompositionYPosition()
const = 0;
436 virtual bool16 GetYPositionAdjValid()
const = 0;
437 virtual void SetYPositionAdj(
PMReal yPosAdj) = 0;
438 virtual PMReal GetYPositionAdj()
const = 0;
450 virtual void SetBreakMode(Text::StartBreakLocation bl) = 0;
451 virtual Text::StartBreakLocation GetBreakMode()
const = 0;
452 virtual void SetGotoNextX(Text::StartBreakLocation nx) = 0;
453 virtual Text::StartBreakLocation GetGotoNextX()
const = 0;
455 virtual void SetSpaceBefore(
PMReal sb) = 0;
456 virtual PMReal GetSpaceBefore()
const = 0;
457 virtual void SetSpaceAfter(
PMReal sa) = 0;
458 virtual PMReal GetSpaceAfter()
const = 0;
459 virtual void SetSameParaSpacing(
PMReal sb) = 0;
460 virtual PMReal GetSameParaSpacing()
const = 0;
465 virtual bool16 GetSpaceAfterIsSticky()
const = 0;
467 virtual void SetKeepWithNextNLines(int32 n) = 0;
468 virtual int32 GetKeepWithNextNLines()
const = 0;
469 virtual void SetKeepLastNLines(int32 n) = 0;
470 virtual int32 GetKeepLastNLines()
const = 0;
478 virtual void SetYPositionAdjIgnored() = 0;
484 virtual PMReal GetBulletNumberOffset()
const = 0;
517 PMReal outsideGutter) = 0;
529 PMReal* pInsideGutter = nil,
530 PMReal* pOutsideGutter = nil)
const = 0;
540 virtual bool16 GetRunsWereInvalidated()
const = 0;
541 virtual void ClearRunsWereInvalidated() = 0;
548 virtual bool16 GetHasWAENoFitInParcel(
ParcelKey&)
const = 0;
554 virtual bool16 HasParaShadingOn()
const = 0;
560 virtual bool16 HasParaBorderOn()
const = 0;
566 virtual bool16 HasParaBorderMergingOn()
const = 0;
572 virtual void SetHarfBuzzParagraphShapingEngine(
bool shapingEngineType) = 0;