Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

MouseNav.H

Go to the documentation of this file.
00001 
00010 #ifndef MOUSEINT_H
00011 #define MOUSEINT_H
00012 
00013 #include "DrawPoint.H"
00014 
00015 // gluebase includes
00016 #define OUTSIDE_GLUE_CORE
00017 #include <fsa/fsa.H>
00018 #include <dev/buttons.H>
00019 #include <dev/dev2d.H>
00020 #include <config/config.H>
00021 #include <mlib/points.H>
00022 
00023 namespace InSpace {
00024 
00025 class MouseNav : public Interactor<MouseNav>
00026 {
00027  public:
00028   
00029   MouseNav();
00030   virtual ~MouseNav();
00031 
00032  protected:
00033 
00034   void nav_on(cEVENTbtnptr &evt, STATE *&);
00035   void nav_off(cEVENTbtnptr &evt, STATE *&);
00036   void nav_motion(cEVENT2dptr &evt, STATE* &next);
00037 
00038   // nav motion will set the state so that one of these is called..
00039   void pan_motion(cEVENT2dptr &evt, STATE *&);
00040   void dolly_motion(cEVENT2dptr &evt, STATE *&);
00041   void trackball_motion(cEVENT2dptr &evt, STATE *&);
00042 
00043   EVENT2dptr     _mouse2d;
00044   EVENTbtnptr    _navbtnon;
00045   EVENTbtnptr    _navbtnoff;
00046 
00047   STATE _limbo;
00048   STATE _pan;
00049   STATE _dolly;
00050   STATE _trackballrotate;
00051 
00052   double _dollyFactor;
00053 
00054   DrawPoint *_rotPointMarker;
00055 
00056   float _tballActiveDist;
00057 };
00058 
00059 }
00060 #endif

Generated on Thu Jul 8 15:19:28 2004 for inspace by doxygen 1.3.4