00001 00012 #ifndef SELECTOR6DINT_H 00013 #define SELECTOR6DINT_H 00014 00015 // Gluebase includes 00016 #define OUTSIDE_GLUE_CORE 00017 #include <fsa/fsa.H> 00018 #include <mlib/points.H> 00019 #include <dev/room6d.H> 00020 #include <dev/buttons.H> 00021 #include <config/config.H> 00022 #include <std/hash.H> 00023 00024 #include "DrawObj.H" 00025 00026 namespace InSpace { 00027 00028 class Selector6dInt : public Interactor<Selector6dInt> 00029 { 00030 public: 00031 00032 Selector6dInt(); 00033 virtual ~Selector6dInt() {} 00034 00035 protected: 00036 00037 void motion(cEVENTroom6dptr &evt, STATE *&); 00038 00039 void start_sel(cEVENTbtnptr &evt, STATE *&); 00040 void grab_current(cEVENTbtnptr &evt, STATE *&); 00041 void end_sel(cEVENTbtnptr &evt, STATE *&); 00042 00043 STATE _moving; 00044 00045 EVENTroom6dptr _tracker; 00046 EVENTbtnptr _selonbtn; 00047 EVENTbtnptr _grabcurbtn; 00048 EVENTbtnptr _seloffbtn; 00049 00050 DrawObj *_highlightedObj; 00051 00052 }; 00053 00054 } 00055 #endif