VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkMathTextUtilities.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMathTextUtilities.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 =========================================================================*/
26 #ifndef __vtkMathTextUtilities_h
27 #define __vtkMathTextUtilities_h
28 
29 #include "vtkRenderingFreeTypeModule.h" // For export macro
30 #include "vtkObject.h"
31 
32 class vtkImageData;
33 class vtkPath;
34 class vtkTextProperty;
35 class vtkTextActor;
36 class vtkViewport;
37 
38 //----------------------------------------------------------------------------
39 // Singleton cleanup
40 
42 {
43 public:
46 
47 private:
48  vtkMathTextUtilitiesCleanup(const vtkMathTextUtilitiesCleanup& other); // no copy constructor
49  vtkMathTextUtilitiesCleanup& operator=(const vtkMathTextUtilitiesCleanup& rhs); // no copy assignment
50 };
51 
53 {
54 public:
56  void PrintSelf(ostream& os, vtkIndent indent);
57 
64  static vtkMathTextUtilities *New();
65 
67  static vtkMathTextUtilities* GetInstance();
68 
71  static void SetInstance(vtkMathTextUtilities *instance);
72 
74 
76  virtual bool GetBoundingBox(vtkTextProperty *tprop, const char *str,
77  unsigned int dpi, int bbox[4]) = 0;
79 
81 
86  virtual bool RenderString(const char *str, vtkImageData *data,
87  vtkTextProperty *tprop,
88  unsigned int dpi, int textDims[2] = NULL) = 0;
90 
92 
94  virtual bool StringToPath(const char *str, vtkPath *path,
95  vtkTextProperty *tprop) = 0;
97 
99 
103  virtual int GetConstrainedFontSize(const char *str,
104  vtkTextProperty *tprop,
105  int targetWidth, int targetHeight,
106  unsigned int dpi);
108 
110 
113  virtual bool GetScaleToPowerOfTwo() = 0;
114  virtual void SetScaleToPowerOfTwo(bool scale) = 0;
116 
117 protected:
119  virtual ~vtkMathTextUtilities();
120 
121 private:
122  vtkMathTextUtilities(const vtkMathTextUtilities&); // Not implemented.
123  void operator=(const vtkMathTextUtilities&); // Not implemented.
124 
126 
127  static vtkMathTextUtilities* Instance;
128  static vtkMathTextUtilitiesCleanup Cleanup;
129 };
131 
132 #endif
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: vtkgl.h:11339
abstract base class for most VTK objects
Definition: vtkObject.h:61
concrete dataset representing a path defined by Bezier curves.
Definition: vtkPath.h:34
abstract specification for Viewports
Definition: vtkViewport.h:46
GLenum GLenum GLenum GLenum GLenum scale
Definition: vtkgl.h:15942
#define VTKRENDERINGFREETYPE_EXPORT
An actor that displays text. Scaled or unscaled.
Definition: vtkTextActor.h:55
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
Definition: vtkIndent.h:38
topologically and geometrically regular array of data
Definition: vtkImageData.h:44
GLsizei const GLchar ** path
Definition: vtkgl.h:13835
represent text properties.
Abstract interface to equation rendering.
static vtkObject * New()