Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Rendering/vtkWin32RenderWindowInteractor.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkWin32RenderWindowInteractor.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00035 #ifndef __vtkWin32RenderWindowInteractor_h 00036 #define __vtkWin32RenderWindowInteractor_h 00037 00038 #include "vtkRenderWindowInteractor.h" 00039 00040 class VTK_RENDERING_EXPORT vtkWin32RenderWindowInteractor : public vtkRenderWindowInteractor 00041 { 00042 public: 00044 static vtkWin32RenderWindowInteractor *New(); 00045 00046 vtkTypeRevisionMacro(vtkWin32RenderWindowInteractor,vtkRenderWindowInteractor); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 00050 virtual void Initialize(); 00051 00053 00060 virtual void Enable(); 00061 virtual void Disable(); 00063 00067 virtual void Start(); 00068 00070 00075 vtkSetMacro(InstallMessageProc,int); 00076 vtkGetMacro(InstallMessageProc,int); 00077 vtkBooleanMacro(InstallMessageProc,int); 00079 00084 void TerminateApp(void); 00085 00087 00088 int CreateTimer(int timertype); 00089 int DestroyTimer(void); 00091 00092 //BTX 00093 friend VTK_RENDERING_EXPORT LRESULT CALLBACK vtkHandleMessage(HWND hwnd,UINT uMsg, WPARAM w, LPARAM l); 00094 friend VTK_RENDERING_EXPORT LRESULT CALLBACK vtkHandleMessage2(HWND hwnd,UINT uMsg, WPARAM w, LPARAM l, vtkWin32RenderWindowInteractor *me); 00095 00097 00099 virtual void OnMouseMove (HWND wnd, UINT nFlags, int X, int Y); 00100 virtual void OnNCMouseMove(HWND wnd, UINT nFlags, int X, int Y); 00101 virtual void OnRButtonDown(HWND wnd, UINT nFlags, int X, int Y); 00102 virtual void OnRButtonUp (HWND wnd, UINT nFlags, int X, int Y); 00103 virtual void OnMButtonDown(HWND wnd, UINT nFlags, int X, int Y); 00104 virtual void OnMButtonUp (HWND wnd, UINT nFlags, int X, int Y); 00105 virtual void OnLButtonDown(HWND wnd, UINT nFlags, int X, int Y); 00106 virtual void OnLButtonUp (HWND wnd, UINT nFlags, int X, int Y); 00107 virtual void OnSize (HWND wnd, UINT nType, int X, int Y); 00108 virtual void OnTimer (HWND wnd, UINT nIDEvent); 00109 virtual void OnKeyDown (HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags); 00110 virtual void OnKeyUp (HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags); 00111 virtual void OnChar (HWND wnd, UINT nChar, UINT nRepCnt, UINT nFlags); 00112 //ETX 00114 00116 00120 static void SetClassExitMethod(void (*f)(void *), void *arg); 00121 static void SetClassExitMethodArgDelete(void (*f)(void *)); 00123 00126 virtual void ExitCallback(); 00127 00128 protected: 00129 vtkWin32RenderWindowInteractor(); 00130 ~vtkWin32RenderWindowInteractor(); 00131 00132 HWND WindowId; 00133 UINT TimerId; 00134 WNDPROC OldProc; 00135 int InstallMessageProc; 00136 00137 int MouseInWindow; 00138 00139 //BTX 00141 00144 static void (*ClassExitMethod)(void *); 00145 static void (*ClassExitMethodArgDelete)(void *); 00146 static void *ClassExitMethodArg; 00147 //ETX 00149 00150 private: 00151 vtkWin32RenderWindowInteractor(const vtkWin32RenderWindowInteractor&); // Not implemented. 00152 void operator=(const vtkWin32RenderWindowInteractor&); // Not implemented. 00153 }; 00154 00155 #endif 00156