VTK  9.7.1
vtkFreeTypeLabelRenderStrategy.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
12 #ifndef vtkFreeTypeLabelRenderStrategy_h
13 #define vtkFreeTypeLabelRenderStrategy_h
14 
15 #include "vtkLabelRenderStrategy.h"
16 #include "vtkRenderingLabelModule.h" // For export macro
17 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
18 
19 VTK_ABI_NAMESPACE_BEGIN
20 class vtkActor2D;
21 class vtkTextRenderer;
22 class vtkTextMapper;
23 
24 class VTKRENDERINGLABEL_EXPORT VTK_MARSHALAUTO vtkFreeTypeLabelRenderStrategy
25  : public vtkLabelRenderStrategy
26 {
27 public:
28  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
35  bool SupportsRotation() override { return false; }
36 
40  bool SupportsBoundedSize() override { return false; }
41 
45  void ComputeLabelBounds(vtkTextProperty* tprop, vtkStdString label, double bds[4]) override;
46 
52  void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label) override;
53 
59  void ReleaseGraphicsResources(vtkWindow* window) override;
60 
61 protected:
64 
68 
69 private:
71  void operator=(const vtkFreeTypeLabelRenderStrategy&) = delete;
72 };
73 
74 VTK_ABI_NAMESPACE_END
75 #endif
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:27
Superclass for label rendering implementations.
a actor that draws 2D data
Definition: vtkActor2D.h:35
2D text annotation
Definition: vtkTextMapper.h:39
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
bool SupportsBoundedSize() override
The free type render strategy currently does not support bounded size labels.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void ReleaseGraphicsResources(vtkWindow *)
Release any graphics resources that are being consumed by this strategy.
virtual void ComputeLabelBounds(vtkTextProperty *tprop, vtkStdString label, double bds[4])=0
Compute the bounds of a label.
represent text properties.
Interface for generating images and path data from string data, using multiple backends.
bool SupportsRotation() override
The free type render strategy currently does not support rotation.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void RenderLabel(int x[2], vtkTextProperty *tprop, vtkStdString label)=0
Render a label at a location in display coordinates.
#define VTK_MARSHALAUTO
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...