Class TTextExtentRenderer
Custom DirectWrite text renderer that does not draw, but instead captures glyph
indices, advances, offsets and per-run formatting into glyph and line lists for
measuring text extents and feeding the metafile.
Inheritance
DisposeBase
CallbackBase
TextRendererBase
TTextExtentRenderer
Implements
TextRenderer
PixelSnapping
IUnknown
ICallbackable
Inherited Members
CallbackBase.AddReference()
CallbackBase.Release()
DisposeBase.Dispose()
DisposeBase.IsDisposed
DisposeBase.Disposing
DisposeBase.Disposed
Assembly: Reportman.Drawing.Windows.dll
Syntax
public class TTextExtentRenderer : TextRendererBase, TextRenderer, PixelSnapping, IUnknown, ICallbackable, IDisposable
Constructors
View Source
TTextExtentRenderer(string, List<HtmlFormatRun>)
Declaration
public TTextExtentRenderer(string originalText, List<HtmlFormatRun> htmlRuns = null)
Parameters
Fields
View Source
_fontFace
Declaration
public FontFace _fontFace
Field Value
| Type |
Description |
| FontFace |
|
Properties
View Source
GlyphPositions
Declaration
public List<TGlyphPos> GlyphPositions { get; }
Property Value
View Source
Lines
Declaration
public List<TGlyphLine> Lines { get; }
Property Value
Methods
View Source
DrawGlyphRun(object, float, float, MeasuringMode, GlyphRun, GlyphRunDescription, ComObject)
Declaration
public override Result DrawGlyphRun(object clientDrawingContext, float baselineOriginX, float baselineOriginY, MeasuringMode measuringMode, GlyphRun glyphRun, GlyphRunDescription glyphRunDescription, ComObject clientDrawingEffect)
Parameters
| Type |
Name |
Description |
| object |
clientDrawingContext |
|
| float |
baselineOriginX |
|
| float |
baselineOriginY |
|
| MeasuringMode |
measuringMode |
|
| GlyphRun |
glyphRun |
|
| GlyphRunDescription |
glyphRunDescription |
|
| ComObject |
clientDrawingEffect |
|
Returns
Overrides
View Source
DrawInlineObject(object, float, float, InlineObject, bool, bool, ComObject)
Declaration
public override Result DrawInlineObject(object clientDrawingContext, float originX, float originY, InlineObject inlineObject, bool isSideways, bool isRightToLeft, ComObject clientDrawingEffect)
Parameters
| Type |
Name |
Description |
| object |
clientDrawingContext |
|
| float |
originX |
|
| float |
originY |
|
| InlineObject |
inlineObject |
|
| bool |
isSideways |
|
| bool |
isRightToLeft |
|
| ComObject |
clientDrawingEffect |
|
Returns
Overrides
View Source
DrawStrikethrough(object, float, float, ref Strikethrough, ComObject)
Declaration
public override Result DrawStrikethrough(object clientDrawingContext, float baselineOriginX, float baselineOriginY, ref Strikethrough strikethrough, ComObject clientDrawingEffect)
Parameters
| Type |
Name |
Description |
| object |
clientDrawingContext |
|
| float |
baselineOriginX |
|
| float |
baselineOriginY |
|
| Strikethrough |
strikethrough |
|
| ComObject |
clientDrawingEffect |
|
Returns
Overrides
View Source
DrawUnderline(object, float, float, ref Underline, ComObject)
Declaration
public override Result DrawUnderline(object clientDrawingContext, float baselineOriginX, float baselineOriginY, ref Underline underline, ComObject clientDrawingEffect)
Parameters
| Type |
Name |
Description |
| object |
clientDrawingContext |
|
| float |
baselineOriginX |
|
| float |
baselineOriginY |
|
| Underline |
underline |
|
| ComObject |
clientDrawingEffect |
|
Returns
Overrides
View Source
GetCurrentTransform(object)
Declaration
public override RawMatrix3x2 GetCurrentTransform(object clientDrawingContext)
Parameters
| Type |
Name |
Description |
| object |
clientDrawingContext |
|
Returns
| Type |
Description |
| RawMatrix3x2 |
|
Overrides
View Source
GetPixelsPerDip(object)
Declaration
public override float GetPixelsPerDip(object clientDrawingContext)
Parameters
| Type |
Name |
Description |
| object |
clientDrawingContext |
|
Returns
Overrides
View Source
IsPixelSnappingDisabled(object)
Declaration
public override bool IsPixelSnappingDisabled(object clientDrawingContext)
Parameters
| Type |
Name |
Description |
| object |
clientDrawingContext |
|
Returns
Overrides
Implements
SharpDX.DirectWrite.TextRenderer
SharpDX.DirectWrite.PixelSnapping
SharpDX.IUnknown
SharpDX.ICallbackable