VTK  9.0.3
vtkTextRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTextRepresentation.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 =========================================================================*/
27 #ifndef vtkTextRepresentation_h
28 #define vtkTextRepresentation_h
29 
31 #include "vtkInteractionWidgetsModule.h" // For export macro
32 
33 class vtkRenderer;
34 class vtkTextActor;
35 class vtkTextProperty;
36 class vtkTextRepresentationObserver;
37 
38 class VTKINTERACTIONWIDGETS_EXPORT vtkTextRepresentation : public vtkBorderRepresentation
39 {
40 public:
45 
47 
51  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
55 
59  void SetTextActor(vtkTextActor* textActor);
60  vtkGetObjectMacro(TextActor, vtkTextActor);
62 
64 
67  void SetText(const char* text);
68  const char* GetText();
70 
74  void BuildRepresentation() override;
75  void GetSize(double size[2]) override
76  {
77  size[0] = 2.0;
78  size[1] = 2.0;
79  }
80 
82 
86  void GetActors2D(vtkPropCollection*) override;
88  int RenderOverlay(vtkViewport*) override;
93 
94  enum
95  {
96  AnyLocation = 0,
102  UpperCenter
103  };
104 
106 
117  virtual void SetWindowLocation(int enumLocation);
118  vtkGetMacro(WindowLocation, int);
120 
122 
126  void SetPosition(double x, double y) override;
127  void SetPosition(double pos[2]) override { this->SetPosition(pos[0], pos[1]); }
129 
131 
134  void ExecuteTextPropertyModifiedEvent(vtkObject* obj, unsigned long enumEvent, void* p);
135  void ExecuteTextActorModifiedEvent(vtkObject* obj, unsigned long enumEvent, void* p);
137 
138 protected:
141 
142  // Initialize text actor
143  virtual void InitializeTextActor();
144 
145  // Check and adjust boundaries according to the size of the text
146  virtual void CheckTextBoundary();
147 
148  // the text to manage
151 
152  // Window location by enumeration
154  virtual void UpdateWindowLocation();
155 
156  // observer to observe internal TextActor and TextProperty
157  vtkTextRepresentationObserver* Observer;
158 
159 private:
161  void operator=(const vtkTextRepresentation&) = delete;
162 };
163 
164 #endif
represent a vtkBorderWidget
a simple class to control print indentation
Definition: vtkIndent.h:34
abstract base class for most VTK objects
Definition: vtkObject.h:63
an ordered list of Props
abstract specification for renderers
Definition: vtkRenderer.h:68
An actor that displays text.
Definition: vtkTextActor.h:51
represent text properties.
represent text for vtkTextWidget
void GetSize(double size[2]) override
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
virtual void InitializeTextActor()
virtual void CheckTextBoundary()
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
virtual void UpdateWindowLocation()
int RenderOverlay(vtkViewport *) override
const char * GetText()
vtkTypeBool HasTranslucentPolygonalGeometry() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
void SetTextActor(vtkTextActor *textActor)
Specify the vtkTextActor to manage.
static vtkTextRepresentation * New()
Instantiate class.
void SetText(const char *text)
Get/Set the text string display by this representation.
void SetPosition(double x, double y) override
Set the text position, by overriding the same function of vtkBorderRepresentation so that the Modifie...
void BuildRepresentation() override
Satisfy the superclasses API.
void SetPosition(double pos[2]) override
void ExecuteTextActorModifiedEvent(vtkObject *obj, unsigned long enumEvent, void *p)
void ExecuteTextPropertyModifiedEvent(vtkObject *obj, unsigned long enumEvent, void *p)
Internal.
void GetActors2D(vtkPropCollection *) override
These methods are necessary to make this representation behave as a vtkProp.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTextProperty * TextProperty
virtual void SetWindowLocation(int enumLocation)
Set the text position, by enumeration ( AnyLocation = 0, LowerLeftCorner, LowerRightCorner,...
vtkTextRepresentationObserver * Observer
~vtkTextRepresentation() override
int RenderOpaqueGeometry(vtkViewport *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
abstract specification for Viewports
Definition: vtkViewport.h:45
window superclass for vtkRenderWindow
Definition: vtkWindow.h:38
@ size
Definition: vtkX3D.h:259
int vtkTypeBool
Definition: vtkABI.h:69