VTK
vtkMathTextFreeTypeTextRenderer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMathTextFreeTypeTextRenderer.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
31 #ifndef vtkMathTextFreeTypeTextRenderer_h
32 #define vtkMathTextFreeTypeTextRenderer_h
33 
34 #include "vtkRenderingFreeTypeModule.h" // For export macro
35 #include "vtkTextRenderer.h"
36 
37 class vtkFreeTypeTools;
39 
40 class VTKRENDERINGFREETYPE_EXPORT vtkMathTextFreeTypeTextRenderer :
41  public vtkTextRenderer
42 {
43 public:
45  void PrintSelf(ostream &os, vtkIndent indent);
46 
48 
50 
53  virtual bool FreeTypeIsSupported();
54  virtual bool MathTextIsSupported();
56 
57 protected:
60 
62 
65  bool GetBoundingBoxInternal(vtkTextProperty *tprop, const vtkStdString &str,
66  int bbox[4], int dpi, int backend);
68  const vtkUnicodeString &str,
69  int bbox[4], int dpi, int backend);
70  bool GetMetricsInternal(vtkTextProperty *tprop, const vtkStdString &str,
71  Metrics &metrics, int dpi, int backend);
72  bool GetMetricsInternal(vtkTextProperty *tprop, const vtkUnicodeString &str,
73  Metrics &metrics, int dpi, int backend);
74  bool RenderStringInternal(vtkTextProperty *tprop, const vtkStdString &str,
75  vtkImageData *data, int textDims[2], int dpi,
76  int backend);
78  vtkImageData *data, int textDims[2], int dpi,
79  int backend);
81  vtkTextProperty *tprop,
82  int targetWidth, int targetHeight, int dpi,
83  int backend);
85  vtkTextProperty *tprop,
86  int targetWidth, int targetHeight, int dpi,
87  int backend);
88  bool StringToPathInternal(vtkTextProperty *tprop, const vtkStdString &str,
89  vtkPath *path, int dpi, int backend);
91  vtkPath *path, int dpi, int backend);
94 
95 private:
97  void operator=(const vtkMathTextFreeTypeTextRenderer &) VTK_DELETE_FUNCTION;
98 
99  vtkFreeTypeTools *FreeTypeTools;
100  vtkMathTextUtilities *MathTextUtilities;
101 };
102 
103 #endif //vtkMathTextFreeTypeTextRenderer_h
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:47
virtual bool RenderStringInternal(vtkTextProperty *tprop, const vtkStdString &str, vtkImageData *data, int textDims[2], int dpi, int backend)=0
Virtual methods for concrete implementations of the public methods.
concrete dataset representing a path defined by Bezier curves.
Definition: vtkPath.h:35
virtual bool GetMetricsInternal(vtkTextProperty *tprop, const vtkStdString &str, Metrics &metrics, int dpi, int backend)=0
Virtual methods for concrete implementations of the public methods.
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.
Default implementation of vtkTextRenderer.
static vtkTextRenderer * New()
This is a singleton pattern New.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual int GetConstrainedFontSizeInternal(const vtkStdString &str, vtkTextProperty *tprop, int targetWidth, int targetHeight, int dpi, int backend)=0
Virtual methods for concrete implementations of the public methods.
virtual bool MathTextIsSupported()
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
represent text properties.
virtual bool FreeTypeIsSupported()
Test for availability of various backends.
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
Interface for generating images and path data from string data, using multiple backends.
virtual void SetScaleToPowerOfTwoInternal(bool scale)=0
Virtual methods for concrete implementations of the public methods.
Abstract interface to equation rendering.
virtual bool StringToPathInternal(vtkTextProperty *tprop, const vtkStdString &str, vtkPath *path, int dpi, int backend)=0
Virtual methods for concrete implementations of the public methods.
FreeType library support.
String class that stores Unicode text.