00001
00032 #ifndef LL_LLTOOLSELECTLAND_H
00033 #define LL_LLTOOLSELECTLAND_H
00034
00035 #include "lltool.h"
00036 #include "v3dmath.h"
00037
00038 class LLParcelSelection;
00039
00040 class LLToolSelectLand
00041 : public LLTool
00042 {
00043 public:
00044 LLToolSelectLand( );
00045 virtual ~LLToolSelectLand();
00046
00047 BOOL handleMouseDown(S32 x, S32 y, MASK mask);
00048 BOOL handleDoubleClick(S32 x, S32 y, MASK mask);
00049 BOOL handleMouseUp(S32 x, S32 y, MASK mask);
00050 BOOL handleHover(S32 x, S32 y, MASK mask);
00051 void render();
00052 BOOL isAlwaysRendered() { return TRUE; }
00053
00054 void handleSelect();
00055 void handleDeselect();
00056
00057 protected:
00058 BOOL outsideSlop(S32 x, S32 y, S32 start_x, S32 start_y);
00059 void roundXY(LLVector3d& vec);
00060
00061 protected:
00062 LLVector3d mDragStartGlobal;
00063 LLVector3d mDragEndGlobal;
00064 BOOL mDragEndValid;
00065
00066 S32 mDragStartX;
00067 S32 mDragStartY;
00068
00069 S32 mDragEndX;
00070 S32 mDragEndY;
00071
00072 BOOL mMouseOutsideSlop;
00073
00074 LLVector3d mWestSouthBottom;
00075 LLVector3d mEastNorthTop;
00076
00077 BOOL mLastShowParcelOwners;
00078 LLHandle<LLParcelSelection> mSelection;
00079 };
00080
00081 extern LLToolSelectLand *gToolParcel;
00082
00083 #endif