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

# Rendering/vtkInteractorStyleUser.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkInteractorStyleUser.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    00014
    00015 =========================================================================*/
    00016
    00055 #ifndef __vtkInteractorStyleUser_h
    00056 #define __vtkInteractorStyleUser_h
    00057
    00058 #include "vtkInteractorStyle.h"
    00059
    00060 // new motion flag
    00061 #define VTKIS_USERINTERACTION 8
    00062
    00063 class VTK_RENDERING_EXPORT vtkInteractorStyleUser : public vtkInteractorStyle
    00064 {
    00065 public:
    00066   static vtkInteractorStyleUser *New();
    00067   vtkTypeRevisionMacro(vtkInteractorStyleUser,vtkInteractorStyle);
    00068   void PrintSelf(ostream& os, vtkIndent indent);
    00069
    00070 #ifndef VTK_REMOVE_LEGACY_CODE
    00071
    00072
    00073   void SetMouseMoveMethod(void (*f)(void *), void *arg);
    00074   void SetMouseMoveMethodArgDelete(void (*f)(void *));
    00075   void SetButtonPressMethod(void (*f)(void *), void *arg);
    00076   void SetButtonPressMethodArgDelete(void (*f)(void *));
    00077   void SetButtonReleaseMethod(void (*f)(void *), void *arg);
    00078   void SetButtonReleaseMethodArgDelete(void (*f)(void *));
    00079   void SetKeyPressMethod(void (*f)(void *), void *arg);
    00080   void SetKeyPressMethodArgDelete(void (*f)(void *));
    00081   void SetKeyReleaseMethod(void (*f)(void *), void *arg);
    00082   void SetKeyReleaseMethodArgDelete(void (*f)(void *));
    00083   void SetCharMethod(void (*f)(void *), void *arg);
    00084   void SetCharMethodArgDelete(void (*f)(void *));
    00085   void SetConfigureMethod(void (*f)(void *), void *arg);
    00086   void SetConfigureMethodArgDelete(void (*f)(void *));
    00087   void SetExposeMethod(void (*f)(void *), void *arg);
    00088   void SetExposeMethodArgDelete(void (*f)(void *));
    00089   void SetEnterMethod(void (*f)(void *), void *arg);
    00090   void SetEnterMethodArgDelete(void (*f)(void *));
    00091   void SetLeaveMethod(void (*f)(void *), void *arg);
    00092   void SetLeaveMethodArgDelete(void (*f)(void *));
    00093   void SetTimerMethod(void (*f)(void *), void *arg);
    00094   void SetTimerMethodArgDelete(void (*f)(void *));
    00095   void SetUserInteractionMethod(void (*f)(void *), void *arg);
    00096   void SetUserInteractionMethodArgDelete(void (*f)(void *));
    00097   void StartUserInteraction();
    00098   void EndUserInteraction();
    00100 #endif
    00101
    00103
    00107   vtkGetVector2Macro(LastPos,int);
    00109
    00111
    00114   vtkGetVector2Macro(OldPos,int);
    00116
    00118
    00120   vtkGetMacro(ShiftKey,int);
    00121   vtkGetMacro(CtrlKey,int);
    00123
    00125
    00126   vtkGetMacro(Char,int);
    00128
    00130
    00132   vtkGetStringMacro(KeySym);
    00134
    00136
    00138   vtkGetMacro(Button,int);
    00140
    00142
    00143   virtual void OnMouseMove();
    00144   virtual void OnLeftButtonDown();
    00145   virtual void OnLeftButtonUp();
    00146   virtual void OnMiddleButtonDown();
    00147   virtual void OnMiddleButtonUp();
    00148   virtual void OnRightButtonDown();
    00149   virtual void OnRightButtonUp();
    00151
    00153
    00154   virtual void OnChar();
    00155   virtual void OnKeyPress();
    00156   virtual void OnKeyRelease();
    00158
    00160
    00161   virtual void OnExpose();
    00162   virtual void OnConfigure();
    00163   virtual void OnEnter();
    00164   virtual void OnLeave();
    00166
    00167   virtual void OnTimer();
    00168
    00169 protected:
    00170
    00171   vtkInteractorStyleUser();
    00172   ~vtkInteractorStyleUser();
    00173
    00174   int LastPos[2];
    00175   int OldPos[2];
    00176
    00177   int ShiftKey;
    00178   int CtrlKey;
    00179   int Char;
    00180   char *KeySym;
    00181   int Button;
    00182
    00183   unsigned long MouseMoveTag;
    00184   unsigned long KeyPressTag;
    00185   unsigned long KeyReleaseTag;
    00186   unsigned long CharTag;
    00187   unsigned long EnterTag;
    00188   unsigned long LeaveTag;
    00189   unsigned long ExposeTag;
    00190   unsigned long ConfigureTag;
    00191   unsigned long TimerTag;
    00192   unsigned long UserTag;
    00193
    00194 #ifndef VTK_REMOVE_LEGACY_CODE
    00195   void vtkSetOldCallback(unsigned long &tag, unsigned long event,
    00196                          void (*f)(void *), void *arg);
    00197   void vtkSetOldDelete(unsigned long tag, void (*f)(void *));
    00198 #endif
    00199 private:
    00200   vtkInteractorStyleUser(const vtkInteractorStyleUser&);  // Not implemented.
    00201   void operator=(const vtkInteractorStyleUser&);  // Not implemented.
    00202 };
    00203
    00204 #endif