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
24#ifndef vtkInteractorStyleUser_h
25#define vtkInteractorStyleUser_h
26
27#include "vtkInteractionStyleModule.h" // For export macro
28#include "vtkInteractorStyle.h"
29
30// new motion flag
31#define VTKIS_USERINTERACTION 8
32
33VTK_ABI_NAMESPACE_BEGIN
34class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleUser : public vtkInteractorStyle
35{
36public:
39 void PrintSelf(ostream& os, vtkIndent indent) override;
40
42
48 vtkGetVector2Macro(LastPos, int);
50
52
57 vtkGetVector2Macro(OldPos, int);
59
61
65 vtkGetMacro(ShiftKey, int);
66 vtkGetMacro(CtrlKey, int);
68
70
73 vtkGetMacro(Char, int);
75
77
81 vtkGetStringMacro(KeySym);
83
85
89 vtkGetMacro(Button, int);
91
93
96 void OnMouseMove() override;
97 void OnLeftButtonDown() override;
98 void OnLeftButtonUp() override;
99 void OnMiddleButtonDown() override;
100 void OnMiddleButtonUp() override;
101 void OnRightButtonDown() override;
102 void OnRightButtonUp() override;
103 void OnMouseWheelForward() override;
104 void OnMouseWheelBackward() override;
106
108
111 void OnChar() override;
112 void OnKeyPress() override;
113 void OnKeyRelease() override;
115
117
120 void OnExpose() override;
121 void OnConfigure() override;
122 void OnEnter() override;
123 void OnLeave() override;
125
126 void OnTimer() override;
127
128protected:
131
132 int LastPos[2];
133 int OldPos[2];
134
137 int Char;
138 char* KeySym;
140
141private:
143 void operator=(const vtkInteractorStyleUser&) = delete;
144};
145
146VTK_ABI_NAMESPACE_END
147#endif
a simple class to control print indentation
Definition vtkIndent.h:29
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)