VTK  9.3.20240418
vtkWebInteractionEvent.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
9 #ifndef vtkWebInteractionEvent_h
10 #define vtkWebInteractionEvent_h
11 
12 #include "vtkObject.h"
13 #include "vtkWebCoreModule.h" // needed for exports
14 
15 VTK_ABI_NAMESPACE_BEGIN
16 class VTKWEBCORE_EXPORT vtkWebInteractionEvent : public vtkObject
17 {
18 public:
21  void PrintSelf(ostream& os, vtkIndent indent) override;
22 
24  {
25  LEFT_BUTTON = 0x01,
26  MIDDLE_BUTTON = 0x02,
27  RIGHT_BUTTON = 0x04
28  };
29 
31  {
32  SHIFT_KEY = 0x01,
33  CTRL_KEY = 0x02,
34  ALT_KEY = 0x04,
35  META_KEY = 0x08
36  };
37 
39 
42  vtkSetMacro(Buttons, unsigned int);
43  vtkGetMacro(Buttons, unsigned int);
45 
47 
50  vtkSetMacro(Modifiers, unsigned int);
51  vtkGetMacro(Modifiers, unsigned int);
53 
55 
58  vtkSetMacro(KeyCode, char);
59  vtkGetMacro(KeyCode, char);
61 
63 
66  vtkSetMacro(X, double);
67  vtkGetMacro(X, double);
68  vtkSetMacro(Y, double);
69  vtkGetMacro(Y, double);
70  vtkSetMacro(Scroll, double);
71  vtkGetMacro(Scroll, double);
73 
74  // Handle double click
75  vtkSetMacro(RepeatCount, int);
76  vtkGetMacro(RepeatCount, int);
77 
78 protected:
81 
82  unsigned int Buttons;
83  unsigned int Modifiers;
84  char KeyCode;
85  double X;
86  double Y;
87  double Scroll;
89 
90 private:
92  void operator=(const vtkWebInteractionEvent&) = delete;
93 };
94 
95 VTK_ABI_NAMESPACE_END
96 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract base class for most VTK objects
Definition: vtkObject.h:162
~vtkWebInteractionEvent() override
static vtkWebInteractionEvent * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.