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 
19 #ifndef vtkContextMouseEvent_h
20 #define vtkContextMouseEvent_h
21 
22 #include "vtkRenderingContext2DModule.h" // For export macro
23 #include "vtkVector.h" // Needed for vtkVector2f and vtkVector2i
24 #include "vtkWin32Header.h" // For export macros.
25 
26 VTK_ABI_NAMESPACE_BEGIN
28 
29 class VTKRENDERINGCONTEXT2D_EXPORT vtkContextMouseEvent
30 {
31 public:
35  enum
36  {
37  NO_BUTTON = 0,
38  LEFT_BUTTON = 1,
39  MIDDLE_BUTTON = 2,
40  RIGHT_BUTTON = 4
41  };
42 
46  enum
47  {
48  NO_MODIFIER = 0,
49  ALT_MODIFIER = 1,
50  SHIFT_MODIFIER = 2,
51  CONTROL_MODIFIER = 4
52  };
53 
54  vtkContextMouseEvent() = default;
55 
59  void SetInteractor(vtkRenderWindowInteractor* interactor) { this->Interactor = interactor; }
60 
65  vtkRenderWindowInteractor* GetInteractor() const { return this->Interactor; }
66 
70  void SetPos(const vtkVector2f& pos) { this->Pos = pos; }
71  vtkVector2f GetPos() const { return this->Pos; }
72 
76  void SetScenePos(const vtkVector2f& pos) { this->ScenePos = pos; }
77  vtkVector2f GetScenePos() const { return this->ScenePos; }
78 
82  void SetScreenPos(const vtkVector2i& pos) { this->ScreenPos = pos; }
83  vtkVector2i GetScreenPos() const { return this->ScreenPos; }
84 
88  void SetLastPos(const vtkVector2f& pos) { this->LastPos = pos; }
89  vtkVector2f GetLastPos() const { return this->LastPos; }
90 
94  void SetLastScenePos(const vtkVector2f& pos) { this->LastScenePos = pos; }
95  vtkVector2f GetLastScenePos() const { return this->LastScenePos; }
96 
100  void SetLastScreenPos(const vtkVector2i& pos) { this->LastScreenPos = pos; }
101  vtkVector2i GetLastScreenPos() const { return this->LastScreenPos; }
102 
107  void SetButton(int button) { this->Button = button; }
108  int GetButton() const { return this->Button; }
109 
114  int GetModifiers() const;
115 
116 protected:
121 
126 
131 
136 
141 
146 
150  int Button;
151 
153 };
154 
155 VTK_ABI_NAMESPACE_END
156 #endif // vtkContextMouseEvent_h
157 // 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:411