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) VTK_OVERRIDE;
46 
48 
50 
53  bool FreeTypeIsSupported() VTK_OVERRIDE;
54  bool MathTextIsSupported() VTK_OVERRIDE;
56 
57 protected:
59  ~vtkMathTextFreeTypeTextRenderer() VTK_OVERRIDE;
60 
62 
65  bool GetBoundingBoxInternal(vtkTextProperty *tprop, const vtkStdString &str,
66  int bbox[4], int dpi, int backend) VTK_OVERRIDE;
67  bool GetBoundingBoxInternal(vtkTextProperty *tprop,
68  const vtkUnicodeString &str,
69  int bbox[4], int dpi, int backend) VTK_OVERRIDE;
70  bool GetMetricsInternal(vtkTextProperty *tprop, const vtkStdString &str,
71  Metrics &metrics, int dpi, int backend) VTK_OVERRIDE;
72  bool GetMetricsInternal(vtkTextProperty *tprop, const vtkUnicodeString &str,
73  Metrics &metrics, int dpi, int backend) VTK_OVERRIDE;
74  bool RenderStringInternal(vtkTextProperty *tprop, const vtkStdString &str,
75  vtkImageData *data, int textDims[2], int dpi,
76  int backend) VTK_OVERRIDE;
77  bool RenderStringInternal(vtkTextProperty *tprop, const vtkUnicodeString &str,
78  vtkImageData *data, int textDims[2], int dpi,
79  int backend) VTK_OVERRIDE;
80  int GetConstrainedFontSizeInternal(const vtkStdString &str,
81  vtkTextProperty *tprop,
82  int targetWidth, int targetHeight, int dpi,
83  int backend) VTK_OVERRIDE;
84  int GetConstrainedFontSizeInternal(const vtkUnicodeString &str,
85  vtkTextProperty *tprop,
86  int targetWidth, int targetHeight, int dpi,
87  int backend) VTK_OVERRIDE;
88  bool StringToPathInternal(vtkTextProperty *tprop, const vtkStdString &str,
89  vtkPath *path, int dpi, int backend) VTK_OVERRIDE;
90  bool StringToPathInternal(vtkTextProperty *tprop, const vtkUnicodeString &str,
91  vtkPath *path, int dpi, int backend) VTK_OVERRIDE;
92  void SetScaleToPowerOfTwoInternal(bool scale) VTK_OVERRIDE;
94 
95 private:
96  vtkMathTextFreeTypeTextRenderer(const vtkMathTextFreeTypeTextRenderer &) VTK_DELETE_FUNCTION;
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:41
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.
Definition: vtkPath.h:32
Default implementation of vtkTextRenderer.
static vtkTextRenderer * New()
This is a singleton pattern New.
a simple class to control print indentation
Definition: vtkIndent.h:33
topologically and geometrically regular array of data
Definition: vtkImageData.h:39
represent text properties.
virtual bool FreeTypeIsSupported()
Test for availability of various backends.
Interface for generating images and path data from string data, using multiple backends.
Abstract interface to equation rendering.
FreeType library support.
String class that stores Unicode text.