VTK  9.3.0
vtkBalloonRepresentation.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
45#ifndef vtkBalloonRepresentation_h
46#define vtkBalloonRepresentation_h
47
48#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
49#include "vtkInteractionWidgetsModule.h" // For export macro
50#include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
52
53VTK_ABI_NAMESPACE_BEGIN
54class vtkTextMapper;
55class vtkTextActor;
56class vtkTextProperty;
57class vtkPoints;
58class vtkCellArray;
59class vtkPolyData;
61class vtkActor2D;
62class vtkProperty2D;
63class vtkImageData;
64class vtkTexture;
65class vtkPoints;
66class vtkPolyData;
69
70class VTKINTERACTIONWIDGETS_EXPORT vtkBalloonRepresentation : public vtkWidgetRepresentation
71{
72public:
77
79
83 void PrintSelf(ostream& os, vtkIndent indent) override;
85
87
90 virtual void SetBalloonImage(vtkImageData* img);
91 vtkGetObjectMacro(BalloonImage, vtkImageData);
93
95
98 vtkGetStringMacro(BalloonText);
99 vtkSetStringMacro(BalloonText);
101
103
109 vtkSetVector2Macro(ImageSize, int);
110 vtkGetVector2Macro(ImageSize, int);
112
114
118 vtkGetObjectMacro(TextProperty, vtkTextProperty);
120
122
127 vtkGetObjectMacro(FrameProperty, vtkProperty2D);
129
131
135 vtkGetObjectMacro(ImageProperty, vtkProperty2D);
137
138 enum
139 {
140 ImageLeft = 0,
143 ImageTop
144 };
145
147
154 vtkSetMacro(BalloonLayout, int);
155 vtkGetMacro(BalloonLayout, int);
156 void SetBalloonLayoutToImageLeft() { this->SetBalloonLayout(ImageLeft); }
157 void SetBalloonLayoutToImageRight() { this->SetBalloonLayout(ImageRight); }
158 void SetBalloonLayoutToImageBottom() { this->SetBalloonLayout(ImageBottom); }
159 void SetBalloonLayoutToImageTop() { this->SetBalloonLayout(ImageTop); }
160 void SetBalloonLayoutToTextLeft() { this->SetBalloonLayout(ImageRight); }
161 void SetBalloonLayoutToTextRight() { this->SetBalloonLayout(ImageLeft); }
162 void SetBalloonLayoutToTextTop() { this->SetBalloonLayout(ImageBottom); }
163 void SetBalloonLayoutToTextBottom() { this->SetBalloonLayout(ImageTop); }
165
167
173 vtkSetVector2Macro(Offset, int);
174 vtkGetVector2Macro(Offset, int);
176
178
182 vtkSetClampMacro(Padding, int, 0, 100);
183 vtkGetMacro(Padding, int);
185
187
190 void StartWidgetInteraction(double e[2]) override;
191 void EndWidgetInteraction(double e[2]) override;
192 void BuildRepresentation() override;
193 int ComputeInteractionState(int X, int Y, int modify = 0) override;
195
197
201 int RenderOverlay(vtkViewport* viewport) override;
203
208 {
209 Outside = 0,
211 OnImage
212 };
213#if !defined(VTK_LEGACY_REMOVE)
214 VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
216#endif
217
218protected:
221
222 // The balloon text and image
225
226 // The layout of the balloon
228
229 // Controlling placement
231 int Offset[2];
232 int ImageSize[2];
233
234 // Represent the text
238
239 // Represent the image
246
247 // The frame
254
255 // Internal variable controlling rendering process
258
259 // Helper methods
260 void AdjustImageSize(double imageSize[2]);
261 void ScaleImage(double imageSize[2], double scale);
262
263private:
265 void operator=(const vtkBalloonRepresentation&) = delete;
266};
267
268VTK_ABI_NAMESPACE_END
269#endif
a actor that draws 2D data
Definition vtkActor2D.h:35
represent the vtkBalloonWidget
void SetBalloonLayoutToTextRight()
Specify the layout of the image and text within the balloon.
void SetBalloonLayoutToImageLeft()
Specify the layout of the image and text within the balloon.
void SetBalloonLayoutToTextTop()
Specify the layout of the image and text within the balloon.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK methods.
void BuildRepresentation() override
These are methods that satisfy vtkWidgetRepresentation's API.
virtual void SetBalloonImage(vtkImageData *img)
Specify/retrieve the image to display in the balloon.
void SetBalloonLayoutToImageRight()
Specify the layout of the image and text within the balloon.
vtkPolyDataMapper2D * TextureMapper
void EndWidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
void StartWidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
int ComputeInteractionState(int X, int Y, int modify=0) override
These are methods that satisfy vtkWidgetRepresentation's API.
virtual void SetTextProperty(vtkTextProperty *p)
Set/get the text property (relevant only if text is shown).
void SetBalloonLayoutToImageTop()
Specify the layout of the image and text within the balloon.
void SetBalloonLayoutToTextLeft()
Specify the layout of the image and text within the balloon.
void AdjustImageSize(double imageSize[2])
void SetBalloonLayoutToImageBottom()
Specify the layout of the image and text within the balloon.
void SetBalloonLayoutToTextBottom()
Specify the layout of the image and text within the balloon.
InteractionStateType
State is either outside, or inside (on the text portion of the image).
virtual void SetImageProperty(vtkProperty2D *p)
Set/get the image property (relevant only if an image is shown).
~vtkBalloonRepresentation() override
void ScaleImage(double imageSize[2], double scale)
void ReleaseGraphicsResources(vtkWindow *w) override
Methods required by vtkProp superclass.
static vtkBalloonRepresentation * New()
Instantiate the class.
int RenderOverlay(vtkViewport *viewport) override
Methods required by vtkProp superclass.
virtual void SetFrameProperty(vtkProperty2D *p)
Set/get the frame property (relevant only if text is shown).
object to represent cell connectivity
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:29
represent and manipulate 3D points
Definition vtkPoints.h:29
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:80
represent surface properties of a 2D image
An actor that displays text.
2D text annotation
represent text properties.
handles properties associated with a texture map
Definition vtkTexture.h:58
actor that draws 2D data with texture support
abstract specification for Viewports
Definition vtkViewport.h:45
abstract class defines interface between the widget and widget representation classes
window superclass for vtkRenderWindow
Definition vtkWindow.h:25
#define VTK_DEPRECATED_IN_9_2_0(reason)