VTK  9.3.0
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
33#ifndef vtkInteractorStyleUser_h
34#define vtkInteractorStyleUser_h
35
36#include "vtkInteractionStyleModule.h" // For export macro
37#include "vtkInteractorStyle.h"
38
39// new motion flag
40#define VTKIS_USERINTERACTION 8
41
42VTK_ABI_NAMESPACE_BEGIN
43class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleUser : public vtkInteractorStyle
44{
45public:
48 void PrintSelf(ostream& os, vtkIndent indent) override;
49
51
57 vtkGetVector2Macro(LastPos, int);
59
61
66 vtkGetVector2Macro(OldPos, int);
68
70
74 vtkGetMacro(ShiftKey, int);
75 vtkGetMacro(CtrlKey, int);
77
79
82 vtkGetMacro(Char, int);
84
86
90 vtkGetStringMacro(KeySym);
92
94
98 vtkGetMacro(Button, int);
100
102
105 void OnMouseMove() override;
106 void OnLeftButtonDown() override;
107 void OnLeftButtonUp() override;
108 void OnMiddleButtonDown() override;
109 void OnMiddleButtonUp() override;
110 void OnRightButtonDown() override;
111 void OnRightButtonUp() override;
112 void OnMouseWheelForward() override;
113 void OnMouseWheelBackward() override;
115
117
120 void OnChar() override;
121 void OnKeyPress() override;
122 void OnKeyRelease() override;
124
126
129 void OnExpose() override;
130 void OnConfigure() override;
131 void OnEnter() override;
132 void OnLeave() override;
134
135 void OnTimer() override;
136
137protected:
140
141 int LastPos[2];
142 int OldPos[2];
143
146 int Char;
147 char* KeySym;
149
150private:
152 void operator=(const vtkInteractorStyleUser&) = delete;
153};
154
155VTK_ABI_NAMESPACE_END
156#endif
a simple class to control print indentation
Definition vtkIndent.h:38
provides customizable interaction routines
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.
provide event-driven interface to the rendering window (defines trackball mode)