VTK
9.3.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Rendering
FreeType
vtkMathTextUtilities.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2
// SPDX-License-Identifier: BSD-3-Clause
15
#ifndef vtkMathTextUtilities_h
16
#define vtkMathTextUtilities_h
17
18
#include "
vtkObject.h
"
19
#include "vtkRenderingFreeTypeModule.h"
// For export macro
20
#include "
vtkTextRenderer.h
"
// for metrics
21
22
VTK_ABI_NAMESPACE_BEGIN
23
class
vtkImageData
;
24
class
vtkPath
;
25
class
vtkTextProperty
;
26
class
vtkTextActor
;
27
class
vtkViewport
;
28
29
//----------------------------------------------------------------------------
30
// Singleton cleanup
31
32
class
VTKRENDERINGFREETYPE_EXPORT
vtkMathTextUtilitiesCleanup
33
{
34
public
:
35
vtkMathTextUtilitiesCleanup
();
36
~
vtkMathTextUtilitiesCleanup
();
37
38
private
:
39
vtkMathTextUtilitiesCleanup
(
const
vtkMathTextUtilitiesCleanup
& other) =
delete
;
40
vtkMathTextUtilitiesCleanup
& operator=(
const
vtkMathTextUtilitiesCleanup
& rhs) =
delete
;
41
};
42
43
class
VTKRENDERINGFREETYPE_EXPORT
vtkMathTextUtilities
:
public
vtkObject
44
{
45
public
:
46
vtkTypeMacro(
vtkMathTextUtilities
,
vtkObject
);
47
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
48
52
virtual
bool
IsAvailable
() {
return
false
; }
// Override in subclasses.
53
62
static
vtkMathTextUtilities
*
New
();
63
67
static
vtkMathTextUtilities
* GetInstance();
68
73
static
void
SetInstance(
vtkMathTextUtilities
* instance);
74
79
virtual
bool
GetBoundingBox(
vtkTextProperty
* tprop,
const
char
* str,
int
dpi,
int
bbox[4]) = 0;
80
84
virtual
bool
GetMetrics(
85
vtkTextProperty
* tprop,
const
char
* str,
int
dpi,
vtkTextRenderer::Metrics
& metrics) = 0;
86
94
virtual
bool
RenderString(
const
char
* str,
vtkImageData
*
data
,
vtkTextProperty
* tprop,
int
dpi,
95
int
textDims[2] =
nullptr
) = 0;
96
101
virtual
bool
StringToPath(
const
char
* str,
vtkPath
* path,
vtkTextProperty
* tprop,
int
dpi) = 0;
102
109
virtual
int
GetConstrainedFontSize(
110
const
char
* str,
vtkTextProperty
* tprop,
int
targetWidth,
int
targetHeight,
int
dpi);
111
113
118
virtual
bool
GetScaleToPowerOfTwo() = 0;
119
virtual
void
SetScaleToPowerOfTwo(
bool
scale
) = 0;
121
122
protected
:
123
vtkMathTextUtilities
();
124
~
vtkMathTextUtilities
()
override
;
125
126
private
:
127
vtkMathTextUtilities
(
const
vtkMathTextUtilities
&) =
delete
;
128
void
operator=(
const
vtkMathTextUtilities
&) =
delete
;
129
131
134
static
vtkMathTextUtilities
* Instance;
135
static
vtkMathTextUtilitiesCleanup
Cleanup;
137
};
138
139
VTK_ABI_NAMESPACE_END
140
#endif
vtkX3D::data
Definition:
vtkX3D.h:315
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:51
vtkMathTextUtilities::IsAvailable
virtual bool IsAvailable()
Returns true if mathtext rendering is available.
Definition:
vtkMathTextUtilities.h:52
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPath
concrete dataset representing a path defined by Bezier curves.
Definition:
vtkPath.h:24
vtkViewport
abstract specification for Viewports
Definition:
vtkViewport.h:44
vtkTextRenderer.h
vtkTextActor
An actor that displays text.
Definition:
vtkTextActor.h:45
vtkMathTextUtilitiesCleanup
Definition:
vtkMathTextUtilities.h:32
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:28
vtkImageData
topologically and geometrically regular array of data
Definition:
vtkImageData.h:42
vtkTextProperty
represent text properties.
Definition:
vtkTextProperty.h:25
vtkTextRenderer::Metrics
Definition:
vtkTextRenderer.h:73
vtkMathTextUtilities
Abstract interface to equation rendering.
Definition:
vtkMathTextUtilities.h:43
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkObject.h
vtkX3D::scale
Definition:
vtkX3D.h:229
Generated on Sun Dec 8 2024 22:05:47 for VTK by
1.8.10