00001 
00032 #ifndef LL_LLTOOLSELECTRECT_H
00033 #define LL_LLTOOLSELECTRECT_H
00034 
00035 #include "lltool.h"
00036 #include "lltoolselect.h"
00037 
00038 class LLToolSelectRect
00039 :       public LLToolSelect
00040 {
00041 public:
00042         LLToolSelectRect( LLToolComposite* composite );
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         virtual void    draw();                                                 
00048 
00049 protected:
00050         void                    handleRectangleSelection(S32 x, S32 y, MASK mask);      
00051         BOOL                    outsideSlop(S32 x, S32 y, S32 start_x, S32 start_y);
00052 
00053 protected:
00054         S32                             mDragStartX;                                    
00055         S32                             mDragStartY;                                    
00056 
00057         S32                             mDragEndX;
00058         S32                             mDragEndY;
00059 
00060         S32                             mDragLastWidth;
00061         S32                             mDragLastHeight;
00062 
00063         BOOL                    mMouseOutsideSlop;              
00064 };
00065 
00066 
00067 #endif