diff options
Diffstat (limited to 'indra/newview/lltoolpie.h')
-rw-r--r-- | indra/newview/lltoolpie.h | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/indra/newview/lltoolpie.h b/indra/newview/lltoolpie.h index 65cb3e36a7..22359a6db8 100644 --- a/indra/newview/lltoolpie.h +++ b/indra/newview/lltoolpie.h @@ -30,6 +30,7 @@ #include "lltool.h" #include "lluuid.h" #include "llviewerwindow.h" // for LLPickInfo +#include "llhudeffectblob.h" // for LLPointer<LLHudEffectBlob>, apparently class LLViewerObject; class LLObjectSelection; @@ -56,6 +57,7 @@ public: virtual void stopEditing(); virtual void onMouseCaptureLost(); + virtual void handleSelect(); virtual void handleDeselect(); virtual LLTool* getOverrideTool(MASK mask); @@ -64,6 +66,7 @@ public: LLViewerObject* getClickActionObject() { return mClickActionObject; } LLObjectSelection* getLeftClickSelection() { return (LLObjectSelection*)mLeftClickSelection; } void resetSelection(); + void blockClickToWalk() { mBlockClickToWalk = true; } static void selectionPropertiesReceived(); @@ -75,11 +78,12 @@ public: private: BOOL outsideSlop (S32 x, S32 y, S32 start_x, S32 start_y); - BOOL pickLeftMouseDownCallback(); - BOOL pickRightMouseDownCallback(); + BOOL handleLeftClickPick(); + BOOL handleRightClickPick(); BOOL useClickAction (MASK mask, LLViewerObject* object,LLViewerObject* parent); void showVisualContextMenuEffect(); + ECursorType cursorFromObject(LLViewerObject* object); bool handleMediaClick(const LLPickInfo& info); bool handleMediaHover(const LLPickInfo& info); @@ -87,17 +91,31 @@ private: BOOL handleTooltipLand(std::string line, std::string tooltip_msg); BOOL handleTooltipObject( LLViewerObject* hover_object, std::string line, std::string tooltip_msg); + void steerCameraWithMouse(S32 x, S32 y); + void startCameraSteering(); + void stopCameraSteering(); + bool inCameraSteerMode(); + private: - BOOL mGrabMouseButtonDown; - BOOL mMouseOutsideSlop; // for this drag, has mouse moved outside slop region + bool mMouseButtonDown; + bool mMouseOutsideSlop; // for this drag, has mouse moved outside slop region + S32 mMouseDownX; + S32 mMouseDownY; + S32 mMouseSteerX; + S32 mMouseSteerY; + LLPointer<LLHUDEffectBlob> mAutoPilotDestination; + LLPointer<LLHUDEffectBlob> mMouseSteerGrabPoint; + bool mClockwise; + bool mBlockClickToWalk; LLUUID mMediaMouseCaptureID; LLPickInfo mPick; LLPickInfo mHoverPick; + LLPickInfo mSteerPick; LLPointer<LLViewerObject> mClickActionObject; U8 mClickAction; LLSafeHandle<LLObjectSelection> mLeftClickSelection; - + BOOL mClickActionBuyEnabled; + BOOL mClickActionPayEnabled; }; - #endif |