MCPcopy Create free account
hub / github.com/Kitware/VTK / RenderStringInternal

Method RenderStringInternal

Rendering/FreeType/vtkMathTextFreeTypeTextRenderer.cxx:169–217  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

167
168//------------------------------------------------------------------------------
169bool vtkMathTextFreeTypeTextRenderer::RenderStringInternal(vtkTextProperty* tprop,
170 const vtkStdString& str, vtkImageData* data, int textDims[2], int dpi, int backend)
171{
172 if (!data || !tprop)
173 {
174 vtkErrorMacro("No image container and/or text property supplied!");
175 return false;
176 }
177
178 if (static_cast<Backend>(backend) == Default)
179 {
180 backend = this->DefaultBackend;
181 }
182
183 if (static_cast<Backend>(backend) == Detect)
184 {
185 backend = this->DetectBackend(str);
186 }
187
188 switch (static_cast<Backend>(backend))
189 {
190 case MathText:
191 if (this->MathTextIsSupported())
192 {
193 if (this->MathTextUtilities->RenderString(str.c_str(), data, tprop, dpi, textDims))
194 {
195 return true;
196 }
197 }
198 vtkDebugMacro("MathText unavailable. Falling back to FreeType.");
199 [[fallthrough]];
200 case FreeType:
201 {
202 vtkStdString cleanString(str);
203 this->CleanUpFreeTypeEscapes(cleanString);
204 // Interpret string as UTF-8, use the UTF-16 RenderString overload:
205 return this->FreeTypeTools->RenderString(tprop, cleanString, dpi, data, textDims);
206 }
207 case Default:
208 case UserBackend:
209 default:
210 vtkDebugMacro("Unrecognized backend requested: " << backend);
211 break;
212 case Detect:
213 vtkDebugMacro("Unhandled 'Detect' backend requested!");
214 break;
215 }
216 return false;
217}
218
219//------------------------------------------------------------------------------
220int vtkMathTextFreeTypeTextRenderer::GetConstrainedFontSizeInternal(const vtkStdString& str,

Callers

nothing calls this directly

Calls 5

MathTextIsSupportedMethod · 0.95
DetectBackendMethod · 0.80
RenderStringMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected