Go to the documentation of this file.
46 #ifndef vtkTextRenderer_h
47 #define vtkTextRenderer_h
49 #include "vtkRenderingCoreModule.h"
61 class RegularExpression;
85 TopLeft(0), TopRight(0), BottomLeft(0), BottomRight(0),
158 vtkSetMacro(DefaultBackend,
int)
159 vtkGetMacro(DefaultBackend,
int)
173 virtual
bool FreeTypeIsSupported() {
return false; }
185 int bbox[4],
int dpi,
int backend = Default)
187 return this->GetBoundingBoxInternal(tprop, str, bbox, dpi, backend);
190 int bbox[4],
int dpi,
int backend = Default)
192 return this->GetBoundingBoxInternal(tprop, str, bbox, dpi, backend);
204 Metrics &metrics,
int dpi,
int backend = Default)
206 return this->GetMetricsInternal(tprop, str, metrics, dpi, backend);
209 Metrics &metrics,
int dpi,
int backend = Default)
211 return this->GetMetricsInternal(tprop, str, metrics, dpi, backend);
232 int backend = Default)
234 return this->RenderStringInternal(tprop, str,
data, textDims, dpi, backend);
238 int backend = Default)
240 return this->RenderStringInternal(tprop, str,
data, textDims, dpi, backend);
252 int targetWidth,
int targetHeight,
int dpi,
253 int backend = Default)
255 return this->GetConstrainedFontSizeInternal(str, tprop, targetWidth,
256 targetHeight, dpi, backend);
259 int targetWidth,
int targetHeight,
int dpi,
260 int backend = Default)
262 return this->GetConstrainedFontSizeInternal(str, tprop, targetWidth,
263 targetHeight, dpi, backend);
276 vtkPath *path,
int dpi,
int backend = Default)
278 return this->StringToPathInternal(tprop, str, path, dpi, backend);
281 vtkPath *path,
int dpi,
int backend = Default)
283 return this->StringToPathInternal(tprop, str, path, dpi, backend);
295 this->SetScaleToPowerOfTwoInternal(
scale);
310 int bbox[4],
int dpi,
int backend) = 0;
313 int bbox[4],
int dpi,
int backend) = 0;
316 Metrics &metrics,
int dpi,
int backend) = 0;
319 Metrics &metrics,
int dpi,
int backend) = 0;
323 int dpi,
int backend) = 0;
327 int dpi,
int backend) = 0;
330 int targetWidth,
int targetHeight,
331 int dpi,
int backend) = 0;
334 int targetWidth,
int targetHeight,
335 int dpi,
int backend) = 0;
338 int dpi,
int backend) = 0;
341 int dpi,
int backend) = 0;
380 #endif //vtkTextRenderer_h
~vtkTextRenderer() override
Backend
Available backends.
void SetScaleToPowerOfTwo(bool scale)
Set to true if the graphics implementation requires texture image dimensions to be a power of two.
virtual bool GetMetricsInternal(vtkTextProperty *tprop, const vtkUnicodeString &str, Metrics &metrics, int dpi, int backend)=0
Metrics()
Construct a Metrics object with all members initialized to 0.
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...
virtual bool GetBoundingBoxInternal(vtkTextProperty *tprop, const vtkStdString &str, int bbox[4], int dpi, int backend)=0
Virtual methods for concrete implementations of the public methods.
virtual void CleanUpFreeTypeEscapes(vtkStdString &str)
Replace all instances of "\$" with "$".
virtual bool GetBoundingBoxInternal(vtkTextProperty *tprop, const vtkUnicodeString &str, int bbox[4], int dpi, int backend)=0
static vtkTextRendererCleanup Cleanup
virtual bool MathTextIsSupported()
concrete dataset representing a path defined by Bezier curves.
abstract base class for most VTK objects
static vtkTextRenderer * Instance
The singleton instance and the singleton cleanup instance.
virtual bool RenderStringInternal(vtkTextProperty *tprop, const vtkStdString &str, vtkImageData *data, int textDims[2], int dpi, int backend)=0
static void SetInstance(vtkTextRenderer *instance)
Set the singleton instance.
virtual int GetConstrainedFontSizeInternal(const vtkUnicodeString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight, int dpi, int backend)=0
vtkVector2i TopLeft
The corners of the rendered text (or background, if applicable), in pixels.
vtksys::RegularExpression * MathTextRegExp
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...
bool GetMetrics(vtkTextProperty *tprop, const vtkUnicodeString &str, Metrics &metrics, int dpi, int backend=Default)
virtual void SetScaleToPowerOfTwoInternal(bool scale)=0
bool StringToPath(vtkTextProperty *tprop, const vtkUnicodeString &str, vtkPath *path, int dpi, int backend=Default)
vtksys::RegularExpression * MathTextRegExp2
int DefaultBackend
The backend to use when none is specified.
vtkVector2i Ascent
Vectors representing the rotated ascent and descent of the text.
virtual bool RenderStringInternal(vtkTextProperty *tprop, const vtkUnicodeString &str, vtkImageData *data, int textDims[2], int dpi, int backend)=0
virtual bool StringToPathInternal(vtkTextProperty *tprop, const vtkStdString &str, vtkPath *path, int dpi, int backend)=0
bool GetBoundingBox(vtkTextProperty *tprop, const vtkUnicodeString &str, int bbox[4], int dpi, int backend=Default)
topologically and geometrically regular array of data
a simple class to control print indentation
String class that stores Unicode text.
vtkVector2i Descent
Vectors representing the rotated ascent and descent of the text.
bool RenderString(vtkTextProperty *tprop, const vtkUnicodeString &str, vtkImageData *data, int textDims[2], int dpi, int backend=Default)
vtkTuple< int, 4 > BoundingBox
The axis-aligned bounding box of the rendered text and background, in pixels.
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.
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 ...
virtual bool GetMetricsInternal(vtkTextProperty *tprop, const vtkStdString &str, Metrics &metrics, int dpi, int backend)=0
virtual void CleanUpFreeTypeEscapes(vtkUnicodeString &str)
represent text properties.
Interface for generating images and path data from string data, using multiple backends.
virtual bool StringToPathInternal(vtkTextProperty *tprop, const vtkUnicodeString &str, vtkPath *path, int dpi, int backend)=0
~vtkTextRendererCleanup()
Some derived classes for the different vectors commonly used.
Wrapper around std::string to keep symbols short.
int GetConstrainedFontSize(const vtkUnicodeString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight, int dpi, int backend=Default)
virtual int GetConstrainedFontSizeInternal(const vtkStdString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight, int dpi, int backend)=0
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...