#include <CWaxRunShape.h>
|
| | CWaxRunShape (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 | GetHighlightBoundsME (int32 runGlyphStartIndex, int32 startGlyphIndex, int32 startGlyphInner, int32 endGlyphIndex, int32 endGlyphInner, 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 |
| |
| 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 |
| |
Base implementation of the IWaxRunShape interface.
- See Also
- IWaxRunShape, IWaxLineShape
| virtual bool16 CWaxRunShape::CalculateSimpleSpanWidth | ( | int32 | offset, | | | int32 | length, | | | PMLineSeg * | pSpanWidth | | ) | | const |
| protectedvirtual |
Return the width of the given "simple" wax span. Simple means just look at the widths of the glyphs, without any special transformation, etc.
- Parameters
| offset | IN The desired start of the range |
| length | IN The length of the range. If length == -1, the length is to the end of the run. If length == 0, then just return the line that falls just before offset (i.e. between the bounds of the previous glyph and this glyph), rather than the glyph bounds of the range. |
- Note
- EXTREME CAUTION should be used when using this method as it assumes many xForms are identity (i.e. it ignores pretty much everything except glyph widths)
- ALSO NOTE: the span must reside within an adjacent collection (a "line") of wax runs. It will NOT work on stacked collections.
Reimplemented in CWaxCollectionShape.
| bool16 CWaxRunShape::DoPerGlyphBounds | ( | | ) | const |
| protected |
Returns whether or not GetPerGlyphBounds needs to be called or not.
| virtual void CWaxRunShape::GetBorderShadingHeight | ( | int32 | mode, | | | PMLineSeg * | pShadingHeight | | ) | | const |
| virtual |
| virtual void CWaxRunShape::GetCaretLineAt | ( | int32 | offset, | | | PMLineSeg * | pCaretLine, | | | const PMLineSeg & | maxTopBottom | | ) | | const |
| virtual |
| int32 CWaxRunShape::GetFlags | ( | | ) | const |
| virtual |
Return the flags set via SetFlags()
- Note
- See IWaxRunShape for details on this method, its parameters and return values..
Implements IWaxRunShape.
| PMMatrix CWaxRunShape::GetGlyphTranslationMatrix | ( | int32 | glyphIndex | ) | const |
| protected |
return the GlyphTranslationMatrix for the specified glyph. Returns Identity if there is no matrix assigned.
- Parameters
| glyphIndex | the desired glyph within this run (relative to this run) |
- Returns
- the matrix
| virtual bool16 CWaxRunShape::GetHighlightBounds | ( | int32 | offset, | | | int32 | length, | | | K2Vector< PMPolygon4 > * | pSetOfBounds, | | | PMRect & | highlightAdjust, | | | const PMLineSeg & | maxTopBottom | | ) | | const |
| virtual |
| virtual bool16 CWaxRunShape::GetHighlightLine | ( | PMLineSeg * | pHighlightLine, | | | const PMLineSeg & | maxTopBottom | | ) | | const |
| virtual |
| virtual void CWaxRunShape::GetOwnerSelectionLine | ( | PMLineSeg * | pOwnerLine | ) | const |
| inlineprotectedvirtual |
Return the selection-height of the owner of this waxRun.
- Parameters
| pOwnerLine | OUT The selection-height of the owner. |
For the given range of CHARACTERS within this run, return the set of bounds for each GLYPH in that range.
Use pSpan as a base for the height of each bounds and the actual glyph width for the width of the bounds.
- Parameters
| offset | IN The desired start of the range |
| length | IN The length of the range |
| pSpan | IN Specifies the base for the height of the returned bounds - this can be retrieved via the GetSelectionLine() method. |
| pSetOfBounds | OUT The set of bounds - 1 per glyph within the specified range. |
- Note
- The input specifies the text index range (i.e. number of characters within the run), the output is the range of glyphs, which may or may not equal the number of characters. See IWaxGlyphs for more details.
- Should only be called if DoPerGlyphBounds() returns kTrue
- See Also
- IWaxGlyphs
| virtual bool16 CWaxRunShape::GetSelectionLine | ( | PMLineSeg * | pSelectionLine | ) | const |
| virtual |
| virtual int32 CWaxRunShape::GetSelectionMode | ( | | ) | const |
| virtual |
Return the selection mode set via SetSelectionMode() restricted to IWaxLineShape::kFlag_SelectionMask.
- Note
- See IWaxRunShape for details on this method, its parameters and return values..
Implements IWaxRunShape.
| virtual void CWaxRunShape::GetTextInkBounds | ( | PMRect * | pInkBounds | ) | const |
| protectedvirtual |
Retrieve the ink bounds of the text within this run.
- Parameters
| pInkBounds | OUT the bounds within which the ink will fall |
Reimplemented in CWaxCollectionShape.
| virtual void CWaxRunShape::GetWaxBounds | ( | int32 | offset, | | | int32 | length, | | | K2Vector< PMPolygon4 > * | pSetOfBounds | | ) | | const |
| virtual |
| PMReal CWaxRunShape::GetWaxOutlineAdjustment | ( | | ) | const |
| protected |
return the outline adjustment for this run, if any - it is used to calculate ink bounds, as the outline of the resulting glyphs needs to be taken into consideration.
- Returns
- the amount to be incorporated into the ink bounds.
- Note
- this is derived from the WaxRenderData associated with this run
| void CWaxRunShape::SetFlags | ( | int32 | flags | ) | |
| virtual |
Just does a simple assignment, nothing special
- Note
- See IWaxRunShape for details on this method, its parameters and return values..
Implements IWaxRunShape.
| virtual void CWaxRunShape::SetSelectionMode | ( | int32 | mode | ) | |
| virtual |
Set the given mode restricted to IWaxLineShape::kFlag_SelectionMask.
- Note
- See IWaxRunShape for details on this method, its parameters and return values..
Implements IWaxRunShape.
| int32 CWaxRunShape::fFlags |
| protected |
The IWaxRunShape::WaxRunFlags associated with this waxRun
| int32 CWaxRunShape::fSelModeFlags |
| protected |