lltoolpie.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_TOOLPIE_H
00033 #define LL_TOOLPIE_H
00034 
00035 #include "lltool.h"
00036 #include "lluuid.h"
00037 
00038 class LLViewerObject;
00039 class LLObjectSelection;
00040 
00041 class LLToolPie : public LLTool, public LLSingleton<LLToolPie>
00042 {
00043 public:
00044         LLToolPie( );
00045 
00046         virtual BOOL            handleMouseDown(S32 x, S32 y, MASK mask);
00047         virtual BOOL            handleRightMouseDown(S32 x, S32 y, MASK mask);
00048         virtual BOOL            handleMouseUp(S32 x, S32 y, MASK mask);
00049         virtual BOOL            handleRightMouseUp(S32 x, S32 y, MASK mask);
00050         virtual BOOL            handleHover(S32 x, S32 y, MASK mask);
00051         virtual BOOL            handleDoubleClick(S32 x, S32 y, MASK mask);
00052 
00053         virtual void            render();
00054 
00055         virtual void            stopEditing();
00056 
00057         virtual void            onMouseCaptureLost();
00058         virtual void            handleDeselect();
00059         virtual LLTool*         getOverrideTool(MASK mask);
00060 
00061         static void                     leftMouseCallback(S32 x, S32 y, MASK mask);
00062         static void                     rightMouseCallback(S32 x, S32 y, MASK mask);
00063 
00064         static void                     selectionPropertiesReceived();
00065 
00066 protected:
00067         BOOL outsideSlop(S32 x, S32 y, S32 start_x, S32 start_y);
00068         BOOL pickAndShowMenu(S32 x, S32 y, MASK mask, BOOL edit_menu);
00069         BOOL useClickAction(BOOL always_show, MASK mask, LLViewerObject* object,
00070                                                 LLViewerObject* parent);
00071 
00072 protected:
00073         BOOL                            mPieMouseButtonDown;
00074         BOOL                            mGrabMouseButtonDown;
00075         BOOL                            mHitLand;
00076         LLUUID                          mHitObjectID;
00077         BOOL                            mMouseOutsideSlop;                              // for this drag, has mouse moved outside slop region
00078         static LLPointer<LLViewerObject> sClickActionObject;
00079         static U8                               sClickAction;
00080         static LLSafeHandle<LLObjectSelection> sLeftClickSelection;
00081 };
00082 
00083 
00084 #endif

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