VTK  9.6.2
vtkTextActor.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
28
29#ifndef vtkTextActor_h
30#define vtkTextActor_h
31
32#include "vtkRenderingCoreModule.h" // For export macro
33#include "vtkTexturedActor2D.h"
34#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
35
36#include "vtkDeprecation.h" // For deprecation macro
37
38VTK_ABI_NAMESPACE_BEGIN
39class vtkImageData;
40class vtkPoints;
41class vtkPolyData;
43class vtkProperty2D;
44class vtkTextProperty;
45class vtkTextRenderer;
46class vtkTransform;
47
48class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkTextActor : public vtkTexturedActor2D
49{
50public:
52 void PrintSelf(ostream& os, vtkIndent indent) override;
53
58 static vtkTextActor* New();
59
64 void ShallowCopy(vtkProp* prop) override;
65
67
73 void SetInput(const char* inputString);
74 char* GetInput();
76
78
83 vtkSetVector2Macro(MinimumSize, int);
84 vtkGetVector2Macro(MinimumSize, int);
86
88
94 vtkSetMacro(MaximumLineHeight, float);
95 vtkGetMacro(MaximumLineHeight, float);
97
99
109 vtkGetMacro(TextScaleMode, int);
114
115 enum
116 {
120 };
121
123
130 vtkBooleanMacro(UseBorderAlign, vtkTypeBool);
132
134
150 VTK_DEPRECATED_IN_9_6_0("Please use vtkTextProperty Justification instead.")
151 void SetAlignmentPoint(int point);
153 VTK_DEPRECATED_IN_9_6_0("Please use vtkTextProperty Justification instead.")
156
158
165 void SetOrientation(float orientation);
166 vtkGetMacro(Orientation, float);
168
170
174 vtkGetObjectMacro(TextProperty, vtkTextProperty);
176
182 virtual void GetBoundingBox(vtkViewport* vport, double bbox[4]);
183
187 virtual void GetSize(vtkViewport* vport, double size[2]);
188
190
195 virtual int SetConstrainedFontSize(vtkViewport*, int targetWidth, int targetHeight);
196 static int SetConstrainedFontSize(vtkTextActor*, vtkViewport*, int targetWidth, int targetHeight);
198
205 static int SetMultipleConstrainedFontSize(vtkViewport*, int targetWidth, int targetHeight,
206 vtkTextActor** actors, int nbOfActors, int* maxResultingSize);
207
217 virtual void SetNonLinearFontScale(double exponent, int target);
218
220
223 vtkGetMacro(FontScaleExponent, double);
224 vtkSetMacro(FontScaleExponent, double);
226
231 void SpecifiedToDisplay(double* pos, vtkViewport* vport, int specified);
232
237 void DisplayToSpecified(double* pos, vtkViewport* vport, int specified);
238
243 virtual void ComputeScaledFont(vtkViewport* viewport);
244
246
252
260 static float GetFontScale(vtkViewport* viewport);
261
270
272
277 int RenderOpaqueGeometry(vtkViewport* viewport) override;
279 int RenderOverlay(vtkViewport* viewport) override;
281
286
287protected:
291 virtual bool RenderImage(vtkTextProperty* tprop, vtkViewport* viewport);
292
296 virtual bool GetImageBoundingBox(vtkTextProperty* tprop, vtkViewport* viewport, int bbox[4]);
297
299 ~vtkTextActor() override;
300
307
313 int LastSize[2];
314 int