MCPcopy Create free account
hub / github.com/cmuratori/refterm / DWriteGetTextExtent

Function DWriteGetTextExtent

refterm_example_dwrite.cpp:73–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71}
72
73extern "C" SIZE DWriteGetTextExtent(glyph_generator *GlyphGen, int StringLen, wchar_t *String)
74{
75 SIZE Result = {0};
76
77 IDWriteTextLayout *Layout = 0;
78 GlyphGen->DWriteFactory->CreateTextLayout(String, StringLen, GlyphGen->TextFormat,
79 (float)GlyphGen->TransferWidth, (float)GlyphGen->TransferHeight, &Layout);
80 if(Layout)
81 {
82 DWRITE_TEXT_METRICS Metrics = {0};
83 Layout->GetMetrics(&Metrics);
84 Assert(Metrics.left == 0);
85 Assert(Metrics.top == 0);
86 Result.cx = (uint32_t)(Metrics.width + 0.5f);
87 Result.cy = (uint32_t)(Metrics.height + 0.5f);
88
89 Layout->Release();
90 }
91
92 return Result;
93}
94
95void DWriteReleaseFont(glyph_generator *GlyphGen)
96{

Callers 1

GetGlyphDimFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected