VTK  9.3.0
vtkContextMouseEvent.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 
28 #ifndef vtkContextMouseEvent_h
29 #define vtkContextMouseEvent_h
30 
31 #include "vtkRenderingContext2DModule.h" // For export macro
32 #include "vtkVector.h" // Needed for vtkVector2f and vtkVector2i
33 #include "vtkWin32Header.h" // For export macros.
34 
35 VTK_ABI_NAMESPACE_BEGIN
37 
38 class VTKRENDERINGCONTEXT2D_EXPORT vtkContextMouseEvent
39 {
40 public:
44  enum
45  {
46  NO_BUTTON = 0,
47  LEFT_BUTTON = 1,
48  MIDDLE_BUTTON = 2,
49  RIGHT_BUTTON = 4
50  };
51 
55  enum
56  {
57  NO_MODIFIER = 0,
58  ALT_MODIFIER = 1,
59  SHIFT_MODIFIER = 2,
60  CONTROL_MODIFIER = 4
61  };
62 
63  vtkContextMouseEvent() = default;
64 
68  void SetInteractor(vtkRenderWindowInteractor* interactor) { this->Interactor = interactor; }
69 
74  vtkRenderWindowInteractor* GetInteractor() const { return this->Interactor; }
75 
79  void SetPos(const vtkVector2f& pos) { this->Pos = pos; }
80  vtkVector2f GetPos() const { return this->Pos; }
81 
85  void SetScenePos(const vtkVector2f& pos) { this->ScenePos = pos; }
86  vtkVector2f GetScenePos() const { return this->ScenePos; }
87 
91  void SetScreenPos(const vtkVector2i& pos) { this->ScreenPos = pos; }
92  vtkVector2i GetScreenPos() const { return this->ScreenPos; }
93 
97  void SetLastPos(const vtkVector2f& pos) { this->LastPos = pos; }
98  vtkVector2f GetLastPos() const { return this->LastPos; }
99 
103  void SetLastScenePos(const vtkVector2f& pos) { this->LastScenePos = pos; }
104  vtkVector2f GetLastScenePos() const { return this->LastScenePos; }
105 
109  void SetLastScreenPos(const vtkVector2i& pos) { this->LastScreenPos = pos; }
110  vtkVector2i GetLastScreenPos() const { return this->LastScreenPos; }
111 
116  void SetButton(int button) { this->Button = button; }
117  int GetButton() const { return this->Button; }
118 
123  int GetModifiers() const;
124 
125 protected:
130 
135 
140 
145 
150 
155 
159  int Button;
160 
162 };
163 
164 VTK_ABI_NAMESPACE_END
165 #endif // vtkContextMouseEvent_h
166 // VTK-HeaderTest-Exclude: vtkContextMouseEvent.h
data structure to represent mouse events.
vtkVector2f LastPos
‘Pos’ at the previous mouse event.
vtkVector2f GetLastScenePos() const
vtkRenderWindowInteractor * GetInteractor() const
Get the interactor for the mouse event.
int Button
Mouse button that caused the event, using the anonymous enumeration.
void SetButton(int button)
Set/get the mouse button that caused the event, with possible values being NO_BUTTON,...
void SetLastPos(const vtkVector2f &pos)
Set/get the position of the mouse in the item's coordinates.
vtkVector2f GetLastPos() const
void SetScenePos(const vtkVector2f &pos)
Set/get the position of the mouse in scene coordinates.
vtkVector2i GetLastScreenPos() const
vtkVector2f Pos
Position of the mouse in item coordinate system.
vtkRenderWindowInteractor * Interactor
int GetModifiers() const
Return the modifier keys, if any, ORed together.
void SetLastScreenPos(const vtkVector2i &pos)
Set/get the position of the mouse in screen coordinates.
vtkVector2f GetScenePos() const
void SetPos(const vtkVector2f &pos)
Set/get the position of the mouse in the item's coordinates.
void SetLastScenePos(const vtkVector2f &pos)
Set/get the position of the mouse in scene coordinates.
void SetInteractor(vtkRenderWindowInteractor *interactor)
Set the interactor for the mouse event.
vtkVector2f ScenePos
Position of the mouse the scene coordinate system.
vtkContextMouseEvent()=default
void SetScreenPos(const vtkVector2i &pos)
Set/get the position of the mouse in screen coordinates.
vtkVector2i ScreenPos
Position of the mouse in screen coordinates.
vtkVector2i GetScreenPos() const
vtkVector2f GetPos() const
vtkVector2f LastScenePos
`ScenePos'at the previous mouse event.
vtkVector2i LastScreenPos
‘ScreenPos’ at the previous mouse event.
platform-independent render window interaction including picking and frame rate control.
Some derived classes for the different vectors commonly used.
Definition: vtkVector.h:420