VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 00005 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00006 All rights reserved. 00007 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00014 #ifndef vtkXInteractionDevice_h 00015 #define vtkXInteractionDevice_h 00016 00017 #include "vtkAbstractInteractionDevice.h" 00018 #include "vtkRenderingOpenGL2Module.h" // For export macro 00019 #include <X11/Xlib.h> // Needed for X types used in the public interface 00020 00021 class VTKRENDERINGOPENGL2_EXPORT vtkXInteractionDevice 00022 : public vtkAbstractInteractionDevice 00023 { 00024 public: 00025 vtkTypeMacro(vtkXInteractionDevice, vtkAbstractInteractionDevice) 00026 void PrintSelf(ostream& os, vtkIndent indent); 00027 00028 static vtkXInteractionDevice* New(); 00029 00030 virtual void Initialize(); 00031 00032 virtual void Start(); 00033 00034 virtual void ProcessEvents(); 00035 00036 protected: 00037 vtkXInteractionDevice(); 00038 ~vtkXInteractionDevice(); 00039 00040 Display *DisplayId; 00041 bool ExitEventLoop; 00042 00043 private: 00044 vtkXInteractionDevice(const vtkXInteractionDevice&); // Not implemented. 00045 void operator=(const vtkXInteractionDevice&); // Not implemented. 00046 00047 void ProcessEvent(XEvent &event); 00048 }; 00049 00050 #endif