37 #ifndef vtkTextRenderer_h
38 #define vtkTextRenderer_h
41 #include "vtkRenderingCoreModule.h"
45 VTK_ABI_NAMESPACE_BEGIN
54 class RegularExpression;
57 VTK_ABI_NAMESPACE_BEGIN
157 vtkSetMacro(DefaultBackend,
int);
158 vtkGetMacro(DefaultBackend,
int);
185 return this->GetBoundingBoxInternal(tprop, str, bbox, dpi, backend);
196 int backend = Default)
198 return this->GetMetricsInternal(tprop, str, metrics, dpi, backend);
218 int textDims[2],
int dpi,
int backend = Default)
220 return this->RenderStringInternal(tprop, str, data, textDims, dpi, backend);
232 int targetHeight,
int dpi,
int backend = Default)
234 return this->GetConstrainedFontSizeInternal(
235 str, tprop, targetWidth, targetHeight, dpi, backend);
250 return this->StringToPathInternal(tprop, str, path, dpi, backend);
272 virtual bool GetBoundingBoxInternal(
274 virtual bool GetMetricsInternal(
279 int targetWidth,
int targetHeight,
int dpi,
int backend) = 0;
280 virtual bool StringToPathInternal(
282 virtual void SetScaleToPowerOfTwoInternal(
bool scale) = 0;
320 VTK_ABI_NAMESPACE_END
321 #endif // vtkTextRenderer_h
Wrapper around std::string to keep symbols short.
bool GetBoundingBox(vtkTextProperty *tprop, const vtkStdString &str, int bbox[4], int dpi, int backend=Default)
Given a text property and a string, get the bounding box {xmin, xmax, ymin, ymax} of the rendered str...
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
concrete dataset representing a path defined by Bezier curves.
vtkVector2i TopRight
The corners of the rendered text (or background, if applicable), in pixels.
Backend
Available backends.
vtkVector2i Descent
Vectors representing the rotated ascent and descent of the text.
bool StringToPath(vtkTextProperty *tprop, const vtkStdString &str, vtkPath *path, int dpi, int backend=Default)
Given a text property and a string, this function populates the vtkPath path with the outline of the ...
vtkVector2i TopLeft
The corners of the rendered text (or background, if applicable), in pixels.
static vtkTextRendererCleanup Cleanup
The singleton instance and the singleton cleanup instance.
vtksys::RegularExpression * MathTextRegExp2
void SetScaleToPowerOfTwo(bool scale)
Set to true if the graphics implementation requires texture image dimensions to be a power of two...
int DefaultBackend
The backend to use when none is specified.
bool RenderString(vtkTextProperty *tprop, const vtkStdString &str, vtkImageData *data, int textDims[2], int dpi, int backend=Default)
Given a text property and a string, this function initializes the vtkImageData *data and renders it i...
vtkTuple< int, 4 > BoundingBox
The axis-aligned bounding box of the rendered text and background, in pixels.
a simple class to control print indentation
virtual bool MathTextIsSupported()
topologically and geometrically regular array of data
Some derived classes for the different vectors commonly used.
represent text properties.
virtual bool FreeTypeIsSupported()
Test for availability of various backends.
Metrics()
Construct a Metrics object with all members initialized to 0.
Interface for generating images and path data from string data, using multiple backends.
vtkVector2i Ascent
Vectors representing the rotated ascent and descent of the text.
bool GetMetrics(vtkTextProperty *tprop, const vtkStdString &str, Metrics &metrics, int dpi, int backend=Default)
Given a text property and a string, get some metrics for the rendered string.
vtkVector2i BottomLeft
The corners of the rendered text (or background, if applicable), in pixels.
vtksys::RegularExpression * MathTextRegExpColumn
int GetConstrainedFontSize(const vtkStdString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight, int dpi, int backend=Default)
This function returns the font size (in points) and sets the size in tprop that is required to fit th...
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtksys::RegularExpression * MathTextRegExp
vtkVector2i BottomRight
The corners of the rendered text (or background, if applicable), in pixels.
static vtkTextRenderer * Instance
The singleton instance and the singleton cleanup instance.