00001 #ifndef TRACKBALLCAMERA_H 00002 #define TRACKBALLCAMERA_H 00003 00004 #include <SDL.h> 00005 00006 class Transform; 00007 00008 class TrackBallCamera 00009 { 00010 public: 00011 TrackBallCamera(Transform* trans); 00012 00013 virtual void OnMouseMotion(const SDL_MouseMotionEvent & event); 00014 virtual void OnMouseButton(const SDL_MouseButtonEvent & event); 00015 virtual void OnKeyboard(const SDL_KeyboardEvent & event); 00016 00017 virtual void look(float elapsed_time); 00018 virtual void setMotionSensivity(double sensivity); 00019 virtual void setScrollSensivity(double sensivity); 00020 00021 virtual ~TrackBallCamera(); 00022 protected: 00023 Transform * transform; 00024 double _motionSensivity; 00025 double _scrollSensivity; 00026 bool _hold; 00027 double _distance; 00028 double _angleY; 00029 double _angleZ; 00030 SDL_Cursor * _hand1; 00031 SDL_Cursor * _hand2; 00032 }; 00033 00034 #endif //TRACKBALLCAMERA_H