VTK  9.5.2
vtkInteractorStyleUser.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
3
52
53#ifndef vtkInteractorStyleUser_h
54#define vtkInteractorStyleUser_h
55
56#include "vtkInteractionStyleModule.h" // For export macro
57#include "vtkInteractorStyle.h"
58#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
59
60// new motion flag
61#define VTKIS_USERINTERACTION 8
62
63VTK_ABI_NAMESPACE_BEGIN
64class VTKINTERACTIONSTYLE_EXPORT VTK_MARSHALAUTO vtkInteractorStyleUser : public vtkInteractorStyle
65{
66public:
69 void PrintSelf(ostream& os, vtkIndent indent) override;
70
72
78 vtkGetVector2Macro(LastPos, int);
80
82
87 vtkGetVector2Macro(OldPos, int);
89
91
95 vtkGetMacro(ShiftKey, int);
96 vtkGetMacro(CtrlKey, int);
98
100
103 vtkGetMacro(Char, int);
105
107
111 vtkGetStringMacro(KeySym);
113
115
119 vtkGetMacro(Button, int);
121
123
126 void OnMouseMove() override;
127 void OnLeftButtonDown() override;
128 void OnLeftButtonUp() override;
129 void OnMiddleButtonDown() override;
130 void OnMiddleButtonUp() override;
131 void OnRightButtonDown() override;
132 void OnRightButtonUp() override;
133 void OnMouseWheelForward() override;
134 void OnMouseWheelBackward() override;
136
138
141 void OnChar() override;
142 void OnKeyPress() override;
143 void OnKeyRelease() override;
145
147
150 void OnExpose() override;
151 void OnConfigure() override;
152 void OnEnter() override;
153 void OnLeave() override;
155
156 void OnTimer() override;
157
158protected:
161
162 int LastPos[2];
163 int OldPos[2];
164
167 int Char;
168 char* KeySym;
170
171private:
173 void operator=(const vtkInteractorStyleUser&) = delete;
174};
175
176VTK_ABI_NAMESPACE_END
177#endif
a simple class to control print indentation
Definition vtkIndent.h:108
void OnRightButtonUp() override
Generic event bindings.
void OnLeave() override
These are more esoteric events, but are useful in some cases.
void OnMouseWheelForward() override
Generic event bindings.
void OnRightButtonDown() override
Generic event bindings.
void OnKeyRelease() override
Keyboard functions.
~vtkInteractorStyleUser() override
void OnMiddleButtonUp() override
Generic event bindings.
void OnEnter() override
These are more esoteric events, but are useful in some cases.
static vtkInteractorStyleUser * New()
void OnMouseWheelBackward() override
Generic event bindings.
void OnExpose() override
These are more esoteric events, but are useful in some cases.
void OnChar() override
Keyboard functions.
void OnTimer() override
OnTimer calls Rotate, Rotate etc which should be overridden by style subclasses.
void OnLeftButtonDown() override
Generic event bindings.
void OnConfigure() override
These are more esoteric events, but are useful in some cases.
void OnKeyPress() override
Keyboard functions.
void OnMouseMove() override
Generic event bindings.
void OnLeftButtonUp() override
Generic event bindings.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void OnMiddleButtonDown() override
Generic event bindings.
#define VTK_MARSHALAUTO