summaryrefslogtreecommitdiff
path: root/indra/newview/lltoolgrab.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/lltoolgrab.h')
-rw-r--r--indra/newview/lltoolgrab.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/indra/newview/lltoolgrab.h b/indra/newview/lltoolgrab.h
index d744c495a5..696ce0742a 100644
--- a/indra/newview/lltoolgrab.h
+++ b/indra/newview/lltoolgrab.h
@@ -37,10 +37,12 @@
#include "llquaternion.h"
#include "llmemory.h"
#include "lluuid.h"
+#include "llviewerwindow.h" // for LLPickInfo
class LLView;
class LLTextBox;
class LLViewerObject;
+class LLPickInfo;
class LLToolGrab : public LLTool, public LLSingleton<LLToolGrab>
{
@@ -69,15 +71,15 @@ public:
LLVector3 getGrabOffset(S32 x, S32 y); // HACK
// Capture the mouse and start grabbing.
- BOOL handleObjectHit(LLViewerObject *objectp, S32 x, S32 y, MASK mask);
+ BOOL handleObjectHit(const LLPickInfo& info);
// Certain grabs should not highlight the "Build" toolbar button
BOOL getHideBuildHighlight() { return mHideBuildHighlight; }
- static void pickCallback(S32 x, S32 y, MASK mask);
+ static void pickCallback(const LLPickInfo& pick_info);
private:
LLVector3d getGrabPointGlobal();
- void startGrab(S32 x, S32 y);
+ void startGrab();
void stopGrab();
void startSpin();
@@ -85,6 +87,7 @@ private:
void handleHoverSpin(S32 x, S32 y, MASK mask);
void handleHoverActive(S32 x, S32 y, MASK mask);
+ void handleHoverNonPhysical(S32 x, S32 y, MASK mask);
void handleHoverInactive(S32 x, S32 y, MASK mask);
void handleHoverFailed(S32 x, S32 y, MASK mask);
@@ -96,29 +99,26 @@ private:
BOOL mVerticalDragging;
BOOL mHitLand;
- LLUUID mHitObjectID; // if hit something, its ID
- LLPointer<LLViewerObject> mGrabObject; // the object currently being grabbed
LLTimer mGrabTimer; // send simulator time between hover movements
LLVector3 mGrabOffsetFromCenterInitial; // meters from CG of object
- LLVector3 mGrabOffset; // how far cursor currently is from grab start point, meters
LLVector3d mGrabHiddenOffsetFromCamera; // in cursor hidden drag, how far is grab offset from camera
LLVector3d mDragStartPointGlobal; // projected into world
LLVector3d mDragStartFromCamera; // drag start relative to camera
+ LLPickInfo mGrabPick;
+
S32 mLastMouseX;
S32 mLastMouseY;
- S32 mMouseDownX;
- S32 mMouseDownY;
- MASK mMouseMask;
S32 mAccumDeltaX; // since cursor hidden, how far have you moved?
S32 mAccumDeltaY;
BOOL mHasMoved; // has mouse moved off center at all?
BOOL mOutsideSlop; // has mouse moved outside center 5 pixels?
BOOL mDeselectedThisClick;
+
BOOL mSpinGrabbing;
LLQuaternion mSpinRotation;
@@ -131,3 +131,4 @@ extern LLTool* gGrabTransientTool;
#endif // LL_TOOLGRAB_H
+