VTK  9.2.6
vtkContextInteractorStyle.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkContextInteractorStyle.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=========================================================================*/
27
28#ifndef vtkContextInteractorStyle_h
29#define vtkContextInteractorStyle_h
30
31#include "vtkInteractorStyle.h"
32#include "vtkNew.h" // For ivars
33#include "vtkViewsContext2DModule.h" // For export macro
34#include "vtkWeakPointer.h" // For ivars
35
37class vtkContextScene;
38
39class VTKVIEWSCONTEXT2D_EXPORT vtkContextInteractorStyle : public vtkInteractorStyle
40{
41public:
44 void PrintSelf(ostream& os, vtkIndent indent) override;
45
54
59
63 virtual void OnSceneModified();
64
69 void OnMouseMove() override;
70
75 void OnLeftButtonDown() override;
76
81 void OnLeftButtonUp() override;
82
87 void OnLeftButtonDoubleClick() override;
88
93 void OnMiddleButtonDown() override;
94
99 void OnMiddleButtonUp() override;
100
106
111 void OnRightButtonDown() override;
112
117 void OnRightButtonUp() override;
118
124
129 void OnMouseWheelForward() override;
130
135 void OnMouseWheelBackward() override;
136
141 virtual void OnSelection(unsigned int rect[5]);
142
146 void OnChar() override;
147
151 void OnKeyPress() override;
152
156 void OnKeyRelease() override;
157
158protected:
161
163 vtkObject* object, unsigned long event, void* clientdata, void* calldata);
164
166 vtkObject* object, unsigned long event, void* clientdata, void* calldata);
167
168 virtual void RenderNow();
169
176
183
189
192
193private:
195 void operator=(const vtkContextInteractorStyle&) = delete;
196
197 void ConstructMouseEvent(vtkContextMouseEvent& event, int button);
198 bool ProcessMousePress(const vtkContextMouseEvent& event);
199};
200
201#endif
void OnLeftButtonDown() override
Called when the user clicks the mouse left button.
void OnMiddleButtonDown() override
Called when the user clicks the mouse middle button.
void OnRightButtonUp() override
Called when the user releases the mouse right button.
void OnChar() override
Handle key presses.
void OnMouseWheelBackward() override
Called when the user moves the mouse wheel backward.
void EndProcessingEvent()
Inform the interactor style that an event is finished to be processed.
vtkNew< vtkCallbackCommand > InteractorCallbackCommand
virtual void OnSceneModified()
Called when the scene is modified.
void OnLeftButtonDoubleClick() override
Called when the user double-clicks the mouse left button.
void SetScene(vtkContextScene *scene)
Set the scene to forward user events to.
vtkNew< vtkCallbackCommand > SceneCallbackCommand
~vtkContextInteractorStyle() override
static void ProcessInteractorEvents(vtkObject *object, unsigned long event, void *clientdata, void *calldata)
void OnKeyRelease() override
Called when the user releases a key.
static void ProcessSceneEvents(vtkObject *object, unsigned long event, void *clientdata, void *calldata)
virtual void OnSelection(unsigned int rect[5])
Place holder for future implementation.
virtual void RenderNow()
void OnRightButtonDoubleClick() override
Called when the user double-clicks the mouse right button.
vtkWeakPointer< vtkContextScene > Scene
void OnRightButtonDown() override
Called when the user clicks the mouse right button.
void OnMiddleButtonUp() override
Called when the user releases the mouse middle button.
void OnMouseMove() override
Called when the user moves the mouse Default behavior forwards the event to the observed scene.
void OnMiddleButtonDoubleClick() override
Called when the user double-clicks the mouse middle button.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void OnMouseWheelForward() override
Called when the user moves the mouse wheel forward.
vtkContextScene * GetScene()
Return the observed scene.
static vtkContextInteractorStyle * New()
void OnKeyPress() override
Called when the user presses a key.
void BeginProcessingEvent()
Inform the interactor style that an event is being processed.
void OnLeftButtonUp() override
Called when the user releases the mouse left button.
data structure to represent mouse events.
Provides a 2D scene for vtkContextItem objects.
a simple class to control print indentation
Definition vtkIndent.h:40
Allocate and hold a VTK object.
Definition vtkNew.h:62
a weak reference to a vtkObject.
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287