lltoolfocus.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLTOOLFOCUS_H
00033 #define LL_LLTOOLFOCUS_H
00034 
00035 #include "lltool.h"
00036 
00037 class LLToolCamera
00038 :       public LLTool, public LLSingleton<LLToolCamera>
00039 {
00040 public:
00041         LLToolCamera();
00042         virtual ~LLToolCamera();
00043 
00044         virtual BOOL    handleMouseDown(S32 x, S32 y, MASK mask);
00045         virtual BOOL    handleMouseUp(S32 x, S32 y, MASK mask);
00046         virtual BOOL    handleHover(S32 x, S32 y, MASK mask);
00047 
00048         virtual void    onMouseCaptureLost();
00049 
00050         virtual void    handleSelect();
00051         virtual void    handleDeselect();
00052 
00053         virtual LLTool* getOverrideTool(MASK mask) { return NULL; }
00054 
00055         static void pickCallback(S32 x, S32 y, MASK mask);
00056         BOOL mouseSteerMode() { return mMouseSteering; }
00057 
00058 protected:
00059         // called from handleMouseUp and onMouseCaptureLost to "let go"
00060         // of the mouse and make it visible JC
00061         void releaseMouse();
00062 
00063 protected:
00064         S32             mAccumX;
00065         S32             mAccumY;
00066         S32             mMouseDownX;
00067         S32             mMouseDownY;
00068         BOOL    mOutsideSlopX;
00069         BOOL    mOutsideSlopY;
00070         BOOL    mValidClickPoint;
00071         BOOL    mMouseSteering;
00072         S32             mMouseUpX;      // needed for releaseMouse()
00073         S32             mMouseUpY;
00074         MASK    mMouseUpMask;
00075 };
00076 
00077 
00078 extern BOOL gCameraBtnOrbit;
00079 extern BOOL gCameraBtnPan;
00080 extern BOOL gCameraBtnZoom;
00081 
00082 #endif

Generated on Fri May 16 08:34:07 2008 for SecondLife by  doxygen 1.5.5