VTK  9.3.1
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
vtkVector2f GetScenePos() const
vtkVector2i GetScreenPos() const
vtkVector2f ScenePos
Position of the mouse the scene coordinate system.
vtkVector2f LastPos
`Pos' at the previous mouse event.
void SetScenePos(const vtkVector2f &pos)
Set/get the position of the mouse in scene coordinates.
int Button
Mouse button that caused the event, using the anonymous enumeration.
vtkVector2f Pos
Position of the mouse in item coordinate system.
vtkRenderWindowInteractor * Interactor
vtkVector2i LastScreenPos
`ScreenPos' at the previous mouse event.
vtkVector2i GetLastScreenPos() const
vtkVector2f GetLastPos() const
platform-independent render window interaction including picking and frame rate control.
vtkVector2i ScreenPos
Position of the mouse in screen coordinates.
vtkVector2f GetLastScenePos() const
void SetButton(int button)
Set/get the mouse button that caused the event, with possible values being NO_BUTTON, LEFT_BUTTON, MIDDLE_BUTTON and RIGHT_BUTTON.
data structure to represent mouse events.
vtkRenderWindowInteractor * GetInteractor() const
Get the interactor for the mouse event.
void SetPos(const vtkVector2f &pos)
Set/get the position of the mouse in the item's coordinates.
Some derived classes for the different vectors commonly used.
Definition: vtkVector.h:440
vtkVector2f LastScenePos
`ScenePos'at the previous mouse event.
void SetScreenPos(const vtkVector2i &pos)
Set/get the position of the mouse in screen coordinates.
void SetLastPos(const vtkVector2f &pos)
Set/get the position of the mouse in the item's coordinates.
void SetInteractor(vtkRenderWindowInteractor *interactor)
Set the interactor for the mouse event.
void SetLastScenePos(const vtkVector2f &pos)
Set/get the position of the mouse in scene coordinates.
vtkVector2f GetPos() const
void SetLastScreenPos(const vtkVector2i &pos)
Set/get the position of the mouse in screen coordinates.