18 double contourLabelOffset;
19 double contourLabelSpace;
26 bool Init(
double pathLength,
31 return currentOffset<pathLength;
46 currentOffset+=textWidth;
51 currentOffset+=contourLabelSpace;
67class PathTextRenderer final :
public IDWriteTextRenderer
82 _In_opt_
void* clientDrawingContext,
83 FLOAT baselineOriginX,
84 FLOAT baselineOriginY,
85 DWRITE_MEASURING_MODE measuringMode,
86 _In_ DWRITE_GLYPH_RUN
const* glyphRun,
87 _In_ DWRITE_GLYPH_RUN_DESCRIPTION
const* glyphRunDescription,
88 _In_opt_ IUnknown* clientDrawingEffect
92 _In_opt_
void* clientDrawingContext,
93 FLOAT baselineOriginX,
94 FLOAT baselineOriginY,
95 _In_ DWRITE_UNDERLINE
const* underline,
96 _In_opt_ IUnknown* clientDrawingEffect
100 _In_opt_
void* clientDrawingContext,
101 FLOAT baselineOriginX,
102 FLOAT baselineOriginY,
103 _In_ DWRITE_STRIKETHROUGH
const* strikethrough,
104 _In_opt_ IUnknown* clientDrawingEffect
108 _In_opt_
void* clientDrawingContext,
111 IDWriteInlineObject* inlineObject,
114 _In_opt_ IUnknown* clientDrawingEffect
118 _In_opt_
void* clientDrawingContext,
119 _Out_ BOOL* isDisabled
123 _In_opt_
void* clientDrawingContext,
124 _Out_ DWRITE_MATRIX* transform
128 _In_opt_
void* clientDrawingContext,
129 _Out_ FLOAT* pixelsPerDip
134 _Outptr_
void** object
142 float m_pixelsPerDip;
145 PathTextRenderer(
float pixelsPerDip);
Definition PathTextRenderer.h:16
bool Init(double pathLength, double textWidth)
void AdvanceText()
Definition PathTextRenderer.h:44
double GetCurrentOffset() const
Definition PathTextRenderer.h:34
void AdvanceSpace()
Definition PathTextRenderer.h:49
ContourLabelHelper(double contourLabelOffset, double contourLabelSpace)
void AdvancePartial(double width)
Definition PathTextRenderer.h:39
bool ContinueDrawing() const
Definition PathTextRenderer.h:29
STDMETHOD DrawGlyphRun(_In_opt_ void *clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuringMode, _In_ DWRITE_GLYPH_RUN const *glyphRun, _In_ DWRITE_GLYPH_RUN_DESCRIPTION const *glyphRunDescription, _In_opt_ IUnknown *clientDrawingEffect) override
STDMETHOD QueryInterface(REFIID riid, _Outptr_ void **object) override
STDMETHOD DrawInlineObject(_In_opt_ void *clientDrawingContext, FLOAT originX, FLOAT originY, IDWriteInlineObject *inlineObject, BOOL isSideways, BOOL isRightToLeft, _In_opt_ IUnknown *clientDrawingEffect) override
STDMETHOD IsPixelSnappingDisabled(_In_opt_ void *clientDrawingContext, _Out_ BOOL *isDisabled) override
STDMETHOD GetCurrentTransform(_In_opt_ void *clientDrawingContext, _Out_ DWRITE_MATRIX *transform) override
static void CreatePathTextRenderer(float pixelsPerDip, PathTextRenderer **textRenderer)
STDMETHOD DrawStrikethrough(_In_opt_ void *clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, _In_ DWRITE_STRIKETHROUGH const *strikethrough, _In_opt_ IUnknown *clientDrawingEffect) override
static void DestroyPathTextRenderer(PathTextRenderer *textRenderer)
STDMETHOD_(ULONG, AddRef)() override
STDMETHOD GetPixelsPerDip(_In_opt_ void *clientDrawingContext, _Out_ FLOAT *pixelsPerDip) override
STDMETHOD DrawUnderline(_In_opt_ void *clientDrawingContext, FLOAT baselineOriginX, FLOAT baselineOriginY, _In_ DWRITE_UNDERLINE const *underline, _In_opt_ IUnknown *clientDrawingEffect) override
STDMETHOD_(ULONG, Release)() override
Definition PathTextRenderer.h:60
ID2D1Geometry * geometry
Definition PathTextRenderer.h:63
ContourLabelHelper * helper
Definition PathTextRenderer.h:61
ID2D1Brush * brush
Definition PathTextRenderer.h:64
ID2D1RenderTarget * d2DContext
Definition PathTextRenderer.h:62