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 00024 class MouseNav : public Interactor<MouseNav> 00025 { 00026 public: 00027 00028 MouseNav(); 00029 virtual ~MouseNav(); 00030 00031 protected: 00032 00033 void nav_on(cEVENTbtnptr &evt, STATE *&); 00034 void nav_off(cEVENTbtnptr &evt, STATE *&); 00035 void nav_motion(cEVENT2dptr &evt, STATE* &next); 00036 00037 // nav motion will set the state so that one of these is called.. 00038 void pan_motion(cEVENT2dptr &evt, STATE *&); 00039 void dolly_motion(cEVENT2dptr &evt, STATE *&); 00040 void trackball_motion(cEVENT2dptr &evt, STATE *&); 00041 00042 EVENT2dptr _mouse2d; 00043 EVENTbtnptr _navbtnon; 00044 EVENTbtnptr _navbtnoff; 00045 00046 STATE _limbo; 00047 STATE _pan; 00048 STATE _dolly; 00049 STATE _trackballrotate; 00050 00051 double _dollyFactor; 00052 00053 DrawPoint *_rotPointMarker; 00054 00055 float _tballActiveDist; 00056 }; 00057 00058 00059 #endif