1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkGenericRenderWindowInteractor.h,v $
6 Date: $Date: 2002/05/13 14:22:44 $
7 Version: $Revision: 1.3 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkGenericRenderWindowInteractor - platform-independent programmable render window interactor.
20 // .SECTION Description
21 // vtkGenericRenderWindowInteractor provides a way to translate native
22 // mouse and keyboard events into vtk Events. By calling the methods on
23 // this class, vtk events will be invoked. This will allow scripting
24 // languages to use vtkInteractorStyles and 3D widgets.
28 #ifndef __vtkGenericRenderWindowInteractor_h
29 #define __vtkGenericRenderWindowInteractor_h
31 #include "vtkRenderWindowInteractor.h"
33 class VTK_RENDERING_EXPORT vtkGenericRenderWindowInteractor : public vtkRenderWindowInteractor
36 static vtkGenericRenderWindowInteractor *New();
37 vtkTypeRevisionMacro(vtkGenericRenderWindowInteractor,vtkRenderWindowInteractor);
38 void PrintSelf(ostream& os, vtkIndent indent);
41 // Fire various events, SetEventInformation should be called just prior
42 // to calling any of these methods. This methods will Invoke the
43 // corresponding vtk event.
44 virtual void MouseMoveEvent();
45 virtual void RightButtonPressEvent();
46 virtual void RightButtonReleaseEvent();
47 virtual void LeftButtonPressEvent();
48 virtual void LeftButtonReleaseEvent();
49 virtual void MiddleButtonPressEvent();
50 virtual void MiddleButtonReleaseEvent();
51 virtual void ExposeEvent();
52 virtual void ConfigureEvent();
53 virtual void EnterEvent();
54 virtual void LeaveEvent();
55 virtual void TimerEvent();
56 virtual void KeyPressEvent();
57 virtual void KeyReleaseEvent();
58 virtual void CharEvent();
59 virtual void ExitEvent();
62 // Allow users of the class to add callbacks to handle the creation and
63 // destruction of timers. CreateTimer should create a timer event of 10 milliseconds,
64 // and at the end of that time, it should call TimerEvent on this class.
65 virtual int CreateTimer(int );
66 virtual int DestroyTimer();
68 vtkGenericRenderWindowInteractor();
69 ~vtkGenericRenderWindowInteractor();
71 vtkGenericRenderWindowInteractor(const vtkGenericRenderWindowInteractor&); // Not implemented.
72 void operator=(const vtkGenericRenderWindowInteractor&); // Not implemented.