46 #ifndef vtkTextRenderer_h
47 #define vtkTextRenderer_h
49 #include "vtkRenderingCoreModule.h"
61 class RegularExpression;
85 TopLeft(0), TopRight(0), BottomLeft(0), BottomRight(0)
109 virtual
void PrintSelf(ostream &os,
vtkIndent indent);
148 vtkGetMacro(DefaultBackend,
int)
162 virtual
bool FreeTypeIsSupported() {
return false; }
174 int bbox[4],
int dpi,
int backend = Default)
176 return this->GetBoundingBoxInternal(tprop, str, bbox, dpi, backend);
179 int bbox[4],
int dpi,
int backend = Default)
181 return this->GetBoundingBoxInternal(tprop, str, bbox, dpi, backend);
193 Metrics &metrics,
int dpi,
int backend = Default)
195 return this->GetMetricsInternal(tprop, str, metrics, dpi, backend);
198 Metrics &metrics,
int dpi,
int backend = Default)
200 return this->GetMetricsInternal(tprop, str, metrics, dpi, backend);
221 int backend = Default)
223 return this->RenderStringInternal(tprop, str, data, textDims, dpi, backend);
227 int backend = Default)
229 return this->RenderStringInternal(tprop, str, data, textDims, dpi, backend);
241 int targetWidth,
int targetHeight,
int dpi,
242 int backend = Default)
244 return this->GetConstrainedFontSizeInternal(str, tprop, targetWidth,
245 targetHeight, dpi, backend);
248 int targetWidth,
int targetHeight,
int dpi,
249 int backend = Default)
251 return this->GetConstrainedFontSizeInternal(str, tprop, targetWidth,
252 targetHeight, dpi, backend);
265 vtkPath *path,
int dpi,
int backend = Default)
267 return this->StringToPathInternal(tprop, str, path, dpi, backend);
270 vtkPath *path,
int dpi,
int backend = Default)
272 return this->StringToPathInternal(tprop, str, path, dpi, backend);
284 this->SetScaleToPowerOfTwoInternal(scale);
299 int bbox[4],
int dpi,
int backend) = 0;
302 int bbox[4],
int dpi,
int backend) = 0;
305 Metrics &metrics,
int dpi,
int backend) = 0;
308 Metrics &metrics,
int dpi,
int backend) = 0;
312 int dpi,
int backend) = 0;
316 int dpi,
int backend) = 0;
317 virtual int GetConstrainedFontSizeInternal(
const vtkStdString &str,
319 int targetWidth,
int targetHeight,
320 int dpi,
int backend) = 0;
323 int targetWidth,
int targetHeight,
324 int dpi,
int backend) = 0;
327 int dpi,
int backend) = 0;
330 int dpi,
int backend) = 0;
331 virtual void SetScaleToPowerOfTwoInternal(
bool scale) = 0;
369 #endif //vtkTextRenderer_h
bool StringToPath(vtkTextProperty *tprop, const vtkUnicodeString &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 ...
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
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.
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.
bool GetMetrics(vtkTextProperty *tprop, const vtkUnicodeString &str, Metrics &metrics, int dpi, int backend=Default)
Given a text property and a string, get some metrics for the rendered string.
static vtkTextRendererCleanup Cleanup
The singleton instance and the singleton cleanup instance.
vtksys::RegularExpression * MathTextRegExp2
void SetScaleToPowerOfTwo(bool scale)
Set to true if the graphics implmentation 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.
bool RenderString(vtkTextProperty *tprop, const vtkUnicodeString &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...
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.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Metrics()
Construct a Metrics object with all members initialized to 0.
Interface for generating images and path data from string data, using multiple backends.
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.
int GetConstrainedFontSize(const vtkUnicodeString &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...
vtkVector2i BottomLeft
The corners of the rendered text (or background, if applicable), in pixels.
bool GetBoundingBox(vtkTextProperty *tprop, const vtkUnicodeString &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...
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...
vtksys::RegularExpression * MathTextRegExp
vtkVector2i BottomRight
The corners of the rendered text (or background, if applicable), in pixels.
String class that stores Unicode text.
static vtkTextRenderer * Instance
The singleton instance and the singleton cleanup instance.