00001 00032 #ifndef LL_TOOLOBJPICKER_H 00033 #define LL_TOOLOBJPICKER_H 00034 00035 #include "lltool.h" 00036 #include "v3math.h" 00037 #include "lluuid.h" 00038 00039 class LLToolObjPicker : public LLTool 00040 { 00041 public: 00042 LLToolObjPicker(); 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 handleSelect(); 00049 virtual void handleDeselect(); 00050 00051 virtual void onMouseCaptureLost(); 00052 00053 virtual void setExitCallback(void (*callback)(void *), void *callback_data); 00054 00055 LLUUID getObjectID() const { return mHitObjectID; } 00056 00057 static void pickCallback(S32 x, S32 y, MASK mask); 00058 00059 protected: 00060 BOOL mPicked; 00061 LLUUID mHitObjectID; 00062 void (*mExitCallback)(void *callback_data); 00063 void *mExitCallbackData; 00064 }; 00065 00066 extern LLToolObjPicker* gToolObjPicker; 00067 00068 #endif