VTK  9.1.0
vtkInteractorStyleUser.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleUser.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 =========================================================================*/
15 
39 #ifndef vtkInteractorStyleUser_h
40 #define vtkInteractorStyleUser_h
41 
42 #include "vtkInteractionStyleModule.h" // For export macro
43 #include "vtkInteractorStyle.h"
44 
45 // new motion flag
46 #define VTKIS_USERINTERACTION 8
47 
48 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleUser : public vtkInteractorStyle
49 {
50 public:
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
56 
62  vtkGetVector2Macro(LastPos, int);
64 
66 
71  vtkGetVector2Macro(OldPos, int);
73 
75 
79  vtkGetMacro(ShiftKey, int);
80  vtkGetMacro(CtrlKey, int);
82 
84 
87  vtkGetMacro(Char, int);
89 
91 
95  vtkGetStringMacro(KeySym);
97 
99 
103  vtkGetMacro(Button, int);
105 
107 
110  void OnMouseMove() override;
111  void OnLeftButtonDown() override;
112  void OnLeftButtonUp() override;
113  void OnMiddleButtonDown() override;
114  void OnMiddleButtonUp() override;
115  void OnRightButtonDown() override;
116  void OnRightButtonUp() override;
117  void OnMouseWheelForward() override;
118  void OnMouseWheelBackward() override;
120 
122 
125  void OnChar() override;
126  void OnKeyPress() override;
127  void OnKeyRelease() override;
129 
131 
134  void OnExpose() override;
135  void OnConfigure() override;
136  void OnEnter() override;
137  void OnLeave() override;
139 
140  void OnTimer() override;
141 
142 protected:
145 
146  int LastPos[2];
147  int OldPos[2];
148 
149  int ShiftKey;
150  int CtrlKey;
151  int Char;
152  char* KeySym;
153  int Button;
154 
155 private:
157  void operator=(const vtkInteractorStyleUser&) = delete;
158 };
159 
160 #endif
a simple class to control print indentation
Definition: vtkIndent.h:34
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.
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.
static vtkInteractorStyleUser * New()
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)