45 #ifndef vtkTextRenderer_h
46 #define vtkTextRenderer_h
60 class RegularExpression;
83 TopLeft(0), TopRight(0), BottomLeft(0), BottomRight(0)
105 virtual
void PrintSelf(ostream &os,
vtkIndent indent);
150 bool FreeTypeIsSupported() {
return HasFreeType; }
162 int bbox[4],
int dpi = 120,
int backend = Default)
164 return this->GetBoundingBoxInternal(tprop, str, bbox, dpi, backend);
167 int bbox[4],
int dpi = 120,
int backend = Default)
169 return this->GetBoundingBoxInternal(tprop, str, bbox, dpi, backend);
180 Metrics &metrics,
int dpi = 120,
int backend = Default)
182 return this->GetMetricsInternal(tprop, str, metrics, dpi, backend);
185 Metrics &metrics,
int dpi = 120,
int backend = Default)
187 return this->GetMetricsInternal(tprop, str, metrics, dpi, backend);
207 int backend = Default)
209 return this->RenderStringInternal(tprop, str, data, textDims, dpi, backend);
213 int backend = Default)
215 return this->RenderStringInternal(tprop, str, data, textDims, dpi, backend);
227 int targetWidth,
int targetHeight,
int dpi = 120,
228 int backend = Default)
230 return this->GetConstrainedFontSizeInternal(str, tprop, targetWidth,
231 targetHeight, dpi, backend);
234 int targetWidth,
int targetHeight,
int dpi = 120,
235 int backend = Default)
237 return this->GetConstrainedFontSizeInternal(str, tprop, targetWidth,
238 targetHeight, dpi, backend);
251 return this->StringToPathInternal(tprop, str, path, backend);
256 return this->StringToPathInternal(tprop, str, path, backend);
267 this->SetScaleToPowerOfTwoInternal(scale);
281 int bbox[4],
int dpi,
int backend) = 0;
284 int bbox[4],
int dpi,
int backend) = 0;
287 Metrics &metrics,
int dpi,
int backend) = 0;
290 Metrics &metrics,
int dpi,
int backend) = 0;
294 int dpi,
int backend) = 0;
298 int dpi,
int backend) = 0;
299 virtual int GetConstrainedFontSizeInternal(
const vtkStdString &str,
301 int targetWidth,
int targetHeight,
302 int dpi,
int backend) = 0;
305 int targetWidth,
int targetHeight,
306 int dpi,
int backend) = 0;
313 virtual void SetScaleToPowerOfTwoInternal(
bool scale) = 0;
350 #endif //vtkTextRenderer_h
GLsizei GLsizei GLenum GLenum const GLvoid * data
Wrapper around std::string to keep symbols short.
abstract base class for most VTK objects
concrete dataset representing a path defined by Bezier curves.
GLenum GLenum GLenum GLenum GLenum scale
bool GetBoundingBox(vtkTextProperty *tprop, const vtkStdString &str, int bbox[4], int dpi=120, int backend=Default)
#define vtkGetMacro(name, type)
static vtkTextRendererCleanup Cleanup
bool StringToPath(vtkTextProperty *tprop, const vtkStdString &str, vtkPath *path, int backend=Default)
bool StringToPath(vtkTextProperty *tprop, const vtkUnicodeString &str, vtkPath *path, int backend=Default)
bool RenderString(vtkTextProperty *tprop, const vtkUnicodeString &str, vtkImageData *data, int textDims[2]=NULL, int dpi=120, int backend=Default)
#define vtkTypeMacro(thisClass, superclass)
vtksys::RegularExpression * MathTextRegExp2
void SetScaleToPowerOfTwo(bool scale)
vtkTuple< int, 4 > BoundingBox
a simple class to control print indentation
topologically and geometrically regular array of data
int GetConstrainedFontSize(const vtkStdString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight, int dpi=120, int backend=Default)
GLsizei const GLchar ** path
represent text properties.
bool GetMetrics(vtkTextProperty *tprop, const vtkUnicodeString &str, Metrics &metrics, int dpi=120, int backend=Default)
int GetConstrainedFontSize(const vtkUnicodeString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight, int dpi=120, int backend=Default)
bool GetBoundingBox(vtkTextProperty *tprop, const vtkUnicodeString &str, int bbox[4], int dpi=120, int backend=Default)
bool MathTextIsSupported()
bool GetMetrics(vtkTextProperty *tprop, const vtkStdString &str, Metrics &metrics, int dpi=120, int backend=Default)
bool RenderString(vtkTextProperty *tprop, const vtkStdString &str, vtkImageData *data, int textDims[2]=NULL, int dpi=120, int backend=Default)
Interface for generating images and path data from string data, using multiple backends.
#define VTKRENDERINGCORE_EXPORT
vtksys::RegularExpression * MathTextRegExp
String class that stores Unicode text.
static vtkTextRenderer * Instance
#define vtkSetMacro(name, type)