|
| | CWaxCollectionShape (IPMUnknown *boss) |
| |
| virtual void | GetInkBounds (PMRect *pInkBounds, Text::DrawPassInfoList *passList) const |
| |
| virtual void | GetWaxBounds (int32 offset, int32 length, K2Vector< PMPolygon4 > *pSetOfBounds) const |
| |
| virtual bool16 | GetHighlightBounds (int32 offset, int32 length, K2Vector< PMPolygon4 > *pSetOfBounds, PMRect &highlightAdjust, const PMLineSeg &maxTopBottom) const |
| |
| virtual bool16 | GetSelectionLine (PMLineSeg *pSelectionLine) const |
| |
| virtual bool16 | GetHighlightLine (PMLineSeg *pHighlightLine, const PMLineSeg &maxTopBottom) const |
| |
| virtual void | GetCaretLineAt (int32 offset, PMLineSeg *pCaretLine, const PMLineSeg &maxTopBottom) const |
| |
| | CWaxRunShape (IPMUnknown *boss) |
| |
| virtual bool16 | GetHighlightBoundsME (int32 runGlyphStartIndex, int32 startGlyphIndex, int32 startGlyphInner, int32 endGlyphIndex, int32 endGlyphInner, K2Vector< PMPolygon4 > *pSetOfBounds, PMRect &highlightAdjust, const PMLineSeg &maxTopBottom) const |
| |
| virtual int32 | GetSelectionMode () const |
| |
| virtual void | SetSelectionMode (int32 mode) |
| |
| int32 | GetFlags () const |
| |
| void | SetFlags (int32 flags) |
| |
| virtual void | GetBorderShadingHeight (int32 mode, PMLineSeg *pShadingHeight) const |
| |
| IPMUnknown * | QueryInterface (PMIID interfaceID) const |
| |
| void | AddRef () const |
| |
| void | Release () const |
| |
| void | PreDirty (ImplementationID prop=kInvalidImpl, bool16 allowModification=kTrue) |
| |
| void | PreDirtyNoMessage (ImplementationID prop=kInvalidImpl, bool16 allowModification=kTrue) |
| |
| | CPMUnknown (const CPMUnknown &)=delete |
| |
| CPMUnknown & | operator= (const CPMUnknown &)=delete |
| |
|
| virtual bool16 | CalculateSimpleSpanWidth (int32 offset, int32 length, PMLineSeg *pSpanWidth) const |
| |
| virtual bool16 | GetBounds (bool16 whichBounds, int32 offset, int32 length, K2Vector< PMPolygon4 > *pSetOfBounds, PMRect &highlightAdjust, const PMLineSeg &maxTopBottom) const |
| |
| virtual void | GetTextInkBounds (PMRect *pInkBounds) const |
| |
| virtual void | HandleStackedXORIssues (K2Vector< PMPolygon4 > *pSetOfBounds, int32 prevLineStart, int32 currLineStart, const PMReal &newTop, PMRect &highlightAdjust) const |
| |
| virtual void | HandleAdjacentXORIssues (K2Vector< PMPolygon4 > *pSetOfBounds, int32 offsetIntoSet, PMRect &highlightAdjust) const |
| |
| virtual PMLineSeg | AdjustMaxTopBottom (const PMLineSeg &maxTopBottom) const =0 |
| |
| PMReal | GetWaxOutlineAdjustment () const |
| |
| virtual void | GetOwnerSelectionLine (PMLineSeg *pOwnerLine) const |
| |
| bool16 | DoPerGlyphBounds () const |
| |
| void | GetPerGlyphBounds (int32 offset, int32 length, PMLineSeg *pSpan, K2Vector< PMPolygon4 > *pSetOfBounds) const |
| |
| PMMatrix | GetGlyphTranslationMatrix (int32 glyphIndex) const |
| |
| | CPMUnknown (IPMUnknown *boss) |
| |
Base implementation of the IWaxRunShape interface for collections of wax runs. A collection can either be stacked or adjacent. An adjacent collection is one in which a subsequent run follows the same flow as the previous run. For example, if the first run goes from X=5 to X=9, then the next run would follow from that, for example from X=9 to X=34. A stacked collection typically has the runs stacked on top of each other with the same initial offset (typically 0). Thus a stacked collection of 3 runs typically has all 3 runs with X=0 and, for example, Y1= -5, Y2=0, Y3=5
- Note
- WaxCollections work in both horizontal and vertical text flows.
- See Also
- IWaxRunShape, CWaxRunShape, The Wax
| virtual PMLineSeg CWaxCollectionShape::AdjustMaxTopBottom | ( | const PMLineSeg & | maxTopBottom | ) | const |
| protectedpure virtual |
Adjust the maxTopBottom passed into various interfaces to take the collection into account. Called internally from GetHighlightLine(), GetCaretLineAt() and GetBounds(kFalse, ...)
Examples: a stacked collection may wish to ignore the maxTopBottom because it's allowed to extend beyond the waxLine bounds (warichuu does this). An adjacent collection may not care about maxTopBottom and this would be a NOP. Others may override it completely (TCY falls into this case).