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, 9 insertions, 10 deletions
diff --git a/indra/newview/lltoolgrab.h b/indra/newview/lltoolgrab.h
index 696ce0742a..d744c495a5 100644
--- a/indra/newview/lltoolgrab.h
+++ b/indra/newview/lltoolgrab.h
@@ -37,12 +37,10 @@
#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>
{
@@ -71,15 +69,15 @@ public:
LLVector3 getGrabOffset(S32 x, S32 y); // HACK
// Capture the mouse and start grabbing.
- BOOL handleObjectHit(const LLPickInfo& info);
+ BOOL handleObjectHit(LLViewerObject *objectp, S32 x, S32 y, MASK mask);
// Certain grabs should not highlight the "Build" toolbar button
BOOL getHideBuildHighlight() { return mHideBuildHighlight; }
- static void pickCallback(const LLPickInfo& pick_info);
+ static void pickCallback(S32 x, S32 y, MASK mask);
private:
LLVector3d getGrabPointGlobal();
- void startGrab();
+ void startGrab(S32 x, S32 y);
void stopGrab();
void startSpin();
@@ -87,7 +85,6 @@ 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);
@@ -99,26 +96,29 @@ 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,4 +131,3 @@ extern LLTool* gGrabTransientTool;
#endif // LL_TOOLGRAB_H
-